前言
当然,即使错过以上两个机会也没有关系,在2020-6-1之前,天翼云盘还有免费的三个月黄金会员能领,可以增加6TB的临时空间,再加上家庭云随便拉两个人就能增加1TB的空间,绑定宽带再赠送2TB的空间,其实一个账号就能拿到3TB的永久空间和6TB的临时空间。
由于以上种种原因,许多大佬成功薅到了羊毛后,开始打了天翼云盘的注意。比如说天翼云盘下载是不限速的,那么能不能像OneDrive一样把目录分享出来给别人下载呢?毕竟30TB、10TB的大盘鸡可比一墙之隔的OneDrive 5TB要香多了。
近日,萌咖的大佬就写了这样一个程序,原名TCList(TianYi Cloud List),但是这样的话总让人觉得和TCL有什么奇怪的py交易,所以后来就改成了CTList,GitHub链接在这里:CTlist或者备份地址:
准备工作
1、申请天翼账号
老用户就不用申请了,新用户点击→传送门,选择短信验证码登录即可,这里联通、移动手机号都可以登录注册。
2、安装CTList
#更新yum
yum update
#安装wget
yum install wget
#centos系统,升级源,国内基本必须
yum install epel-release
#安装golang
yum install golang
#查看版本号,建议先运行下这个,说不定系统安装了
go version
#新建并进入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
文件,覆盖即可。
然后选择编辑config.json文件
[
{
"Enable": 1, # 0: 关闭, 1: 打开
"UserName": "", # 天翼云网盘登陆用户名,不需要@189.cn.
"Password": "", # 天翼云网盘登陆密码
"CaptchaMode": "0", # 验证码. 0: 遇到验证码拒绝登陆, 1: 手动输入验证, 其他: 自动识别验证码的API.
"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
,不然运行会出错,使用命令:
[ -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
6、启动CTList
这里启动改成了授权模式,需要申请码获取授权码,获取授权码→传送门,Apply Token
和用户名即手机号必填,且一个申请码只能绑定一个天翼云账号,绑定多个账号需要在同样的授权码上绑定其它账号。
关于申请码博主会经常在本页面发放,如果不缺钱或者想支持下萌咖的,可以前往萌咖杂货店花点小钱买一个,杂货店→传送门。
获取到授权码后开始启动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
为访问端口,运行前自行修改。
6、开机自启
这里新建一个简单的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 "授权码" -bind 0.0.0.0 -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
卸载
#未设置开机自启
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 项唯一.
当 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: 一般是服务器端的问题. 部分可能的情况有: 主程序没开, 端口不通, 反代配置不正确.
宝塔进行域名反代
此时如果成功的话,用你的ip:端口号,应该能访问到你的天翼云直链程序了。那么如果我们想要用自己的域名要怎么访问呢?首先打开宝塔,新建一个站点,例如www.baidu.com。至于根目录在哪里并不重要,默认就好了。
先开启SSL和强制HTTPS。
然后开启反代,输入http://127.0.0.1:5288。这里把端口号换成你自己的端口号,提交一下。
不出意外的话,你应该能通过你的域名访问到你的目录了。
更换皮肤:
CTList完全兼容OneList的皮肤文件,它们是通用的。
可实现在线浏览图片,在线观看视频等其他功能 点此前往下载
快速换皮:
皮肤HaorWu:
支持当页搜索
支持按文件名, 日期, 大小排序
支持主动查看图片
支持在线播放视频
#皮肤 HaorWu
wget --no-check-certificate -qO "/usr/local/ctlist/index.html" "https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/@Theme/HaorWu/index.html"
皮肤jackjieYYY:
支持当页搜索
支持按文件名, 日期, 大小排序
支持在线播放视频
#皮肤 jackjieYYY
wget --no-check-certificate -qO "/usr/local/ctlist/index.html" "https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/jackjieYYY/index.html"
转自笨猫博客,原文https://www.nbmao.com/archives/4089
6p