关于CTlist
CTlist是萌咖大佬用go语言写的一款专门挂载天翼云盘的目录程序,目前流出来的程序还真是不多啊,所以基本没什么好挑剔的。同类程序有狸猫盘(采用PHP构建)、sharelist,由于语言构建方面,用起来均有一点点遗憾。目前CTlist刚刚发布,作为小白鼠,我先尝试一下,用起来响应速度不错,搭建过程异常简单。程序主要有以下特色:
支持多账户
支持显示文件夹大小
支持每天自动签到
支持异步缓存
支持隐藏指定文件夹和文件
支持整个目录,单层目录或单文件访问加密
支持展示任意目录,自定义根目录
项目地址:https://github.com/MoeClub/CTList/
萌咖大佬的博客(貌似几百年不更新了):https://moeclub.org/
注意程序所有者负责解答一切疑难杂症,本人比较菜,我只能尽量回答
2020年4月23日更新:更新了若干BUG,新版本地址https://github.com/iiiiiii1/CTList/
2020年5月24日更新: 萌咖大佬关闭了捐赠通道,已经有授权的可以继续使用,没有的想办法换其他程序吧,且用且珍惜!
环境准备
准备好VPS,安装好go环境,centos7以上理论上是不用管的,注意:此步非必须,作者已经编译好了程序,我是害怕出岔子才搞下的。
#centos系统,升级源,国内基本必须 yum install epel-release #安装golang yum install golang #查看版本号,建议先运行下这个,说不定系统安装了 go version
获取授权
点击这里获取授权:传送门
申请码Apply Token,失效了去作者博客或者TG要,我这里没有。不过我试了,好像可以反复使用。
咨询了萌咖大佬,得到的授权码不会过期,可以放心使用
0865A300BDEA577497C1C7F583594A2B
896BCE3EF0BB07380B4F1202A00E3D5D
489929D36EE1309D51EDF1FC1585C13A
5B2C57AB496071D8F87F32F52DC2B86C
AC86174F46D1B5153571F107490CDFB4
#4月12日新增
A595886127D5A775788C7C2E4D8DBACA
A2173A1C68959F475F97B2B3AC783604
A13B3098570D975AF0EE9ED9E90C3744
10BEE55D853D68E9D7FC3780BCB44556
37A6CBF7F7920C33F644DAE0AAFCBBCD
D4E7E9B66A26CBFCF8C09E8608CA5CD3
7DD1523FADC5A3D39F6FABD63FC22C8C
F303A2E0A7B8D3E84A57CB7CD0895966
5E1E2DD9A3C596895A1210B660A34E62
666AD7EE2BFB717ECAF2AF6177FBED7D
AA98094B000939024F2DD10DA6D09C20
0DAB6E3A9DC9846EDB6E010CFAF1B595
7AFF98E947C6D282F9E32EBA18163368
D724B2CE6C62C3EBEDB2AE56FCA1B72C
1CD0841E4875F3D7EB6FE5732D912347
A90C503EFA219A1146942B0EE58B730A
ED5D0D2DF72A482902A0F7D69C1E7B5E
8312A49A0BFC2AB2309B839B51A3DEDA
7FA8774534C9F7BCA3F4A3234E525C9C
5A6B4D936C09BC9719285B8E604BC7AA
#4月14日新增
AEA7C2560E1EC59AF09139AE813DB1B0
AB0E6941248B328BAC62964CBCAF9B98
525BFC9745FE12C56824994C40528C60
4F059E96C431F3568FEA2A8B8E5DBD5A
C8DDDB202DD7EECE31EA05F88A56A955
E4ECAC00988E8F3C14A0A5F32F4E6474
89228362876D1F67D19174222483FB1C
42B3F4BC47B4D9B031A37DB5873EDD06
F943F69ECF258E70D2B29D32D42565E1
C1FED5725DAC582918686D565048A620
CD2D8BC56DAC4145633A518A52B661AE
4056A908DE77EFFA4CB6F335C581405B
778B831A1BC9AAD8A37B937926C4C557
353D0E0FF8CE29886DC2A8D6CAB9660C
B1B5228BB65760B338B4B126E5D887F1
E27646819977C06DA6E7934FD8074250
113BA1014657F7F481DD0499CB67028B
155271E38C3FB4906B584F67DD6C7AB6
E1D30F0696D89767D12DE15189A10301
26263CBC82C38771C077E280411A0F3A
申请成功如下
程序下载
下载地址:传送门,选择你的操作系统对应的主程序,下载到相应的目录即可。
#liunx 64位 https://raw.githubusercontent.com/MoeClub/CTList/master/exec/amd64/linux/CTList #liunx 32位 https://raw.githubusercontent.com/MoeClub/CTList/master/exec/i386/win/CTList #win 64位 https://raw.githubusercontent.com/MoeClub/CTList/master/exec/amd64/win/CTList.exe #win 32位 https://raw.githubusercontent.com/MoeClub/CTList/master/exec/i386/win/CTList.exe #支持MAC等等,具体下载地址到这里找 https://github.com/MoeClub/CTList/tree/master/exec
配置文件
程序运行需配置相关的配置文件方可正常运行。
配置文件有两个。分别为config.json、index.html
config.json主要用于配置程序启动参数
index.html用于前端显示及风格
以下为config.json文件配置注释。
无特殊需要,只需要填写账号密码即可(前4项)。修改配置后需重新启动CTList。
CaptchaMode填充为”https://api.moeclub.org/SampleCode”用于识别登陆验证码。默认:“ 0”
[ { "Enable": 1, # 0: Disable, 1: Enbale. ## 0: 关闭, 1: 打开 "UserName": "", # Input Phone Number. ## 天翼云网盘登陆用户名. "Password": "", # Input Password. ## 天翼云网盘登陆密码 "CaptchaMode": "0", # Captcha Mode. 0: Auto Reject, 1: Manual Input, other: API URL. ## 验证码. 0: 遇到验证码拒绝登陆, 1: 手动输入验证, 其他: 自动识别验证码的API. "RefreshToken": "", # Token. * Do Not Modify It. ## 天翼网盘会话. 保持默认, 如果出现异常, 请将该值清空. "SubPath": "/CTList", # Index Path. * Unique Per Account. ## 指定某账户挂载在网站的某个目录, 多账户时每个目录值必须唯一. "RootPathId": "-11", # Default Root: -11 ## 设置展示天翼网盘目录的ID, 根目录为 -11. "HideItemId": "0|-16", # Allow Folder and File. ## 不展示某个目录或文件, 填写其ID. 每项用"|"分隔. "AuthItemId": "", # HTTP 401. ## 加密某个目录或文件. "<文件或者目录的ID>?<加密模式>?<用户名>:<密码>" "RefreshURL": 189, # Min: 180, Max: 1800; Allow Max: 2329 ## 下载直链缓存的秒数. 超时则被动更新. "RefreshInterval": 1800 # Max: Null, Min: 300 ## 刷新目录结构,如果不常更新,建议设置更长时间. } ]
访问地址
根据配置文件中的SubPath项中参数访问具体网盘
一般 SubPath 的具体值在终端中显示在中括号内. 比如: [/CTList]
例如: "SubPath": "/CTList" 访问: http://127.0.0.1:5189/CTList 例如: "SubPath": "/" 访问: http://127.0.0.1:5189/
安装实例
注意:以下全部在同一目录内操作。
更新系统安装wget
#更新yum yum update #安装wget yum install wget
下载主程序
#创建个目录,也可以不创建,直接用根目录开搞,不利于系统搬移 mkdir /home/ctlist &&cd /home/ctlist #下载程序文件,具体见上,这里是centos7-64 wget https://raw.githubusercontent.com/MoeClub/CTList/master/exec/amd64/linux/CTList #授权程序可以运行权限 chmod +x CTList
下载配置文件
#配置文件下载 wget https://raw.githubusercontent.com/MoeClub/CTList/master/config.json
编辑保持配置文件
#编辑 vim config.josn #填入用户名和密码保持 [ { "Enable": 1, "UserName": "", "Password": "", "CaptchaMode": "0", "RefreshToken": "", "SubPath": "/CTList", "RootPathId": "-11", "HideItemId": "0", "AuthItemId": "", "RefreshURL": 198, "RefreshInterval": 1800 } ]
下载前端首页文件
#下载 wget https://raw.githubusercontent.com/MoeClub/CTList/master/index.html
打开端口,程序默认监听5189端口,也可以直接授权80出去
#CentOS 6 iptables -I INPUT -p tcp --dport 5189 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=5189/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
运行程序
#运行程序,蓝色部分为授权码,授权免费获取可以看上面章节,32位的小写字节 /home/ctlist/CTList -a 5545asd545das5da5as5d4
也可以直接放到80端口上跑起来
/home/ctlist/CTList -a 5545asd545das5da5as5d4 -bind 0.0.0.0 -port 80
程序运行成功提示、仅供参考
[root@xiaolong ~]# /home/ct/CTList -a 2b37ee28a554dcfb3ae4abf0poa7657 -bind 0.0.0.0 -port 80 Config Num: 1 [/CTList]: Login ... [/CTList]: Cache ... [/CTList]: 6965 Done!
这时候打开浏览器,你的完整网址为http://ip:端口/CTList
进程守护
后台运行 (Windows操作系统无效),加个-d参数即可
/home/ctlist/CTList -a 5545asd545das5da5as5d4 -bind 0.0.0.0 -port 80 -d
开机自动运行
首先添加个service
vi /usr/lib/systemd/system/ctlist.service
参考代码,我写的可能不标准,编辑完成保存,我用的是centos7的系统
[Unit] Description=CTList [Service] User=root ExecStart=/home/ctlist/CTList -a 5545asd545das5da5as5d4 -bind 0.0.0.0 -port 80 -d Restart=on-abort [Install] WantedBy=multi-user.target
官方写法,cat > /etc/systemd/system/ctlist.service <<EOF
[Unit] Description=ctlist After=network.target [Service] Type=simple ExecStart=/path/to/CTList -a "<AUTH_TOKEN_32>" -bind 0.0.0.0 -port 80 -l Restart=on-failure [Install] WantedBy=multi-user.target
重载配置
systemctl daemon-reload
测试启动
systemctl start ctlist
开机启动
systemctl enable ctlist
关闭服务
systemctl stop ctlist
查看状态
systemctl status rclone
反向代理
如果你的80端口被占用,和其他web环境共存情况下,可以使用反向代理,将5189进程端口反代一下
使用宝塔面板的直接在后台操作
也可以在直接编辑webxxxx.com.nginx.conf文件,重启nginx进程生效
location ^~ /onedrive/ { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:5288; }
程序命令
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.
加密目录
AuthItemId
配置项 采用 HTTP 401 认证方式加密
# 单个写法 "AuthItemId": "-11?0?UserName:Password" # 多个写法 "AuthItemId": "-11?0?UserName:Password|-16?1?UserName:Password" # 字段解析 <文件或者目录的ID>?<加密模式>?<用户名>:<密码> # 加密模式 0: 只加密这一层文件夹,可以直接访问这层文件夹内部的内容. 1: 加密这个文件夹的所有子项目. 注意: 加密文件选0和1效果相同.
刷新策略
# 4个刷新逻辑完全异步,互不影响. Token(登陆保活): 60 * 60 * 10 Cookie(会话授权): 60 * 30 RefreshURL(真实下载链接): 189 (配置文件可改 <RefreshURL>) RefreshInterval(刷新目录结构): 60 * 15 (配置文件可改, 全局最小值生效 <RefreshInterval>)
寻找目录ID
用于 RootPathId, HideItemId, AuthItemId 配置项
登陆 https://cloud.189.cn ;进入需要操作的目录,查看地址栏最后的数字就是这个目录的ID.
文件ID需要浏览器F12查看请求项.
RootPathId: 列表展示的根目录对应的天翼网盘文件夹ID, 天翼网盘根目录ID为 -11 HideItemId: 在展示目录中隐藏天翼网盘内的文件或文件夹,填写其ID,使用 "|" 分隔 AuthItemId: 在展示目录中加密天翼网盘内的文件或文件夹,使用 "|" 分隔
登录验证
天翼云网盘登陆验证码识别API(基于开源OCR识别)
# 目前去噪算法只支持天翼云网盘登陆的验证码(其他类型根本识别不出来) # 使用时可多次尝试下载不同的验证图片进行提交(目前准确率不算高,但可用.) # 下载天翼云验证码需要添加请求头 "Referer: https://open.e.189.cn/" # 接口: https://api.moeclub.org/SampleCode # 方式: POST # 参数: Base64=<IMAGE_BASE64_CODE>&Type=CTCloud # 返回: 状态码:200, 显示识别结果. 状态码:404, 识别错误或结果不符合预设规则, 显示为空.
风格下载
与onelist风格完全兼容,可以实现在线播放等等功能。
下载地址:传送门
程序下载
官方停止了githup的开发及公开,所以目前补档一下
提示Error! No Valid User.
是Apply Token问题吗
是的兄弟,目前授权码不太好搞了,萌咖大佬也不卖了,以前有的可以继续使用,没有的只能想其他法子了
现在还有其它能用的天翼云挂载吗?
tcshare好像也用不了
1、TCshare中官方API好像还可以用,我没测试,
2、狸猫盘作者已经停止授权:演示地址d2.shikey.com,没路子就不要尝试了
3、TClist作者停止授权,不要尝试了
4、sharelist是唯一一个可以试试的
sharelist挂载完直接报错
tcshare的官方api哪里可以找吗
是不是 必须要用 centos
WIN10 可以搭建吗?如果可以希望出个教材
应该可以。回头更新下
别回头呀!
我怕你忘了
明天来就有了
是不是来早了
没有,昨天的授权码不能用了。不敢乱发,影响他人思路啊
那能不能 单独 和我说说呢
https://shikey.com/2020/05/07/win-ctlist-cloudreve-onelist.html
兄弟。加班写了一节,将就看吧哈,不是在VPS上搭建的,就是在我的电脑上。所以还没写端口映射、域名绑定之类的
这个和TCShare哪个好?
孰好孰坏别人说的都不一定适用,要考自己试试。我用国内某云搭建速度上CTLIST速度要快点。而且CTlist是go语言打包,可以支持win等平台安装配置要方便许多
挖槽,写的好详细。。感谢,见过太多太多项目哪怕是收费项目教程写的跟个屎一样,什么地方报错是因为什么原因导致,怎么解决啥都没,博主这个教程可让我眼前一亮。。点个赞
受宠若惊
大佬,现在如何申请Apply Token
找萌咖大佬要,TG地址https://t.me/MoeClub_SHOP
大佬有这个备份文件嘛,没办法下载喽
已经补了地址,在文章末尾处