
拾光记014 文化资本

四月底完成了红书年审,这是第二年进行红书认证了,第一次认证名称审核很松,轻松认证了想要的名字,这次年审换工作人员了要么有商标证书,要么和公司名称挂钩。运气太好了,夕格票务和公司名称无关,商标也没有。
尝试多次提交多次被拒绝,不得不改为公司挂钩,红书名称变了,微信和企业微信也跟着变,影响其实蛮大的,因为红书账户内容多数含有原名称字样,突然来个不相关的名字,莫名其妙,另外也非常不利于老客户推荐新客,一搜索旧名称啥都没了,太尴尬了。
经过一小段时间冷却、学习,今天终于完成注册申请,从某宝上找的代理,实在太便宜了,有想法的友友都可以注册起来,记录下详细的注册流程和注意事项。
近几天丽江突然进入雨季,应该说整个云南都在下雨,从二十三号下到了现在,这两天稍微好些,不再是全天暴雨模式,有了阴天或短暂的晴天。天气变化带来的是游客行程的变化,因雨天雾天,玉龙雪山经常看不见,到了山顶能见度低雨又大,不少游客直接放弃雪山行程,结果是近一周票务订单骤减到了零。
这就是单一模式的缺点,紧张时票不够,不紧张时票多到没人要,这几天票不用抢,甚至游客到游客中心现场都能买到,红书等平台流量也骤减,简单说就是这样情况下票务没生意了。
类似短暂的情况从刚开始干到现在经历了多回,无数次想扩展多次进行了扩展尝试,终于借助这个短暂的淡季做了一些调整,绕来绕去还是回到了最开始规划的高定旅行。
2025年6月7日,天气晴转阴,今天是时隔6年再次去饭能的《前进吧!登山少女/向山进发》圣地巡礼。
最近有一名大佬希望我能当导游去游览《前进吧!登山少女/向山进发》的圣地。于是想着作为来日本的第一次圣地巡礼也过了将近6年了,这6年的时间拍摄设备甚至博客都有了大变化,就想着用新设备记录饭能市区的变化,就答应了大佬的请求,去饭能进行了第二次巡礼。
按照惯例先去逛逛饭能的观光案内所。
上全景。
大体布局没有什么变化,海报换了一批呢!
在案内所,工作人员贴心的跟我们介绍在ひだまり山荘有限定的谷子贩卖,而ひだまり山荘在今年3月也从饭能车站移动到了车站附近的公寓下面。
店铺地址: https://maps.app.goo.gl/t7aLXBvtk1bPw4Pu7
门口的照片。
作品区。
很可惜,当年在天览山登山口的TIMESMART已经闭店了。
取而代之的是一家位于饭能车站附近的一家迷你版的TIMESMART,只有双休日营业,可以说是粉丝的休息驿站了。
门口的立牌好怀念呀!
店内的全景。
细节照片。
能感受到对于作品的爱仍然没有减少呢!
我点了一份酸梅饭团和香草冰淇淋。
不同于便利店那种工业化的饭团,这里的饭团是手作的,吃起来口感和味道非常不错。
结完账后店长送了我们两张作品的卡片作为了纪念。谢谢店长!
店铺地址: https://maps.app.goo.gl/njNRH4fBGPJr1FtX6
葵打工的店完全装修了一遍。
上次吃荞麦面的枫的立牌似乎已经饱受沧桑😭。
观音寺倒是变化不大,绘马看上去也有新的。
这边一如既往的热闹呢,也没有什么变化。
由于今日又热又闷,于是就在饭能河原附近寻找起了咖啡馆什么的。
结果一眼就看到了评分4.9(满分5分),评价写着对宅男超友好的咖啡馆,这一下子就吸引了我们,于是就决定前往一探究竟。
这一到店门口就感觉事情并不简单。
进入店内真的大开眼界!
细节照片。
琳琅满目的周边摆满了整个店,真的好强啊!
店长也非常健谈,在点完饮料之后便和店长聊了起来,店长在得知我们是《向山进发》的圣地巡礼之后非常贴心的把BGM换成了作品的曲目,并且推荐了我们非常硬核的圣地巡礼线路,真的是对宅男非常友好的咖啡馆呢!
在和店长聊天中得知,店长是因为《向山进发》这部作品,移居到了饭能并且买下了这栋房子,工作日做本职工作,休息日开开咖啡馆,真是羡慕的生活呀!
这家店开店有大约4年的时间,起初并没有这么多周边,是随着访客不断赠送周边,才逐渐有了现在这样琳琅满目的周边装饰。
说着还送了我们几件周边,真的太友好啦!
就这样,我们和店长以及店里另外一位客人聊了许多喜欢的话题,一度忘记了时间。
如果看到这篇文章的大佬们对这家店有兴趣的话,不妨也去拜访一下这家超友好的咖啡馆哦!
店名:Stage Champ.
地址: https://maps.app.goo.gl/6BcmbqMHZkzgo1ub7
另外这家咖啡馆仅在周末营业喔!
此次行程的终点天览山。
首先是登山口的旧TIMESMART的地方,现在似乎作为办公区域了?
然后按照上次的线路来到了山顶。
相比较上次,这次的天气要更好一些。
按照指引寻找了一下对应的目标。
毕竟现在有了x5的手机镜头了😎。
富士山,可以看到一个非常淡的轮廓呢!
大室山也是非常淡的轮廓。
新宿方向。
池袋方向,以及天空树几乎不可见。
以上就是此次圣地巡礼的全部内容了。
看来6年的时间里,饭能市区的变化确实挺大的,很多圣地也发生了变化,所以圣地巡礼还是要趁早比较好。
不过相对应的,出现了当年没有的新鲜事物比如这次的Stage Champ.咖啡馆。
明天将继续埼玉县的圣地巡礼,敬请期待下一篇文章。
近期掏了抖音福袋窝,短期内掌握了技巧中好些个零元福袋,其中就有拉市海湿地公园门票,记得上回说运气差,这不简单研究了下中奖不断,果然很多事经不起认真,因为认真你就赢麻了哈。
门票福袋有时间限制,五号到十号有两张到期,其实近期拉市海去过了且有了记录文,有点不想去实在没啥好看的,但孩子妈说还是去吧,过期浪费蛮可惜的,反正出去总比在家你看我我看你强呀,说不定去了还有意外收获。
果然,重复做同样的事久了总能有意外收获,这几天去了两次,两次都有不一样的收获。
周末在饭能进行圣地巡礼时,偶然发现了一家对动漫爱好者超级友好的咖啡厅。
店长因为喜欢《登山少女/向山进发》这部作品,特地移居到饭能并开设了这家咖啡厅。最初店内的装饰并不多,如今之所以这么丰富,是因为这几年不断有动漫爱好者们带来各种装饰物,才让咖啡厅变成了现在看到的样子。
如果有机会来日本饭能,一定不要错过这家咖啡厅——Stage Champ。
咖啡厅地址:https://maps.app.goo.gl/zvQA9eJFRfSxs7PH6
注意:这家咖啡厅仅在周末营业哦。
分享几个近期好物。
这段时间,晚上下班回家,我没有选择刷剧、打游戏,而是做了一件既轻松又有点意思的事:测试 AI 编程的可行性。
我没有“全权托付”给 AI,也不是整晚死磕写代码,而是用了一种非常自然的方式:有点像有人在和你聊天,你只需要时不时回一句,指明一下方向,他就能继续往下做。这就是我和 Codex 的工作模式:我说思路,AI写代码,我再评估与修正。
于是,就有了这个小项目:AutoClick - 一个轻量的自动化点击工具。
AutoClick 是一款基于 Python + OpenCV 开发的图像识别类自动化工具,目标是帮助用户高效完成重复的鼠标点击与测试工作。支持多平台运行(Windows、Linux、macOS),拥有完整的图形界面,已经能独立胜任一些基础的桌面自动化任务。
它能做的事情包括:
项目主页:
👉 https://github.com/KeyleXiao/AutoClick
这个项目的最大亮点,其实不是它实现了什么功能,而是它是 AI 辅助开发的产物,从立项到落地我几乎没有专门“抽时间写代码”,而是利用零碎时间,和 AI 对话、沟通、让它生成代码、再测试、再纠正。
我得出一个有意思的结论:
AI时代,人人都可以是项目经理,但并不是人人都能单兵作战。
AI 很擅长执行,写细节、封装逻辑、补全函数、改UI、加配置……这些它样样精通。但前提是:你要懂你在做什么。
你要能告诉它你需要什么样的识别逻辑、哪个模块该怎么连接、为啥要用 ORB 而不是别的特征算法。否则你得到的只是一个代码堆砌的“黑盒”,根本无法维护。
这就像一个项目里,如果你只能说“我想实现某某功能”,却不懂技术、不懂数据结构、不知道系统之间如何通信,那你就只是一个“提需求的人”。
但在 AI 时代,你如果掌握全局业务逻辑,并能选用熟悉的技术栈,比如 Python,那么你就是一个真正有掌控力的指挥官:
在这个项目里我就明确选择了 Python 作为基石语言。为什么?
因为我熟。熟意味着我能看懂 AI 写出来的东西,能判断逻辑是否合理,能补漏洞,也能重构。而不是每次出错都要重新向 AI 求助,却连错误是啥都说不清。
所以我非常建议:
用你最熟的语言,做你最懂的事,然后让 AI 成为你最强的外援。
如果你对 AI 编程、桌面自动化、图像识别有兴趣,欢迎 Fork 项目试试看:
🔗 AutoClick on GitHub
或者你也可以把自己的业务流程交给 AI 帮忙实现一遍,看看你是否具备“带队写代码”的能力。这个时代,真的已经不同了。
前篇RSS记录说到了要调整,说干就干。精简再度优化,完善工具,不过度消耗时间和精力。经过慎重测试考虑后,停掉了RsstoEmail这个订阅工具,停掉了蚁阅,RSS阅读工具再次回到了FreshRSS和Folo,几天对比和研究,再度升级了下。
前篇文之前CSS功能等还是至少半年以上折腾的,这半年多多发生了些变化,比如浏览器从火狐换到了谷歌,比如有包年的VPN。新浏览器上原来写的CSS出现了兼容问题,再有就是之前自己调整的代码都是直接改的代码,更新升级简直要命。
所以呢换了浏览器后迟迟没有修复兼容,甚至差不多一年没有升级FrshRSS版本,前几天一看居然有七八个版本要升级。一个一个点升级,结果是模板和功能全部被覆盖了,虽然我备份了,但是我想换种更为一劳永逸的办法了。
有了VPN完全可以轻松访问FreshRSS的应用中心,插件都可以使用了。原来的三栏功能找到了替代的插件,插件形式后续更新就不用再改代码了;个性化的CSS这次找到了自定义CSS和JS插件,全部用CSS和JS后台写,这样就脱离了程序文件,尽量不动程序代码,后续有新版随便升级。
喜欢蚁阅的CSS,反正都是重来,干脆就模仿下,这下就不怎么留恋蚁阅的简单高效体验。AI真的好用,目前三个RSS阅读工具,三个的源头都有些不一样,同步起来很麻烦,不智能,比如Folo居然告诉我超过限制数量了,FreshRSS重复的也会导入,反正就是体验不好,三个平台源头导出交给AI,让其分析三个文件,然后相互补充,生成全新文件,轻松导入下实现三个平台源头同步。
这次导入后还是发现FreshRSS的兼容性还是不如蚁阅,多个蚁阅可以用的源头到它就不行了。
出于一劳永逸的目的,这次的FreshRSS完善很不错,完全是在谷歌浏览器下完善,完美兼容谷歌,然后一看其他浏览器也完美。还是喜欢的三栏,元素大幅度减少,新增订阅、设置归到了右上角,且加了个手动刷新按钮,完美衔接。模板就一个,无限接近夜间模式,不让其随浏览器变化。
近几天Folo投入正常使用了,又发现了几个不错的功能,比如AI总结、AI翻译,国外信息阅读真的太完美了,中英段落式排版,体验极好。
昨天测试安装服务器主板,装好后,开机按钮按了没反应,测试电源线和排插都是正常的,还好主板上有一个很小的黑色按钮,可以按开机也正常开机了,说明可能是机箱开关的问题,但开机和重启两个键都不能用,硬盘灯和电源灯显示是正常的,总不可能两个键同时坏吧。
于是我拔了跳线,用螺丝刀短接也不能正常开机,感觉可能是主板或静电的问题。最后换了桌面开关发现正常了,再短接也正常了,说明刚才可能是我短接没有操作好,真的是机箱的开机和重启两个键同时坏 ::twemoji:sweat::
开机问题解决了,又遇到内存插上后不能开机的问题,代码b0,搜索是内存没有插好造成的,反复插也不行,最后发现只要插灰色的插槽都能正常启动,插黑色的就不可以,最后技术那里反馈确实是这样设计的:灰色为主插槽,黑色为副插槽,主插槽要插满的情况下,再插副插槽才可以启动,如果只插副插槽也不能启动的。
我会去插黑色的插槽是因为主板官方说明书上说,CPU下方黑色插槽为主插槽,这显然是标注错误,我反馈给了技术,他们说确实是标错了,会叫美工修改,害我忙活了一下午。。。
昨天做了个纠结了许久的决定:陆续停掉孩子妈的副业,差不多干了一年了,具体启动时间忘记了,有过记录但是懒得去翻了。刚来这村子,经历几次搬家几次找房后发现了村中租房的痛点,第一时间寻找房源谈合作,前后达成7栋村中自建房的托管代租。
刚开始蛮好的,差不多都是新建的房子,他们年轻人都工作没时间推广宣传,更没时间带看房,家里老人干不了这事。当时我们的介入对他们来说真的太好了,当然对我们来说也不错,他们的屋子租出去了,我们获得不错的收入。
但是,陆陆续续的变了,不是那么好干
DR: Frequently, I write articles for various Gettysburg area publications promoting the library where I work. As an organization, we supply a minimum of three articles to these publications each week. That’s 156 articles each year written by ten or fifteen employees. As you can imagine, it gets hard to keep the content fresh. As my company’s finance directory, my area of expertise can be pretty dull—where our funding comes from, what we spend it on—especially if I regurgitate the same information eight or nine times per year. I rarely write about the finances.
The other writers each have a programmatic area they oversee with events planned several times per month. For them, coming up with article topics, I assume, is as simple as looking at the calendar. On the other hand, my topics tend to be random and offbeat, sort of whatever pops into my head that week (very much like my blog). Below is the article I submitted this week on library materials for the visually impaired. I think it’s a clever take on a serious topic and an entertaining way to convey the information.
I wanted to post it here, because while the county-specific figures I’ve included are only pertinent locally, I think the general topic holds true for most public libraries.
What I wrote:
~ ~ ~
[Rod Serling voice-over]: Consider Mr. Henry Bemis, a small, quiet man in a large, bustling city. A bespeckled, strange character who prefers to immerse himself in books rather than live his life. Due to a demanding boss and his scornful wife, Mr. Bemis can’t find a quiet moment to read. In just a moment, fate will conspire to offer Mr. Bemis ample time with no distractions, a world to himself with unlimited books, in the Twilight Zone (cue music).
Do you remember this episode? Time Enough at Last has been ranked repeatedly as the number one fan favorite from The Twilight Zone’s five season run. It’s been decades since I’ve watched any episodes (except this one, which I watched this morning at four a.m.), but I can still remember quite a few plot-lines I prefer to this one. Regardless, a library article is nothing without books, so this is the episode I chose.
Henry Bemis, a bank teller, sneaks away to the vault for his lunch break—a quiet place where no one is likely to find him. As he dines, he dives into Dickens’ David Copperfield, a book he’s been trying to steal time to read since the beginning of the episode. Suddenly, the vault is shaken by a massive explosion that renders Henry unconscious. When he comes to hours later, he learns that an atomic war has destroyed civilization. He is only spared by the lead-lined, underground vault where he hid to read.
Inspecting his city, he finds nothing but destruction. No intact buildings and no people either. In the ruins of a grocery store, he finds countless cans of food strewn about. “Well, I won’t starve,” he says to himself. Henry’s inability to find any other survivors threatens to drive him mad. He’s about at his end when he realizes he’s wandered in to the ruins of the city library. Books are scattered about the street. As Henry collects them, he rattles off an account of the prizes he has found: “The works of Charles Dickens, the works of George Bernard Shaw, Shelly, Browning, Keats, Shakespeare, all the books I’ll ever want, all the books I need.”
As Henry celebrates his good fortune and newfound reason to live, he stumbles on some rubble and his glasses fall to the ground. The lenses break into pieces. The camera view shifts to Henry’s blurry vision. No more reading for him. Yet another ironic twist… in The Twilight Zone.
Sigh! If this exact scenario happens to you, don’t freak out. The Adams County Library System has several options for visually impaired readers.
First and foremost, we have a huge collection of large print books, 4,500 of them in all genres to choose from. They are just like the rest of our books, except the font is increased so people with eyesight issues can still read the words.
If the internet is working, which it is today and might be even after a nuclear holocaust, you have our eCollection to explore. Despite your vision troubles, our 43,000 eAudio Books are always an option. They are just like books on CD, except you can stream them through your device. And with font-sizing options on most eReaders, any of our 89,000 eBooks can now serve as a large print book.
On the outside chance that the internet disappears forever, simply find some batteries amidst the canned goods scattered around the wreckage of any former grocery store. You can fire up a battery-operated CD player and borrow some of our 3,600 Audio Books.
I think we readers are always looking for “time enough” to delve into our books. Hopefully we won’t need to wait for Armageddon to carve out that time. But for those who aren’t reading now because seeing the print is too challenging, please explore these options.
Lastly, the federal government and the Pennsylvania government run programs for visually impaired people. Books come by mail preloaded on audio devices. These devices are simple to use and 100% free. Ask at any branch for help signing up for one or both of these services.
Jeff Cann
Finance Director and Sci-Fi Nerd
Adams County Library System
说明:由于CTList
因为接口问题导致程序无法使用,加上存在一些问题,所以直接放弃更新;最近萌咖大佬抽时间,摒弃CTlist
的短板,开发了新的列表程序,这里暂且命名189List
,可以说几乎将性能优化到极致,之前爆内存等问题统统不存在了,且安装配置更加简单。
当然,如今用天翼网盘的人估计也不多了,也不怕被滥用,所以现在的程序已经不需要授权码了,直接可以使用,且样式和CTlist
差不多,这里就不截图了。
PotPlayer
(WebDAV
), nPlayer
(WebDAV
),kodi
(WebDAV
)Github地址:https://github.com/MoeClub/vList/tree/master/189List
这里只说Linux
的用法。
1、安装CTList
#新建并进入CTList目录
mkdir /opt/189List && cd $_
#64位系统下载
wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/amd64/linux/189List
#32位系统下载
wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/i386/linux/189List
#arm32架构下载
wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/arm/linux/189List
#arm64架构下载
wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/arm64/linux/189List
下载好二进制后,继续使用命令:
#给予权限
chmod +x 189List
#下载主题文件
wget https://raw.githubusercontent.com/MoeClub/vList/master/index.html
2、新建配置文件
vi /opt/189List/config.json
首先按一下键盘的i
键,进入编辑模式,这时候可以使用键盘进行编辑,编辑代码详解如下:
#单账号,rootId为展示的目录id,默认为根目录;rootPath指定某账户访问路径, 如ip:8000/189List,多账户时每个路径必须唯一
[
{
"user": "手机号",
"passwd": "密码",
"rootId": "-11",
"rootPath": "/189List"
}
]
#多账号,以下为2个账号,有几个复制几个,注意用英文逗号分隔
[
{
"user": "手机号",
"passwd": "密码",
"rootId": "-11",
"rootPath": "/189List"
},
{
"user": "手机号",
"passwd": "密码",
"rootId": "-11",
"rootPath": "/189List"
}
]
全部编辑好了后,按一下键盘的esc
键退出编辑模式,接下来输入英文:wq
,enter
键确定,即保存退出。
全部配置参数详情参考,可根据需求自行加入:
#json文件格式标准中规定最后一行数据没有逗号.
[
{
"disable": false,
// 是否关闭该配置
"user": "手机号",
"passwd": "密码",
"rootId": "-11",
// 根目录文件夹ID, 默认 -11
"rootPath": "/Cloud189",
// 挂载的虚拟路径
"authItem": "abc:123@/Movie|xyz:456@/Private/*",
// HTTP 401 加密项, 以 | 为分隔符. 可以 * 结尾匹配路径. 路径为去掉挂载虚拟路径后的路径.
// abc:123@/Movie 当访问 /Cloud189/Movie 时需要提供用户名 abc 和 密码 123, 但 /Cloud189/Movie 下的子项无需提供用户名密码.
// xyz:456@/Private/* 当访问 /Cloud189/Private 及其子项时需要提供用户名 xyz 和 密码 456.
"nodeInterval": 1800,
// 目录刷新间隔, 最小值: 300
"linkInterval": 300
// 下载链接刷新间隔, 最小值: 60, 最大值 360
}
]
3、调高limits
这里调整下limits
,linux
下可能由于高并发情况下会出错,使用命令:
[ -f /etc/security/limits.conf ] && LIMIT='262144' && sed -i '/^\(\*\|root\)[[:space:]]*\(hard\|soft\)[[:space:]]*\(nofile\|memlock\)/d' /etc/security/limits.conf && echo -ne "*\thard\tmemlock\t${LIMIT}\n*\tsoft\tmemlock\t${LIMIT}\nroot\thard\tmemlock\t${LIMIT}\nroot\tsoft\tmemlock\t${LIMIT}\n*\thard\tnofile\t${LIMIT}\n*\tsoft\tnofile\t${LIMIT}\nroot\thard\tnofile\t${LIMIT}\nroot\tsoft\tnofile\t${LIMIT}\n\n" >>/etc/security/limits.conf
windows
系统下不需要调。
4、启动189List
新建一个简单的systemd
配置文件,适用CentOS 7
、Debian 8+
、Ubuntu 16+
。
使用命令:
#设置你的运行监听端口,即你可以通过ip:端口访问程序,这里默认8000。
port="8000"
#将以下代码一起复制到SSH运行
cat > /etc/systemd/system/189list.service <<EOF
[Unit]
Description=189list
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/189List
ExecStart=/opt/189List/189List -bind 0.0.0.0 -port ${port}
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#启动并设置开机自启
systemctl start 189list
systemctl enable 189list
相关命令:
启动:systemctl start 189list
停止:systemctl stop 189list
重启:systemctl restart 189list
查看状态:systemctl status 189list
启动后就可以使用ip:8000
或其它端口访问程序列表了,有些访问不了的注意下防火墙端口没打开,可使用命令:
#CentOS 7
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload
#Debian/Ubuntu
ufw allow 8000
安装过宝塔面板的,可以直接去后台安全组开放端口,且有些服务商,如阿里云,腾讯云还需要去后台面板的安全组开放该端口才可以访问。
提示:有宝塔面板的直接安装nginx绑定,没有的就可以使用caddy,2选1即可。
先进入宝塔面板,然后点击左侧网站,添加站点,再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:8000
,不要设置缓存,再启用反向代理即可。
如果要启用SSL
,就需要在设置反向代理之前,直接在站点配置点击SSL
,申请免费let
证书,然后再启用反代即可。
安装Caddy
:
mkdir /usr/local/caddy
wget -O /usr/local/caddy/caddy "https://caddyserver.com/api/download?os=linux&arch=amd64"
chmod +x /usr/local/caddy/caddy
配置Caddy
:
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
echo "https://www.moerats.com {
reverse_proxy 127.0.0.1:8000 {
header_up X-Real-IP {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}"> /usr/local/caddy/Caddyfile
注意该配置会自动配置ssl
证书,请提前解析好域名并生效,且服务器80/443
端口为开放状态,不然绑定会出错。
启动Caddy
:
#将以下代码一起复制到SSH运行
cat > /etc/systemd/system/caddy.service <<EOF
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
User=root
ExecStart=/usr/local/caddy/caddy run --environ --config /usr/local/caddy/Caddyfile
ExecReload=/usr/local/caddy/caddy reload --config /usr/local/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
EOF
#启动并设置开机自启
systemctl start caddy
systemctl enable caddy
就可以打开域名进行访问了。
最后更多功能和参数还在调试中,后续放出来;使用过程中有BUG
也可以随时反馈。
说明:之前介绍过很多OneDrive
和Google Drive
网盘目录列表程序,但在国内使用的话,网络速度都不理想。最近使用天翼云网盘的人开始多了起来,在国内使用的话,速度还是很不错的,毕竟由电信骨干网支持,国内AWS
为文件实际储存节点,基本上速度都是秒开,当然,看片也是无需等待,这里萌咖大佬就写了个天翼云网盘的目录列表程序CTList
,安装也是十分简单,和博主之前介绍的OneList
差不多,整个站点目录支持在nPlayer
播放器中使用,之前通过BUG
撸的30T
和老用户10T
和2T
空间的都可以利用一下,对于新用户,现在默认30G
空间,但经常有送容量的活动,这里就说下安装方法。
【2021.07.30】
1、修复因天翼更换登陆接口造成登录失败的问题,直接从github下载文件覆盖即可
【2021.06.01】
1、适配kodi(WebDAV)
2、优化性能
【2020.05.10】
优化文件访问/下载速度,已安装过的建议更新下,最新版地址:https://github.com/iiiiiii1/CTList。
【2020.04.23】
1、改善cookies保活机制
2、增加强制HTML/WebDAV配置项
3、加快资源释放
【2020.04.20】
现在开始停止送码,基本上留过言的都送了,项目暂时不会开发新功能,遇到BUG的留言即可。
【2020.04.19】
修复部分BUG,已使用上的可以进行更新修复
【2020.04.15】
该项目暂时关闭,重新补发30个码,安装了未激活的或者已用的可以继续激活使用。
PotPlayer
(WebDAV
), nPlayer
(WebDAV
),kodi
(WebDAV
)提示:获取到授权码后,只能和绑定的账号一起用,在任意服务器都可以安装使用。
CTList Apply Token
申请码:
#2020.4.14
2674253DF2154B5A00F5DF05756E7652
9D0B2F6DFA114276DD9A954E6F9948DA
6190D9FF0597748CF164899045D4E210
B2329E6485CD5B7694D0719BF958131E
65F0062A94F68E0179B244D636D89BCD
61683B9642E04DFF0B9353E2E990FF32
231676C503495F33E738C64E791064E9
A656DF714A20A0D2D5E279D16983AB33
D81B56EFA750E69A9AB5EE131F56E4F1
A5177158C8FC44FB8D177B22684954F1
A14519C669990E611F06F5239B0690D2
43A81E7BE5AD2369DA81B7B31FBB4F69
28C3EBC5CB06A6CA9F0BE2F7A42D6F4A
C9E223825FD750FAD4FFEF2F5BBB603E
D77462297AF7F3C333770CAFA7A99CBB
0A65F0E3C54D01502AE1D987BEA1EF89
BDC77BE0C3C504CBC6861D19654ACAF9
D87CF362094468706A7C96F4CE190862
629B180D9AA05B340EFB140B796BF4FD
60EF6F6B8FF478F06EBBA5F8D097786F
1C0A10B53D249A276C9BEDEF98E5F9A3
BFD242F9E7E2E861AAC2C7C3AFF05418
4075B20EBCBFDEBD2B7341327E4D7A95
44CD247E86EF17BFB850A1ED1F29B868
832749B873F8B3AB20271FAA9CBD108E
C0FBDC73C6445660753173E4904270C7
A85895DCB7281C9A5C97B6BEC8F24525
064C591C151D8F14000E975E61FC606E
7E09D3E6C88FD1E40D75DDA0A86BDD26
8AC4C583974E70256E1B6F994947768C
#2020.4.15新增
619A60E465F6384E6E612A39E9792A02
76F3BCD10C053DE6F590E988B5794B73
3E3B5E2EBF9B7283E4D83BD6E7A22A4D
E016F9D4E7151252978396750464B7A6
BFDBAFAC6555D3D684808C79EEC89CD7
5C5C8313311ECC9AA2CE2124D7BEDE08
9A5CA3744DCD93399C0208D8F080A345
D0378BA424E024D9A7E6AFEDCF072892
2482219C2DB38A28B693C83123ECD330
1650CE4BA08450B3069877D3196CA580
C697525F70C3573A3BFFC35A593C882B
4010DB574F9E8BC6FCE699F7EED69291
912185D9CC84F7D88079408A4C315B05
C20341E5B58D429D96A95E4129D5F853
ADA16FC3CC9791041187E8E3DA734D2E
56CA0807F24FC7BF005CA61E59A3E562
18EDA147D328AE8E715FDEF465216672
7B3E000B3EA890C76620CB3F749DFD07
135EE1FDE7B0478E8816CFB8A707FDED
651CFE6712CC68CAB511854E5FC96B04
E7008EEC4B54ED547C3A401B6E9ACB10
8390CFC71D159058615798F55D4D4D6D
2E7C42E0D395B7D66DEE2C6A80116BF4
4C9F2B93B501653308970BB20E556A1D
4D48D713CE4D552955905E5A4E78C7AD
4438DC2F531054A9279A1745FF582530
E154D7F9A7D5A3B493D642C394A38640
976130C15FE5D932F8FF86C0E54F671C
CD0A3D8DB4079DFDF51802019D8EB95D
240EF1812AE40B5F494A4134E0F309B4
FF949E15A4BBD497C276497337266481
B79DDA22666B855CED75218526998BF9
F279A5404431D34A5320D15247ED4E32
DA56FAF28AA55EB3F2C27FE22BAC6443
0123798B2BFAF5648E76ADD6D37A8A99
EDD59DCE9717DEF0684B44AA55F3220D
25DFE5E6FD05E61EC3FDEC2596B89268
428AE41787E4E40CA81D3C9BD68A7B60
D1635D178945D06825F69DCD6FE8E521
11A8CC190EB8426E21D478FC21949AF3
#2020.4.23新增
1D15BC7C9D1F144389A2B75FCCE8E4EE
941E7C1D8564D0B6BB38D4183EB2AAD4
3B48BBF789A9481A53C0EFC5C6E88C96
8046CF262FF4488553CE9AB6FC5A2ED7
B402B08B8386F612D7A087136F3029DF
7FD3ADFDEADEF2B184538B5244CF5096
35E86A05763C3F10A6C9D4FB9423000A
3A60EE7341E2D17E228E8D541AE19B5F
329586545FEA6221827F95EC39377CAA
6C519BA5CB4CD3F0BE5C00D9B679D329
#2020.4.25新增
205D21D3B34F479D0F64E1F1C5DC9647
95BFADD620483E7D6BB7B8D7957E8262
587BA47676352B4F9E11925E47937782
98DFD8A200050BE7D9A8DC7BBEE1FF5E
1E0BFF9D6D598FF146475A641725C63C
4A9ACDA1F26DA156E34D7AF2CDBD3FA3
20F1F9C98A487369745DD9EDC5B8ABC0
C051441120C80489412E40C6069980B5
3DCE9DF07BFCEE09A4EE17AC35B973E1
993011668DA5D80ACD8BDCDEDABF8DD2
Github地址:https://github.com/MoeClub/CTList
这里只详细说下Linux
的用法,Windows
、MacOS
系统二进制文件下载地址→传送门,使用方法和Linux
都差不多。
1、申请天翼账号
老用户就不用申请了,新用户点击→传送门,选择短信验证码登录即可,这里联通、移动手机号都可以登录注册。
2、安装CTList
#新建并进入CTList目录
mkdir /opt/CTList && cd $_
#64位系统下载
wget https://raw.githubusercontent.com/iiiiiii1/CTList/master/exec/amd64/linux/CTList
#32位系统下载
wget https://raw.githubusercontent.com/iiiiiii1/CTList/master/exec/i386/linux/CTList
#arm架构下载
wget https://raw.githubusercontent.com/iiiiiii1/CTList/master/exec/arm/linux/CTList
#给予权限
chmod +x CTList
3、下载配置文件
#下载配置文件
wget https://raw.githubusercontent.com/iiiiiii1/CTList/master/config.json
#下载默认的主题文件
wget https://raw.githubusercontent.com/iiiiiii1/CTList/master/index.html
这里提供2
款可在线浏览图片,在线观看视频等其他功能的主题文件→传送门,直接下载index.html
文件,覆盖即可。
4、编辑配置文件
编辑配置文件config.json
,大致说明如下:
[
{
"Enable": 1, # 0: 关闭, 1: 打开
"UserName": "", # 天翼云网盘登陆用户名,不需要@189.cn.
"Password": "", # 天翼云网盘登陆密码
"CaptchaMode": "0", # 验证码. 0: 遇到验证码拒绝登陆, 1: 手动输入验证, 其他: 自动识别验证码的API.
"ViewMode": 0, # 显示模式. 0: 自动识别. 1: 只使用网页模式. 2:只使用WebDAV模式.
"RefreshToken": "", # 天翼网盘会话. 保持默认, 如果出现异常, 请将该值清空.
"SubPath": "/CTList", # 指定某账户挂载在网站的某个目录, 多账户时每个目录值必须唯一.
"RootPathId": "-11", # 设置展示天翼网盘目录的ID, 根目录为 -11.
"HideItemId": "0|-16", # 不展示某个目录或文件, 填写其ID. 每项用"|"分隔.
"AuthItemId": "", # 加密某个目录或文件. "<文件或者目录的ID>?<加密模式>?<用户名>:<密码>"
"RefreshURL": 189, # 下载直链缓存的秒数. 超时则被动更新.
"RefreshInterval": 1800 # 刷新目录结构,如果不常更新,建议设置更长时间.
}
]
如果没啥特殊需求,只需要填写账号密码即可即前4项,且CaptchaMode
后面将0
改为https://api.moeclub.org/SampleCode
用于识别登陆验证码,如果使用期间有修改过配置文件,需要重启CTList
。
5、调高limits
这里调整下limits
,linux
下可能由于高并发情况下会出错,使用命令:
[ -f /etc/security/limits.conf ] && LIMIT='262144' && sed -i '/^\(\*\|root\)[[:space:]]*\(hard\|soft\)[[:space:]]*\(nofile\|memlock\)/d' /etc/security/limits.conf && echo -ne "*\thard\tmemlock\t${LIMIT}\n*\tsoft\tmemlock\t${LIMIT}\nroot\thard\tmemlock\t${LIMIT}\nroot\tsoft\tmemlock\t${LIMIT}\n*\thard\tnofile\t${LIMIT}\n*\tsoft\tnofile\t${LIMIT}\nroot\thard\tnofile\t${LIMIT}\nroot\tsoft\tnofile\t${LIMIT}\n\n" >>/etc/security/limits.conf
windows
系统下不需要调。
6、启动CTList
这里启动改成了授权模式,需要申请码获取授权码,获取授权码→传送门,Apply Token
和用户名即手机号必填,且一个申请码只能绑定一个天翼云账号,绑定多个账号需要在同样的授权码上绑定其它账号。
#申请码使用提示
[Success]: 绑定成功.
[Query Mode]:查询模式, 查询授权码. 申请码已经被使用.
如果没有有效授权的用户, 运行程序时会出现Error! No Valid User.
这里如果你想支持下萌咖大佬,可以前往萌咖杂货店→传送门,选择捐赠 #11
即可。
获取到授权码后开始启动CTList
:
#直接运行
/opt/CTList/CTList -a "AUTH_TOKEN" -bind 0.0.0.0 -port 8000
#后台运行
/opt/CTList/CTList -a "AUTH_TOKEN" -bind 0.0.0.0 -port 8000 -d
AUTH_TOKEN
为获取到的授权码,8000
为访问端口,运行前自行修改。
启动了后,就可以使用ip:8000/CTList
访问程序了,后面为SubPath
参数路径,自行修改。
如果你访问不了程序,可能要检查下防火墙端口,有安全组的也要放行下相关端口。
这里提供个CentOS
系统防火墙开启命令,比如开放8000
端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --reload
7、开机自启
这里新建一个简单的systemd
配置文件,适用CentOS 7
、Debian 8+
、Ubuntu 16+
。
使用命令:
#设置你的运行监听端口,即你可以通过ip:端口访问程序,这里默认8000。
port="8000"
#设置你的授权码,自行修改
AUTH_TOKEN="xxxxxxx"
#将以下代码一起复制到SSH运行
cat > /etc/systemd/system/ctlist.service <<EOF
[Unit]
Description=ctlist
After=network.target
[Service]
Type=simple
ExecStart=/opt/CTList/CTList -a ${AUTH_TOKEN} -bind 0.0.0.0 -port ${port} -l
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#启动并设置开机自启
systemctl start ctlist
systemctl enable ctlist
相关命令:
启动:systemctl start ctlist
停止:systemctl stop ctlist
重启:systemctl restart ctlist
查看状态:systemctl status ctlist
提示:有宝塔面板的直接使用宝塔就行,没有的就可以使用caddy,2选1即可。
先进入宝塔面板,然后点击左侧网站,添加站点,再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:8000
,不要设置缓存,再启用反向代理即可。
如果要启用SSL
,就需要在设置反向代理之前,直接在站点配置点击SSL
,申请免费let
证书,然后再启用反代即可。
安装Caddy
:
wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置Caddy
:
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
#http访问,该配置不会自动签发SSL
echo "www.moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:8000
}" > /usr/local/caddy/Caddyfile
#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "www.moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:8000
}" > /usr/local/caddy/Caddyfile
启动Caddy
:
/etc/init.d/caddy start
就可以打开域名进行访问了。
#未设置开机自启
rm -rf /opt/CTList
#设置过开机自启
systemctl stop ctlist
systemctl disable ctlist
rm -rf /opt/CTList /etc/systemd/system/ctlist.service
[
{
"Enable": 1, # 0: 关闭, 1: 打开
"UserName": "", # 天翼云网盘登陆用户名,不需要@189.cn.
"Password": "", # 天翼云网盘登陆密码
"CaptchaMode": "0", # 验证码. 0: 遇到验证码拒绝登陆, 1: 手动输入验证, 其他: 自动识别验证码的API.
"ViewMode": 0, # 显示模式. 0: 自动识别. 1: 只使用网页模式. 2:只使用WebDAV模式.
"RefreshToken": "", # 天翼网盘会话. 保持默认, 如果出现异常, 请将该值清空.
"SubPath": "/CTList", # 指定某账户挂载在网站的某个目录, 多账户时每个目录值必须唯一.
"RootPathId": "-11", # 设置展示天翼网盘目录的ID, 根目录为 -11.
"HideItemId": "0|-16", # 不展示某个目录或文件, 填写其ID. 每项用"|"分隔.
"AuthItemId": "", # 加密某个目录或文件. "<文件或者目录的ID>?<加密模式>?<用户名>:<密码>"
"RefreshURL": 189, # 下载直链缓存的秒数. 超时则被动更新.
"RefreshInterval": 1800 # 刷新目录结构,如果不常更新,建议设置更长时间.
},
{
"Enable": 1, # 0: 关闭, 1: 打开
"UserName": "", # 天翼云网盘登陆用户名,不需要@189.cn.
"Password": "", # 天翼云网盘登陆密码
"CaptchaMode": "0", # 验证码. 0: 遇到验证码拒绝登陆, 1: 手动输入验证, 其他: 自动识别验证码的API.
"ViewMode": 0, # 显示模式. 0: 自动识别. 1: 只使用网页模式. 2:只使用WebDAV模式.
"RefreshToken": "", # 天翼网盘会话. 保持默认, 如果出现异常, 请将该值清空.
"SubPath": "/CTList", # 指定某账户挂载在网站的某个目录, 多账户时每个目录值必须唯一.
"RootPathId": "-11", # 设置展示天翼网盘目录的ID, 根目录为 -11.
"HideItemId": "0|-16", # 不展示某个目录或文件, 填写其ID. 每项用"|"分隔.
"AuthItemId": "", # 加密某个目录或文件. "<文件或者目录的ID>?<加密模式>?<用户名>:<密码>"
"RefreshURL": 189, # 下载直链缓存的秒数. 超时则被动更新.
"RefreshInterval": 1800 # 刷新目录结构,如果不常更新,建议设置更长时间.
}
]
以上为2
个账号配置,注意SubPath
不能一样,如果3
个账号,直接在[]
里面加一次配置文件代码,注意中间使用英文逗号,
区分。
1、访问地址
根据配置文件中的SubPath
项中参数访问具体网盘,一般SubPath
的具体值在终端中显示在中括号内。
例如: "SubPath": "/CTList"
访问: http://127.0.0.1:5189/CTList
例如: "SubPath": "/"
访问: http://127.0.0.1:5189/
2、寻找目录ID
用于RootPathId
、HideItemId
、AuthItemId
配置项,登陆https://cloud.189.cn
,进入需要操作的目录,查看地址栏最后的数字就是这个目录的ID
。
文件ID
需要浏览器F12
查看请求项。
RootPathId: 列表展示的根目录对应的天翼网盘文件夹ID, 天翼网盘根目录ID为 -11
HideItemId: 在展示目录中隐藏天翼网盘内的文件或文件夹,填写其ID,使用 "|" 分隔
AuthItemId: 在展示目录中加密天翼网盘内的文件或文件夹,使用 "|" 分隔
3、加密目录AuthItemId
配置项采用HTTP 401
认证方式加密。
# 单个写法
"AuthItemId": "-11?0?UserName:Password"
# 多个写法
"AuthItemId": "-11?0?UserName:Password|-16?1?UserName:Password"
# 字段解析
<文件或者目录的ID>?<加密模式>?<用户名>:<密码>
# 加密模式,加密文件选0和1效果相同.
0: 只加密这一层文件夹,可以直接访问这层文件夹内部的内容.
1: 加密这个文件夹的所有子项目.
4、刷新策略
# 4个刷新逻辑完全异步,互不影响.
Token(登陆保活): 60 * 60 * 10
Cookie(会话授权): 60 * 30
RefreshURL(真实下载链接): 189 (配置文件可改 <RefreshURL>)
RefreshInterval(刷新目录结构): 60 * 15 (配置文件可改, 全局最小值生效 <RefreshInterval>)
5、使用说明
Usage of CTList:
-bind string
Bind Address (default "127.0.0.1")
-port string
Port (default "5189")
-a string
Auth Token.
-c string
Config file. (default "config.json")
-t string
Index file. (default "index.html")
-json
Output json.
-d
Run in the background.
-l
Less output.
6、目录访问SubPath
配置项,控制目录访问
# 多账户时,确保 SubPath 项唯一.
当 SubPath 配置为空("")或者为单斜杆("/")时
访问路径为 http://0.0.0.0
当 SubPath 配置为具体字段("/CTList")时, "/CTList" 可以修改成自己喜欢的字段.
访问路径为 http://0.0.0.0/CTList
7、在nPlayer播放器中使用
# 网络 --> 添加 --> WebDAV
# 主机: 填写域名.
# 路径: 填写 SubPath 值. 如: /CTList
# 其他请按照情况填写.
# 优势: 在播放器中可以播放各种编码格式的视频.
# 可以适当的将最小缓存时间调小,提高浏览体验.
8、报错相关
400(Not Found URL): 未能找到该文件的链接.
404(Not Found): 未完成初次缓存目录结构或文件路径不正确.
422(Not Found Real URL): 未能生成真实的文件下载链接(一般是文件被举报了,无法下载).
5XX: 一般是服务器端的问题. 部分可能的情况有: 主程序没开, 端口不通, 反代配置不正确.
最后天翼云网盘APP
会经常做活动,送空间容量和会员什么的,可以自己下载个app
领一下福利,目前这里列举2
个活动:
#免费领取3个月黄金会员
https://m.cloud.189.cn/zhuanti/2020/share-vip/web.html
#免费领取1年黄金会员,图片随便传个就过了
https://m.cloud.189.cn/zhuanti/2020/teacher-vip/web.html
#免费领取家庭云1T空间
https://m.cloud.189.cn/zhuanti/2019/1t-v2/web.html
最后该程序拿来搭建个下载站什么的基本够了,空间多的还可以下点电影啥的看看都行。
说明:live-torrent
是一个功能强大的BT Web
客户端工具,支持BT
搜索和云播,我们可以直接使用程序内置的引擎搜索查找资源,也可以自行上传种子文件或磁力链接添加任务,程序支持自动识别种子内视频文件,点击播放按钮可以直接在线播放,该程序支持对接OpenSubtitles
,自动给视频添加字幕。同时也提供一个热门电影排行榜,并提供对应资源给你播放和下载。不过唯一有点小遗憾的就是,不支持在线搜索中文资源,所以中文资源只能自己上传种子文件进行识别播放下载。
Github地址:https://github.com/Davenchy/live-torrent
1、安装NodeJS
#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y git nodejs
#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y
2、安装live-torrent
git clone https://github.com/Davenchy/live-torrent
cd live-torrent
#安装依赖
npm i
#打包运行
npm run build
nohup npm start&
装好后通过ip:3000
访问Web
客户端了。
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、安装live-torrent
docker run --restart=always --name live-torrent -d -p 8080:8080 davenchy/live-torrent
然后就通过ip:8080
访问Web
客户端了。
最后如果你访问不了Web
端,可能要检查下防火墙端口,有安全组的也要放行下相关端口。
这里提供个CentOS
系统防火墙开启命令,比如开放3000
端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
说明:关于内网穿透的工具,博主已经介绍的非常多了,比如frp、lanproxy、nps、holer、sish和serveo等,用起来都还行,不过有些在安装和使用上对于一些新手来说,还是比较复杂的,最近博主发现了个新的内网穿透项目Proxyer
,目前仅支持TCP
协议、虽然看起来功能比较简单,但基本可以满足日常使用了,特别是在安装和使用方面,对于新手是比较友好的,这里就分享下。
Github地址:https://github.com/khvysofq/proxyer
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、安装Docker Compose
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
3、安装Proxyer
wget https://raw.githubusercontent.com/khvysofq/proxyer/master/docker-compose.yml
#请将后面1.1.1.1改成你的服务器ip地址后再运行
export PROXYER_PUBLIC_HOST=1.1.1.1
docker-compose up -d
安装完成后,就可以通过ip:6789
访问服务端WEB
管理面板了,进去后需要设置一个客户端认证密码。
然后CentOS
系统建议关闭防火墙使用,或者打开部分端口也行,关闭命令:
#CentOS 6系统
service iptables stop
chkconfig iptables off
#CentOS 7系统
systemctl stop firewalld
systemctl disable firewalld
像阿里云等服务器,还需要去安全组那里开放下端口。
进入服务端面板后,界面会提供Linux
、Windows
、macOS
客户端版本,然后自行根据自身系统下载指定版本的压缩包即可。
Windows
可以直接下载界面版本,然后双击可执行文件,会弹出一个网页界面,输入上面的认证密码,即可开始配置穿透。
Linux
下载压缩包后,解压出二进制文件,直接在当前目录使用./proxyer
命令运行即可。
最后使用起来还是很简单的,由于是新项目,功能可能不是很丰富,看作者后期会不会慢慢完善了。
说明:一般我们观看自己下载的电影时候,通常会因为网络或者带宽原因很卡,所以就得处理下,这里萌咖大佬闭关半个月,写出了一个视频转码切片后自动上传至国内cdn
的脚本,脚本默认提供上传到语雀cdn
的脚本、采用多线程上传,这里默认10
线程,基本上可以很大程度上提高视频的播放速度。
【2020.4.1】
由于语雀修复了上传bug,所以移除语雀cdn,默认修改为阿里云图床。
Github地址:https://github.com/MoeClub/Note/tree/master/ffmpeg
1、安装ffmpeg
wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz
tar xvf ffmpeg-git-*-static.tar.xz
mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/local/bin/
rm -rf ffmpeg-git-*
2、安装脚本
#新建/opt/ffmpeg文件夹存放脚本等文件
mkdir /opt/ffmpeg && cd $_
#下载并运行脚本
wget https://raw.githubusercontent.com/MoeClub/Note/master/ffmpeg/Install.sh
bash Install.sh
3、启动播放器
由于切片生成m3u8
文件后,需要播放器才能播放,而上传脚本也会自动推送m3u8
文件到播放器根目录,所以这里可以配合一起用,当然自己会播放m3u8
的也可以不用搭建,自行选择。
安装pip3
:
#CenOS 6系统
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum install python34 -y
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
#CenOS 7系统
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install python36 -y
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
#Debian/Ubuntu系统
apt update
apt install python3-pip -y
安装依赖:
#进入到播放源码文件夹
cd /opt/ffmpeg/Player
pip3 install tornado
后台启动:
nohup python3 Player.py&
注意Player.py
文件的MasterKey
值需和publish.sh
的Token
值对应,别乱改就行。
4、脚本用法
#命令示例
bash /path/to/media.sh <不含特殊字符的文件名.mp4> [特殊选项]
#特殊选项: 数字;可选参数,默认为0
#0:自动根据文件比特率计算合适的切片大小。(目标文件大小小于20M,一般情况下没问题)
#1:强制重新编码,重新编码比特率为2400k。(一般用于非H264编码,文件切片,速度较慢)
#2:自定义切片时间,当为2时切片时间为3秒,当大于等于3时切片时间为特殊选项数字。
使用示例:
#进入视频所在目录
cd /root/movies
#默认模式切片
bash /opt/ffmpeg/media.sh rats.mp4
#强制重新编码
bash /opt/ffmpeg/media.sh rats.mp4 1
#极速模式, 设置2s一个切片(源文件为H264编码情况下)
bash /opt/ffmpeg/media.sh rats.mp4 2
5、播放示例
#查看推送到播放器这边的m3u8所有文件
http://ip:5866/Player/list
#播放list显示的根目录下的rats.m3u8文件
http://ip:5866/Player/rats.m3u8
提示:该方案可选,目前语雀默认免费10G,具体可参考官方说明。
先前往语雀官网注册一个账号→传送门,然后获取ctoken
和session
的值,这里说下大概获取方法,以谷歌浏览器为例。
登录后,F12
进入控制台选择Network
,随便点击一个以yuque
开头的链接文件,再选择Cookies
即可看到所需要的2
个参数。
然后复制ctoken
和session
的值。
接下来查看语雀脚本→传送门,将脚本所有的内容复制替换到upload.sh
脚本里面,并填入ctoken
和session
的值,保存即可,上传方法参考上面。
最后如果你是vps
的话,就不建议强制转码,只切片就行了,不然长时间占用cpu
的话,服务器可能会被ban
,基本上大多数mp4
都可以直接切片。
说明:最近有小伙伴推荐了个解密工具unlock-music
,支持网易云音乐/QQ
音乐的VIP
音乐文件批量解密导出为MP3
或无损格式,包括ncm
、qmc0
、qmc3
、mcflac
、qmcogg
、mflac
格式及补全ncm
的ID3
信息,挺实用的,毕竟通常情况下,当这些客户端VIP
会员到期后会自动删除已下载的VIP
音乐文件。而且文件是加密格式的只能用客户端播放,会员到期后就算保留音乐文件也无法使用,而且加密格式无法在汽载音响或其他设备上播放,用起来限制很大,该程序可以部署在远程服务上或者本地离线使用,解密速度非常快,任务完成后还可以在线播放和批量下载,这里就介绍下。
Github地址:https://github.com/ix64/unlock-music
如果你想在Windows
电脑上使用的话,可以直接下载作者打包好的文件→传送门,下载最新的legacy
版本压缩包。
然后将压缩包解压到桌面,打开解压出来的文件夹里面的index
文件就可以直接使用。
如果服务器上已经装有Nginx
、Apache
或Caddy
等Web
服务的,可以直接将作者打包好的文件,下载并解压到网站根目录就可以直接使用了,下载地址→传送门,选择最新的modern
版本压缩包解压即可。
没有这些Web
程序的,可以随便搞个临时用用也行,具体步骤如下:
#下载最新modern版压缩包
curl -O -L https://github.com/ix64/unlock-music/releases/download/`curl -s https://api.github.com/repos/ix64/unlock-music/releases|grep -w tag_name|head -n 1|cut -d'"' -f4`/modern.tar.gz
#解压并删除压缩包
tar zxvf modern.tar.gz && rm -rf $_
cd dist
#运行端口4567,可自行修改
nohup python -m SimpleHTTPServer 4567&
然后访问ip:4567
即可,打不开的话就检查下防火墙。
提示:这里只列举博主知道的一种玩法,有意的可以了解下,毕竟该玩法可以节省很多硬盘空间。
该工具支持补全ncm
的ID3
信息,就方便我们配合网易云音乐自带的云盘一起使用。
首先将下载的VIP
音乐文件解密,然后再将已经解密的音乐文件上传到网易云的我的音乐云盘。
上传成功后,系统会自动根据文件ID3
信息进行匹配,该上传文件会永久有效,此后不管你还是不是VIP
会员或者该歌曲有没有下架,你都可以完整的播放该VIP
歌曲和无损格式歌曲,也就是会直接从你的网盘调用,即PC
/手机端歌曲信息会包含云盘字眼。
注意非VIP
会员也可以上传解密后的VIP
歌曲,且已经下架的歌曲评论区无法使用,其它正常。
最后QQ
音乐用的不多,就不说了,关于使用的一些注意事项可以直接查看→传送门。
说明:博主很久以前水过一个BT
下载工具Cloud Torrent,不过好像2
年没维护了,这里就介绍个基于Cloud Torrent
开发的项目Simple Torrent
,同样的使用Golang
编写,功能在原有的基础上加了些适用的功能,下载/上传速度限制、无版权限制,RSS
订阅和自定义添加BT-Trackers
等,而且还有api
接口,同时还支持下载后自动调用外部命令,可玩性还是很高的,比如我们可以和aria2
一样,将下载完成的资源自动上传到OneDrive
或Google Drive
等网盘,博主大概用了下,感觉还可以,这里就分享下。
Github地址:https://github.com/boypt/simple-torrent
使用SSH
客户端登录服务器,运行命令:
bash <(wget -qO- https://raw.githubusercontent.com/boypt/simple-torrent/master/scripts/quickinstall.sh)
然后使用ip:3000
访问即可。
顺便提供个博主经常用的BT-Trackers
服务器地址,效果不错,如下:
https://trackerslist.com/all.txt
直接在Web
界面修改即可。
相关命令:
启动:systemctl start cloud-torrent
重启:systemctl restart cloud-torrent
停止:systemctl stop cloud-torrent
查看状态:systemctl status cloud-torrent
1、安装Docker
#CentOS 6系统
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu系统
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、安装Simple Torrent
docker run --restart=always --name simple-torrent -d \
-p 3000:3000 \
-v ~/downloads:/downloads \
-v ~/torrents:/torrents \
boypt/cloud-torrent
然后使用ip:3000
访问即可。
最后如果你访问不了Web
端,可能要检查下防火墙端口,有安全组的也要放行下相关端口。
这里提供个CentOS
系统防火墙开启命令,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
关于API
的用法,官方文档说的很详细了,这里就大概列举几个,如下:
#通过远程地址添加种子
curl --data "http://domain.com/file.torrent" "http://localhost:3000/api/url"
#通过本地文件添加种子
curl --data-binary "my.torrent" "http://localhost:3000/api/url"
#通过磁力链接添加种子
curl --data "magnet:?xt=urn:btih:..." "http://localhost:3000/api/url"
#开始种子任务
curl --data "start:${HASH}" "http://localhost:3000/api/torrent"
#停止种子任务
curl --data "stop:${HASH}" "http://localhost:3000/api/torrent"
#删除种子任务
curl --data "delete:${HASH}" "http://localhost:3000/api/torrent"
#查看文件和种子信息
/api/files和/api/torrents
先修改配置文件,通过上面脚本安装的配置文件在你的主目录,比如/root
目录,配置文件cloud-torrent.json
。
修改以下参数:
#外部程序调用参数
"donecmd": "",
#比如我要下载完成后,直接运行/home目录下的rats.sh脚本
"donecmd": "/home/rats.sh",
那么下载完成后就会运行该脚本。
一般种子下载完成后,会返回以下参数变量,这里列举下主要的:
CLD_DIR为下载路径,且为绝对路径
CLD_PATH为下载文件名称
CLD_SIZE为文件大小
CLD_TYPE为调用事件类型,分为files和torrent,分别为种子里单个文件和整体文件
CLD_HASH为文件HASH值
这里随便放一个下载后自动移动的脚本,针对rclone
挂载的文件夹。
#!/bin/bash
#下载后移动的文件夹路径
RemoteDIR="/down/moerats";
if [[ ${CLD_TYPE} == "torrent" ]]; then
eval mv \'"${CLD_DIR}/${CLD_PATH}"\' "${RemoteDIR}";
#移动后停止该任务
curl --data "stop:${CLD_HASH}" "http://127.0.0.1:3000/api/torrent";
#停止后清除该任务,也就是不会出现在Web界面了
curl --data "delete:${CLD_HASH}" "http://127.0.0.1:3000/api/torrent";
fi
这里还可以结合TG
机器人啥的一起使用,玩法很多,可以自行结合API
一起使用。
要注意的是,配置调用脚本的时候,需要给予脚本可执行权,并重启程序生效,比如:
#给予可执行权,脚本路径/root/rats.sh
chmod +x /root/rats.sh
#重启程序
systemctl restart cloud-torrent
最后关于这个无版权限制,博主从未遇见过版权投诉,所以无法测试,对于下载的话,有些资源速度还是不错的,具体效果就自行体验了。
说明:最近看到很多小伙伴对离线下载啥的,兴趣蛮大,博主以前也水了不少了BT
下载相关的脚本和安装,不过都没Docker
简单,这里就找了一些用的人比较多,也经常在维护的BT
离线程序的Docker
镜像,包括Aria2
、utorrent
、Deluge
、Transmission
、Rutorrent
、Qbittorrent
,算是比较全了,这里就分享下。
首先安装下面程序之前,需要在服务器上安装Docker
环境,使用命令:
#CentOS 6系统
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu系统
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
镜像来源:https://hub.docker.com/r/onisuly/aria2-with-webui
先安装Docker
,然后执行以下命令:
docker run --restart=always --name aria2-ariang -d \
-p 6060:80 \
-p 6800:6800 \
-e SECRET=moerats \
-v ~/aria2/down:/data \
-v ~/aria2/conf:/conf \
onisuly/aria2-with-webui
安装完成后,相关信息如下:
AriaNg地址:http://ip:6060
aria2连接端口:6800
aria2连接密匙:moerats
下载/配置目录:~/aria2
CentOS
系统安装后,可能还需要开启相应的端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 6060 -j ACCEPT
iptables -A INPUT -p tcp --dport 6800 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=6060/tcp --permanent
firewall-cmd --zone=public --add-port=6800/tcp --permanent
firewall-cmd --reload
如果你不想用了,可以使用以下命令卸载:
#删掉容器
ContainerID=`docker ps|grep onisuly/aria2-with-webui|awk '{print $1}'`
docker kill ${ContainerID}
docker rm ${ContainerID}
docker rmi `docker images|grep onisuly/aria2-with-webui|awk '{print $3}'`
#删掉下载文件夹
rm -rf ~/aria2
镜像来源:https://hub.docker.com/r/ekho/utorrent
先安装Docker
,然后执行以下命令:
docker run --restart=always --name utorrent -d \
-p 8080:8080 \
-p 6881:6881 \
-v ~/utorrent:/utorrent/data \
ekho/utorrent
安装完成后,相关信息如下:
utorrent地址:http://ip:8080/gui
访问用户名:admin
访问密码:为空
下载目录:~/utorrent
CentOS
系统安装后,可能还需要开启相应的端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 6881 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=6881/tcp --permanent
firewall-cmd --reload
如果你不想用了,可以使用以下命令卸载:
#删掉容器
ContainerID=`docker ps|grep ekho/utorrent|awk '{print $1}'`
docker kill ${ContainerID}
docker rm ${ContainerID}
docker rmi `docker images|grep ekho/utorrent|awk '{print $3}'`
#删掉下载文件夹
rm -rf ~/utorrent
镜像来源:https://hub.docker.com/r/linuxserver/deluge
先安装Docker
,然后执行以下命令:
docker run --restart=always --name deluge -d \
--net=host \
-v ~/deluge/config:/config \
-v ~/deluge/downloads:/downloads \
linuxserver/deluge
安装完成后,相关信息如下:
deluge地址:http://ip:8112
访问密码:deluge
配置/下载目录:~/deluge
CentOS
系统安装后,可能还需要开启相应的端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 8112 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=8112/tcp --permanent
firewall-cmd --reload
进入界面后,记得点击上方的Preferences
,将下载目录设置为/downloads
。
如果你不想用了,可以使用以下命令卸载:
#删掉容器
ContainerID=`docker ps|grep linuxserver/deluge|awk '{print $1}'`
docker kill ${ContainerID}
docker rm ${ContainerID}
docker rmi `docker images|grep linuxserver/deluge|awk '{print $3}'`
#删掉下载文件夹
rm -rf ~/deluge
镜像来源:https://hub.docker.com/r/linuxserver/transmission
先安装Docker
,然后执行以下命令:
docker run --restart=always --name transmission -d \
-e TRANSMISSION_WEB_HOME=/transmission-web-control/ \
-e USER=moerats \
-e PASS=moerats \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v ~/transmission/config:/config \
-v ~/transmission/downloads:/downloads \
-v ~/transmission/watch:/watch \
linuxserver/transmission
安装完成后,相关信息如下:
transmission地址:http://ip:9091
访问用户名:moerats
访问密码:moerats
配置/下载目录:~/transmission
CentOS
系统安装后,可能还需要开启相应的端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 9091 -j ACCEPT
iptables -A INPUT -p tcp --dport 51413 -j ACCEPT
iptables -A INPUT -p udp --dport 51413 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=9091/tcp --permanent
firewall-cmd --zone=public --add-port=51413/tcp --permanent
firewall-cmd --zone=public --add-port=51413/udp --permanent
firewall-cmd --reload
如果你不想用了,可以使用以下命令卸载:
#删掉容器
ContainerID=`docker ps|grep linuxserver/transmission|awk '{print $1}'`
docker kill ${ContainerID}
docker rm ${ContainerID}
docker rmi `docker images|grep linuxserver/transmission|awk '{print $3}'`
#删掉下载文件夹
rm -rf ~/transmission
镜像来源:https://hub.docker.com/r/linuxserver/rutorrent
先安装Docker
,然后执行以下命令:
docker run --restart=always --name rutorrent -d \
-p 2222:80 \
-p 5000:5000 \
-p 51413:51413 \
-p 6881:6881/udp \
-v ~/rutorrent/config:/config \
-v ~/rutorrent/downloads:/downloads \
linuxserver/rutorrent
安装完成后,相关信息如下:
rutorrent地址:http://ip:2222
配置/下载目录:~/rutorrent
CentOS
系统安装后,可能还需要开启相应的端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
iptables -A INPUT -p tcp --dport 51413 -j ACCEPT
iptables -A INPUT -p udp --dport 6881 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=2222/tcp --permanent
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd --zone=public --add-port=51413/tcp --permanent
firewall-cmd --zone=public --add-port=6881/udp --permanent
firewall-cmd --reload
如果你不想用了,可以使用以下命令卸载:
#删掉容器
ContainerID=`docker ps|grep linuxserver/rutorrent|awk '{print $1}'`
docker kill ${ContainerID}
docker rm ${ContainerID}
docker rmi `docker images|grep linuxserver/rutorrent|awk '{print $3}'`
#删掉下载文件夹
rm -rf ~/rutorrent
镜像来源:https://hub.docker.com/r/linuxserver/qbittorrent
先安装Docker
,然后执行以下命令:
docker run --restart=always --name qbittorrent -d \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8080:8080 \
-v ~/qbittorrent/config:/config \
-v ~/qbittorrent/downloads:/downloads \
linuxserver/qbittorrent
安装完成后,相关信息如下:
qbittorrent地址:http://ip:8080
用户名:admin
密码:adminadmin
配置和/下载目录:~/qbittorrent
CentOS
系统安装后,可能还需要开启相应的端口,大致如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 6881 -j ACCEPT
iptables -A INPUT -p udp --dport 6881 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=6881/tcp --permanent
firewall-cmd --zone=public --add-port=6881/udp --permanent
firewall-cmd --reload
如果你不想用了,可以使用以下命令卸载:
#删掉容器
ContainerID=`docker ps|grep linuxserver/qbittorrent|awk '{print $1}'`
docker kill ${ContainerID}
docker rm ${ContainerID}
docker rmi `docker images|grep linuxserver/qbittorrent|awk '{print $3}'`
#删掉下载文件夹
rm -rf ~/qbittorrent
这里顺便推荐个磁力链接聚合搜索magnetW
,有兴趣的可以下载Windows/Mac
端应用程序,下载地址→传送门。
最后这里只列举简单的安装,更深层次的可以访问镜像地址使用,如果还有其它好用没有列举的,可以留言提下。
说明:OneList
以前介绍过,主要的特色就是解决了因OneDrive API
抽风导致的很多问题,稳定性和访问速度都是不错的。不过由于使用Python
写的,而Py
单线程容易阻塞,响应不够迅速,刷新缓存时,Web
端请求基本不可用,所以在整体性能上有点瑕疵。基于Golang
的性能更好,效率更高,多盘并发缓存等众多好处,于是萌咖大佬就弃用Python
版本,使用Golang
重写了OneList
,同时支持国际版、个人免费版(家庭版)、中国版(世纪互联)及多网盘绑定。
【2020.01.09】
修复内存占用过大。
新增支持在线视频播放的移动端自适应主题。
【2019.12.29】
新增隐藏目录或者文件。直接跳过缓存,减少API调用。
新增目录加密,支持不同目录不同账户密码。HTTP 401认证。
【2019.12.28】
新增搜索功能。
SubPath
唯一)200
个项目。Github地址:https://github.com/MoeClub/OneList/tree/master/Rewrite
1、授权认证
点击右侧URL
登录并授权,授权【国际版、个人版(家庭版)】、【中国版(世纪互联)】。
授权后会获取一个localhost
开头打不开的链接,这里复制好整个链接地址,包括localhost
。
2、安装OneList
#新建并进入OneList目录
mkdir /opt/OneList && cd $_
#64位系统下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/amd64/linux/OneList
#32位系统下载
wget https://raw.githubusercontent.com/MoeClub/OneList//master/Rewrite/i386/linux/OneList
#arm架构下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/arm/linux/OneList
#给予权限
chmod +x OneList
3、使用命令
Usage of OneList:
-a string
// 初始化配置文件,添加新配置
Setup and Init auth.json.
-bind string
// 绑定IP地址(公网: 0.0.0.0)
Bind Address (default "127.0.0.1")
-port string
// 绑定端口(HTTP:80)
Port (default "5288")
-s string
// 设置 SubPath 项, 需要与 -a 一起使用.
Set SubPath. [unique per account] (default "/")
-c string
// 配置文件
Config file. (default "config.json")
-t string
// Index.html 目录样式文件
Index file. (default "index.html")
-cn
// 开关
// 授权中国版(世纪互联), 需要此参数.
OneDrive by 21Vianet.
-ms
// 开关
// 授权个人版(家庭版), 需要此参数.
OneDrive by Microsoft.
4、生成配置文件
#国际版,将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -a "url" -s "/onedrive01"
#个人版(家庭版),将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -ms -a "url" -s "/onedrive02"
#中国版(世纪互联),将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -cn -a "url" -s "/onedrive03"
提示Success! Add config. '/path/to/config.json'
信息,则添加成功。
这里要注意的是:
1、授权url地址只能用一次,超过需要重新授权。
2、命令中的/onedrive01参数为指定网盘地址后缀,比如http://domain.com/onedrive01。
3、授权多个网盘的话,重复授权多次即可,参数均会添加到一个配置文件,且后缀不能重复。
4、地址后缀填错了的,可以稍后在配置文件中修改。
本文默认的配置文件路径/opt/OneList/config.json
,参数详解,可自行修改:
[
{
// 如果是家庭版或者个人免费版, 此项应为 true.
"MSAccount": false,
// 如果是中国版(世纪互联), 此项应为 true.
"MainLand": false,
// 授权令牌
"RefreshToken": "1234564567890ABCDEF",
// 单配置文件中,此项要唯一.将此OneDrive中设置为`RootPath`目录映射在`http://127.0.0.1:5288/onedrive` 下.
// (只推荐一个盘位的时候使用根目录"/".)
"SubPath": "/onedrive",
// 读取OneDrive的某个目录作为根目录. (支持根目录"/")
"RootPath": "/Test",
// 隐藏OneDrive目录中的文件夹和文件, 条目间使用 "|" 分割. (跳过缓存设置的条目.)
"HidePath": "/Test/Obj01|/Test/Obj02",
// 使用用户名和密码加密OneDrive目录. 目录和用户名密码间使用 "?" 分割, 用户名密码使用 ":" 分割, 条目间使用 "|" 分割. 无效条目将跳过.
"AuthPath": "/Test/Auth01?user01:pwd01|/Test/Auth02?user02:pwd02",
// 缓存刷新间隔.(所有项目中的刷新时间取最小值为有效刷新间隔)
"RefreshInterval": 900
}
]
这里注意,挂载多个盘符的时候,SubPath
参数请不要为/
,单个网盘建议为/
。
5、运行OneList
#下载默认的index.html主题,与config.json同目录,即本文默认的/opt/OneList
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/index.html -P /opt/OneList
#监听8000地址,自行修改
/opt/OneList/OneList -bind 0.0.0.0 -port 8000
最后打开ip:端口
访问即可,如果你挂载网盘的时候SubPath
为/
,那么直接通过根目录查看,如果为/onedrive1
,那么通过ip:端口/onedrive1
查看,如果该路径不存在,则会提示No Found.
。
且首次运行会异步缓存,也就是至少有一个盘缓存成功了,才会显示。
6、开机自启
这里新建一个简单的systemd
配置文件,适用CentOS 7
、Debian 8+
、Ubuntu 16+
。
使用命令:
#设置你的运行监听端口,即你可以通过ip:端口访问程序,这里默认8000。
port="8000"
#将以下代码一起复制到SSH运行
cat > /etc/systemd/system/onelist.service <<EOF
[Unit]
Description=onelist
After=network.target
[Service]
Type=simple
ExecStart=/opt/OneList/OneList -bind 0.0.0.0 -port ${port}
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#启动并设置开机自启
systemctl start onelist
systemctl enable onelist
提示:下载主题的index.html文件,覆盖默认index.html文件,本文默认存放/opt/OneList,然后重启程序即可
主题地址:https://github.com/MoeClub/OneList/tree/master/Rewrite/@Theme
1、HaorWu
#作者
https://github.com/HaorWu
#特点
支持移动端自适应
支持当页搜索
支持按文件名, 日期, 大小排序
支持主动查看图片
支持在线播放视频
#下载地址
https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/HaorWu/index.html
2、jackjieYYY
#作者
https://github.com/jackjieYYY
https://www.hostloc.com/space-uid-38920.html
#特点
支持移动端自适应
支持当页搜索
支持按文件名, 日期, 大小排序
支持在线播放视频
#下载地址
https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/jackjieYYY/index.html
启动:systemctl start onelist
停止:systemctl stop onelist
重启:systemctl restart onelist
查看状态:systemctl status onelist
#未设置开机自启
rm -rf /opt/OneList
#设置过开机自启
systemctl stop onelist
systemctl disable onelist
rm -rf /opt/OneList /etc/systemd/system/onelist.service
最后如果我们只想显示网盘的某些文件夹,那么可以分别挂载该网盘的不同目录即可,具体操作看配置文件说明。
如果有发现该程序存在BUG
,可以提下,方便修复,有会前端的热心大佬,也可以自荐下,帮忙美化下该前端。
说明:最近博主对文档程序小有需求,找了很久发现都是单页,而且还不支持移动端,不是很理想,所以萌JJ大雕就专门花了半天时间,给博主写了一个,该文档程序基于graphql
、nuxtjs
、mongodb
、keystonejs
的实时在线文档编辑系统,可用作各种在线文档编辑和展示,支持markdown
语法,对移动端特别友好,这里就开源分享出来,给对文档有需求的人。
Gitee地址:https://gitee.com/quazero/topdocs
所需环境:NodeJS
、MongoDB
。
1、安装NodeJS
#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y git nodejs
#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y
2、安装Mongodb
#CentOS 6系统,将下面命令一起复制进SSH客户端运行
cat <<EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
yum -y install mongodb-org
#CentOS 7系统,将下面命令一起复制进SSH客户端运行
cat <<EOF > /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
yum -y install mongodb-org
#Debian 8系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org
#Debian 9系统
curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt-get update -y
apt-get install -y mongodb-org
#Debian 10系统
curl https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt update -y
apt install -y mongodb-org
#Ubuntu 16.04系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org
#Ubuntu 18.04、18.10、19.04系统
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
apt update -y
apt install -y mongodb-org
如果导入公匙时出现gnupg, gnupg2 and gnupg1 do not seem to be installed
错误,使用apt install -y gnupg2
,然后重新导入即可。
启动Mongodb
并设置开机自启:
#CentOS 6系统
service mongod start
chkconfig mongod on
#CentOS 7、Debian、Ubuntu系统
systemctl start mongod
systemctl enable mongod
3、新建数据库
#数据库用户名和密码均为topdocs,将下面命令一起复制进SSH客户端运行
cat <<EOF > createdb
use topdocs
db.createUser( { user: "topdocs", pwd: "topdocs", roles: [ { role: "readWrite", db: "topdocs" } ] } )
EOF
mongo<createdb && rm -rf createdb
4、安装TopDocs
#拉取源码
git clone https://gitee.com/quazero/topdocs /opt/topdocs
cd /opt/topdocs
#安装yarn和依赖
npm i -g yarn
yarn
#编辑index.js
vi index.js
修改以下代码:
endpoint: 'http://127.0.0.1:3000/admin/api',
#如果我后面使用docs.moerats.com域名反代本地地址127.0.0.1:3000,那么修改为:
endpoint: 'http://docs.moerats.com/admin/api',
或
endpoint: 'https://docs.moerats.com/admin/api',
#如果我后面直接使用ip地址1.2.3.4访问,那么修改为:
endpoint: 'http://1.2.3.4:3000/admin/api',
vi
编辑步骤:使用i
进入编辑状态,编辑完成使用esc
退出编辑状态,再输入:wq
,然后Enter
确定退出。
开始打包并运行:
yarn build
yarn start
#后台运行
nohup yarn start&
这里访问地址为index.js
中修改域名或http://服务器ip:3000
。
对于IP
访问的,如果CentOS
系统打不开的话,可能还需要开启3000
端口,使用命令:
#CentOS 6
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
像阿里云等服务器,还需要去安全组那里开放下端口。
如果你在上面编辑index.js
的时候填的域名,那么就需要绑定下域名,反代下http://127.0.0.1:3000
即可,反之,使用的ip
就不用。
这里依旧使用Caddy
,如果你安装过Nginx
或者Apache
,就自行搜索反代教程了。
安装Caddy
:
wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置Caddy
:
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
#http访问,该配置不会自动签发SSL
echo "docs.moerats.com {
gzip
proxy / 127.0.0.1:3000 {
websocket
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile
#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "docs.moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:3000 {
websocket
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。
启动Caddy
:
/etc/init.d/caddy start
就可以打开域名进行访问了。
这里新建一个简单的Systemd
配置文件,只适用于CentOS 7
、Debian 8+
、Ubuntu 16+
等。
#新建systemd配置文件,将以下代码一起复制到SSH运行
cat > /etc/systemd/system/topdocs.service <<EOF
[Unit]
Description=topdocs
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/topdocs
ExecStart=$(command -v yarn) start
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
如果你使用的宝塔,还需要做下软连接,不然启动可能会失败,反之不需要,使用命令:
ln -sf $(which node) /usr/bin/node
开始启动并设置开机自启:
systemctl start topdocs
systemctl enable topdocs
后台地址/admin
,账号为admin@admin.com
,密码为adminadmin
,自己进后台修改。
设置中index
中是首页的展示内容,需要注意的是:
-logo-/logo.png-logo-
-title-跨世代文档编辑系统-title-
-subtitle-实时动态markdown文档编辑系统,基于graqhql、mongodb、keystonejs、nuxtjs开发的移动优先的服务端渲染文档系统。-subtitle-
-button-查看文档$https://gitee.com/quazero/topdocs-button-
===header===
header下面就是完全的markdown语法的编写区域,编辑完成之后,首页可查看变化。
参数大致意思:
-logo-之间的是LOGO图片,可链接也可路径。
-title-之间的是首页展示大标题。
-subtitle-之间的是首页展示的项目介绍。
-button-是首页展示按钮需要的内容。其中<按钮名>$<链接>,链接可链接也可路径,按需更改。
===header===下面的就是正常的markdown语句,自己根据需要编写。
最后如果要上传图片或者文件的话,需要从后台左侧Images
处上传并获取地址。
网吧服务器是2017年5月买的,到现在用了八年了,担心时间这么久,万一坏了就麻烦了,所以购买配件当作备用,但现在购买的普通配件也要比八年前的高,当备用显然也不合适,所以干脆新买的转正,现在用的拿来备用。
固态硬盘:以前服务器用的企业级固态,不是Intel 就是三星,现在国产固态崛起了,咱们也要支持一下,支持国产固态,支持长江存储
万兆网卡:以前用intel x520 经常会断流,后来换了迈洛思,一直很稳定,这次除了买同稳定型号的ConnectX-2 MNPA19-XTR外,还购买了ConnectX-3 MCX311,准备后者拿来用,前者当备用。
主板,CPU,内存:听广东小谭的建议直接用华南X99的主板,至强2666V3,内存直接升到128G
今天货全部到了,晚上把机箱风扇和电源装了上去,准备明天装好主板和硬盘,再研究设置和服务器系统。
5月19日从南昌到上饶高铁下车后,按标识往三清山专线走,路边有一群的士司机,说50元/人,可以在10分钟内马上走,专线虽然只要47元/人,但要停靠好多个站点,到达三清山要将近2小时,的士只要1小时30分,听着也有道理,于是我们选择了这的士,她还特意问:不会骗人的吧?一群的士司机异口同声的回答:“我们上饶人不会骗人的”。
司机把我们带到车里,让我们等待,说是去接另外两个预定好的游客,我们等了快20分钟,也没有下来,心想会不会骗人:根本就不存在预定的游客,他只是再去等下一班动车看看能不能拼到4人再出发。后来验证了我们的猜想,打电话催他后,很不情愿的下来了,说要加50元才能走,要不然就要等他接到“预定的客人”,他们晚点了。
听着这样的谎言很生气,但也没办法,要不然再去坐下班专线,还要等30分钟,只好讨价还价,总共124元出发。路上司机看到他的同事接到了4个人时,很是后悔,用方言在他们的群里抱怨都是我们催促造成的,他以为我们听不懂,实际我们大概都能听出来。路上,司机又接到了一位也是去三清山拼车的女生,所以最后是没有加我们的钱。
车开到一半时,司机问我们是到金沙索道,还是外双溪索道,我们都说是到金沙索道,司机说:“金沙索道人非常多,你们到那里排队要2小时以上,外双溪人就比较少,建议你们还是去外双溪”。听司机这样说,那位女生就想在外双溪下,但我觉得又是满满的套路:外双溪距离更近,人少的原因是这里登山更陡,体力要求更高。花同样的路费,司机想让我们在外双溪下,赶紧又回去接下批客人,所以一直“苦口婆心”的劝说我们,说是为我们好。听到我坚持要在金沙索道下时,还摇头叹气,一副“好心劝说,你不听”的表情。。。
下次遇到这种情况再不敢相信了,满满的都是套路。
原本和朋友想去厦门吃海鲜自助,再去南昌游玩,和她说了以后,去南昌和上饶,她爽快答应,但去厦门就不太方便。于是我们在5月17日直接到了南昌,一路游览了江西省美术馆,八一广场,万寿宫,滕王阁,海昏候博物馆。第二天到三清山游览,山下是太阳,山上却雾气蒙蒙,像下雨一样,所以没看到什么风景,直到下山时才散开一些。在回来的路上才想起,最重要的江西省博物馆忘记游览了。。。
由于上次的原因
,这次和她出游,我做足了心理准备,所以留下的遗憾并不多,也聊得很开心,要离开时,虽然有点舍不得,但至少不会那么的难受。到家后心态也比较平稳,只是昨天晚上做梦到她后,今天有那么一点伤感,特别是刷抖音听到伤感的歌曲时,所以我赶紧转移视线,不去想,不去看,也就不会了,这样的状态才是正常的状态。
现在的收银机配置还是2014年的,B85M的主板,I5四代的CPU,Win7系统,现在很多软件对Win7兼容性不是很好,而且这个CPU的性能也不够用了,特别是我要在收银机上云客服的班时感觉非常的卡顿,刚好客户机有退下来的H310M的主板和I5八代的CPU,决定换上去,并安装Win10系统。
之前装好了系统,并且把所有要安装的软件都准备好了,昨天凌晨一点就到网吧安装。原以为准备这么充足,一个小时应该可以全部搞定,没想到过程中遇到各种麻烦:
1,网安的过滤王核心安装完后,没有填写管理中心和网吧编辑的地方,找了半天才发现,安装时要选择不用原来的配置。
2,安装收银软件时,提示不支持该系统版本,之前我也确认过这个Win10-22h2是支持的,到官网下载了MSDE的版本,安装时收银软件是支持了,但数据库MSDE不支持,换SQL版本后,SQL数据库是支持了,但收银软件又不支持。弄了了快一个小时没解决,最后发现SQL版本虽然提示收银端不支持,但叉掉提示后,继续安装也可以安装成功了。。。
3,鼎识刷卡器Win10的驱动下载好的,但安装时完全装不上,找了多个提供的地方也找不到,最后还是通过360驱动打上的。
4,小票打印机驱动怎么都装不上,到官网下载了win10的驱动也不行,最后电话打到资江打印机技术那里,回复是这个小票打印机是2014年之前出厂的,不支持win10了,要重新购买过。。。
准备了这么充足,结果还是遇到这么多问题,弄了一个晚上终于基本都弄好了。。。
2023年4月12日我写了一篇日记“触动”
,是记录这么多年来,4次被触动的经历和感受,分别是:2005年11月,2010年1月,2017年1月,2023年3月。前3次都是对异性产生爱恋的情感,第4次则是对残友群体产生不舍的感觉。
原以为不会再有这样的情况了,没想到在2023年9月,到龙岩市残疾人互联网孵化基地培训时又产生了,这次不当对残友群体舍不得,更是对一位女生产生了情愫,当时这两份情感
把我折磨的好苦好苦。。。
回来后,用了几个月的时间,我才慢慢淡忘,才走出来。我又以为,应该不会再有这样的情况发生了,没想到在2025年4月,和这位喜欢的女生相约一起出游,在回来后又产生了。出游前,我就想:“只有几天的时间,肯定不会产生什么感觉的”,但我太高估自己了,这种情感是无法控制的,在回来当天,我对她就感到非常的舍不得,然后一直在回忆旅行时的细节,一直在想念,一直在回味,做什么事都没心思,也刻意连续几天用喝醉来麻痹自己,但一直到今天还是不能释怀。
以前看电视,很讨厌剧情里的情情爱爱,现在自己经历了才明白,原来喜欢一个人,会无缘无故的伤感,会莫名其妙的流眼泪,会这么的刻骨铭心。。。