CTList 萌咖大佬搞出来 天翼云盘的目录列表程序,支持视频播放

图片来自:Rat's Blog

04-15更新:因某些原因,作者关闭 【CTList】 在 Github 的链接,已上车的可以继续用

简介

整个站点目录支持在nPlayer播放器中使用,之前通过BUG撸的30T和老用户10T2T空间的都可以利用一下,对于新用户,现在默认30G空间,但经常有送容量的活动。

天翼云网盘的人开始多了起来,在国内使用的话,速度还是很不错的,基本上速度都是秒开,当然,看片也是无需等待,萌咖大佬就写了个天翼云网盘的目录列表程序CTList,安装也是十分简单。

整理的一些说明

  1. 在 nPlayer 中, 各种视频进度条随便拉。流量是本地直连天翼云,不走小鸡。
  2. 使用的是 cloud.189.cn 网页接口.只需要账户密码,即可使用.(比起TCShare目录列表,就不需要找api了)
  3. 和 OneList 使用方法类似,皮肤完全相兼容.
  4. 非开源程序,使用程序需授权.
  5. 地址: https://github.com/MoeClub/CTList

功能

  • 支持多账户
  • 支持显示文件夹大小
  • 支持每天自动签到
  • 支持异步缓存
  • 支持隐藏指定文件夹和文件
  • 支持整个目录,单层目录或单文件访问加密
  • 支持展示任意目录,自定义根目录
  • 支持只读挂载到nPlayer(WebDAV)

安装

准备工作

CTList皮肤文件与OneList皮肤文件完全兼容.

可实现在线浏览图片,在线观看视频等其他功能 点此前往下载

授权码 [32位小写字母和数字,一个授权码可以绑定多个用户名,用于启动多账户.] [获取授权码] (请到低下看授权码数如何获取等信息。)

主程序 (CTList)

配置文件 (config.json)

皮肤文件 (index.html)

  • Github地址:https://github.com/MoeClub/CTList
  • 天翼账号

老用户就不用申请了,新用户点击→传送门,选择短信验证码登录即可,这里联通、移动手机号都可以登录注册。

  • 安装CTList

ps:如果你使用国内机器,可能会因为GIT被污染下载失败。我会将git源码打包到 这里。(如果你在很久之后浏览,那么这个程序不是最新的。2020-04-15)

#新建并进入CTList目录
mkdir /opt/CTList && cd $_

#64位系统下载
wget https://raw.githubusercontent.com/MoeClub/CTList/master/exec/amd64/linux/CTList
#32位系统下载
wget https://raw.githubusercontent.com/MoeClub/CTList/master/exec/i386/linux/CTList
#arm架构下载
wget https://raw.githubusercontent.com/MoeClub/CTList/master/exec/arm/linux/CTList

#给予权限
chmod +x CTList

#下载配置文件
wget https://raw.githubusercontent.com/MoeClub/CTList/master/config.json
#下载默认的主题文件
wget https://raw.githubusercontent.com/MoeClub/CTList/master/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

  • 启动CTList

这里启动改成了授权模式,需要申请码获取授权码,获取授权码→传送门Apply Token和用户名即手机号必填,且一个申请码只能绑定一个天翼云账号,绑定多个账号需要在同样的授权码上绑定其它账号。  杂货店→传送门  (要钱)

[Success]: 绑定成功.
[Query Mode]:查询模式, 查询授权码. 申请码已经被使用.
[Query Mode] CTList Auth: 5a83875cad73cc653244fcd87f3ca0bc   (这样就是被用了)

获取到授权码后开始启动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为访问端口,运行前自行修改。/opt/CTList/CTList 为CTList的绝对路径。

  • 开机自启

这里新建一个简单的systemd配置文件,适用CentOS 7Debian 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

卸载

#未设置开机自启
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:8000/CTList 
例如: "SubPath": "/" 
访问: http://127.0.0.1:8000/


2、寻找目录ID

用于RootPathIdHideItemIdAuthItemId配置项,登陆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 "8000")
  -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
#免费领取家庭云1T空间
https://m.cloud.189.cn/zhuanti/2019/1t-v2/web.html

申请码

CTList Apply Token申请码:

Rat's 大佬会经常发码:点击查看

如果不缺钱或者想支持下萌咖的,可以前往萌咖杂货店花点小钱买一个,杂货店→传送门

天翼云网盘登陆验证码识别API(基于开源OCR识别)

# 目前去噪算法只支持天翼云网盘登陆的验证码(其他类型根本识别不出来)

# 使用时可多次尝试下载不同的验证图片进行提交(目前准确率不算高,但可用.)

# 下载天翼云验证码需要添加请求头 "Referer: https://open.e.189.cn/"

# 接口: https://api.moeclub.org/SampleCode

# 方式: POST

# 参数: Base64=<IMAGE_BASE64_CODE>&Type=CTCloud

# 返回: 状态码:200, 显示识别结果. 状态码:404, 识别错误或结果不符合预设规则, 显示为空.

 

参考文章:

https://github.com/MoeClub/CTList

https://www.hostloc.com/thread-674459-1-1.html

https://www.moerats.com/archives/1028/

阅读剩余
THE END