共计 6451 个字符,预计需要花费 17 分钟才能阅读完成。
说明:有很多OneDrive
和Google Drive
网盘目录列表程序,但在国内使用的话,网络速度都不理想。最近使用天翼云网盘的人开始多了起来,在国内使用的话,速度还是很不错的,毕竟由电信骨干网支持,国内AWS
为文件实际储存节点,基本上速度都是秒开,当然,看片也是无需等待,这里萌咖大佬就写了个天翼云网盘的目录列表程序CTList
,安装也是十分简单,整个站点目录支持在nPlayer
播放器中使用,之前通过BUG
撸的30T
和老用户10T
和2T
空间的都可以利用一下,对于新用户,现在默认30G
空间,但经常有送容量的活动,这里就说下安装方法。
截图

更新
优化文件访问/下载速度,已安装过的建议更新下,最新版地址:https://github.com/iiiiiii1/CTList。 | |
原作者地址:https://github.com/MoeClub/CTList |
功能
- 支持多账户
- 支持显示文件夹大小
- 支持每天自动签到
- 支持异步缓存
- 支持隐藏指定文件夹和文件
- 支持整个目录,单层目录或单文件访问加密
- 支持展示任意目录,自定义根目录
- 支持只读挂载到
PotPlayer
(WebDAV
),nPlayer
(WebDAV
)
申请码
提示:获取到授权码后,只能和绑定的账号一起用,在任意服务器都可以安装使用。 | |
CTList Apply Token申请码渠道目前只有到moerats博客评论免费申请:https://www.moerats.com/archives/1028/ | |
博主会不定时发码。 |
安装
这里只详细说下Linux
的用法,Windows
、MacOS
系统二进制文件下载地址→传送门,使用方法和Linux
都差不多。
我也安装了一个,https://ctlist.xiazai.de/CTList/ ,可以试试速度。
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 |
#作者 | |
https://github.com/HaorWu | |
#特点 | |
支持移动端自适应 | |
支持当页搜索 | |
支持按文件名, 日期, 大小排序 | |
支持主动查看图片 | |
支持在线播放视频 | |
#下载地址 | |
https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/HaorWu/index.html |
#作者 | |
https://github.com/jackjieYYY | |
https://www.hostloc.com/space-uid-38920.html | |
#特点 | |
支持移动端自适应 | |
支持当页搜索 | |
支持按文件名, 日期, 大小排序 | |
支持在线播放视频 | |
#下载地址 | |
https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/jackjieYYY/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
和用户名即手机号必填,且一个申请码只能绑定一个天翼云账号,绑定多个账号需要在同样的授权码上绑定其它账号。
CTList Apply Token申请码渠道目前只有到moerats博客评论免费申请:https://www.moerats.com/archives/1028/ | |
博主会不定时发码。没有授权码无法启动。 |
#申请码使用提示 | |
[Success]: 绑定成功. | |
[Query Mode]:查询模式, 查询授权码. 申请码已经被使用. | |
如果没有有效授权的用户, 运行程序时会出现Error! No Valid User. |
获取到授权码后开始启动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
参数路径,自行修改。
如果你访问不了程序,可能要检查下防火墙端口,有安全组的也要放行下相关端口。
7、开机自启
这里新建一个简单的systemd
配置文件,适用CentOS 7
、Debian 8+
、Ubuntu 16+
。
#将以下代码一起复制到SSH运行 | |
cat > /etc/systemd/system/ctlist.service <<EOF | |
[Unit] | |
Description=ctlist | |
After=network.target | |
[Service] | |
Type=simple | |
ExecStart=/opt/CTList/CTList -a 这里写授权码 -bind 0.0.0.0 -port 这里写端口号 -l | |
Restart=on-failure | |
[Install] | |
WantedBy=multi-user.target | |
EOF |
相关命令:
开机自启: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绑定
安装Caddy:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/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 |
使用问题
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 配置为空("")或者为单斜杆("/")时 | |
访问路径为 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: 一般是服务器端的问题. 部分可能的情况有: 主程序没开, 端口不通, 反代配置不正确. |
最后该程序拿来搭建个下载站什么的基本够了,空间多的还可以下点电影啥的看看都行。 | |
版权声明:本文为转载文章,版权归 Rat's Blog 所有,转载请注明出处! | |
本文链接:https://www.moerats.com/archives/1028/ | |
如有问题,可以评论交流,原博客评论全是求码的。 |