├── README.md ├── config.json ├── config_multi.json ├── exec ├── amd64 │ ├── freebsd │ │ └── CTList │ ├── linux │ │ └── CTList │ ├── macos │ │ └── CTList │ └── win │ │ └── CTList.exe ├── arm │ ├── freebsd │ │ └── CTList │ └── linux │ │ └── CTList ├── arm64 │ └── linux │ │ └── CTList └── i386 │ ├── freebsd │ └── CTList │ ├── linux │ └── CTList │ ├── macos │ └── CTList │ └── win │ └── CTList.exe ├── index-classic.html └── index.html /README.md: -------------------------------------------------------------------------------- 1 | # CTList (Golang) 2 | - 支持多账户 3 | - 支持显示文件夹大小 4 | - 支持每天自动签到 5 | - 支持异步缓存 6 | - 支持隐藏指定文件夹和文件 7 | - 支持整个目录,单层目录或单文件访问加密 8 | - 支持展示任意目录,自定义根目录 9 | - 支持只读挂载到 `PotPlayer(WebDAV)`, `nPlayer(WebDAV)`, `kodi(WebDAV)` 10 | 11 | # 配置文件 12 | #### 无特殊需要,只需要填写账号密码即可 (前4项). 修改配置后需重新启动 `CTList` . 13 | #### `CaptchaMode` 填写为 `"https://api.moeclub.org/SampleCode"` 用于识别登陆验证码. 默认: "0"。 14 | ``` 15 | [ 16 | { 17 | "Enable": 1, # 0: Disable, 1: Enbale. 18 | ## 0: 关闭, 1: 打开 19 | 20 | "UserName": "", # Input Phone Number. 21 | ## 天翼云网盘登陆用户名(不要带上'@189.cn'). 22 | 23 | "Password": "", # Input Password. 24 | ## 天翼云网盘登陆密码. 25 | 26 | "CaptchaMode": "0", # Captcha Mode. 0: Auto Reject, 1: Manual Input, other: API URL. 27 | ## 验证码. 0: 遇到验证码拒绝登陆, 1: 手动输入验证, 其他: 自动识别验证码的API. 28 | 29 | "ViewMode": 0, # View Mode. 0: Auto. 1: Only Web Page. 2: Only WebDAV. 30 | ## 显示模式. 0: 自动识别. 1: 只使用网页模式. 2:只使用WebDAV模式. 31 | 32 | "RefreshToken": "", # Token. * Do Not Modify It. 33 | ## 天翼网盘会话. 保持默认, 如果出现异常, 请将该值清空. 34 | 35 | "SubPath": "/CTList", # Index Path. * Unique Per Account. 36 | ## 指定某账户挂载在网站的某个目录, 多账户时每个目录值必须唯一. 37 | 38 | "RootPathId": "-11", # Default Root: -11 39 | ## 设置展示天翼网盘目录的ID, 根目录为 -11. 40 | 41 | "HideItemId": "0|-16", # Allow Folder and File. 42 | ## 不展示某个目录或文件, 填写其ID. 每项用"|"分隔. 43 | 44 | "AuthItemId": "", # HTTP 401. 45 | ## 加密某个目录或文件. "<文件或者目录的ID>?<加密模式>?<用户名>:<密码>" 46 | 47 | "RefreshURL": 189, # Min: 180, Max: 1800; Allow Max: 2329 48 | ## 下载直链缓存的秒数. 超时则被动更新. 49 | 50 | "RefreshInterval": 1800 # Max: Null, Min: 300 51 | ## 刷新目录结构,如果不常更新,建议设置更长时间. 52 | } 53 | ] 54 | ``` 55 | 56 | # 准备工作 57 | #### `CTList`皮肤文件与`OneList`皮肤文件完全兼容. 58 | #### 可实现在线浏览图片,在线观看视频等其他功能 [点此前往下载](https://github.com/MoeClub/OneList/tree/master/Rewrite/@Theme) 59 | - **授权码** [32位小写字母和数字,一个授权码可以绑定多个用户名,用于启动多账户.] **[*[获取授权码](https://api.moeclub.org/CTListRegister/)*]** 60 | - **主程序** (CTList) 61 | - **配置文件** (config.json) 62 | - **皮肤文件** (index.html) 63 | 64 | # 使用示例 65 | #### 将`CTList`, `config.json`, `index.html`三个文件放在同一目录下即可 66 | ``` 67 | # 默认启动监听 127.0.0.1:5189 68 | # ./CTList -a "" 69 | # 直接监听公网. 70 | # ./CTList -a "" -bind 0.0.0.0 -port 80 71 | ``` 72 | 73 | # 访问地址 74 | #### 根据配置文件中的`SubPath`项中参数访问具体网盘 75 | #### 一般 `SubPath` 的具体值在终端中显示在中括号内. 比如: `[/CTList]` 76 | ``` 77 | 例如: "SubPath": "/CTList" 78 | 访问: http://127.0.0.1:5189/CTList 79 | 80 | 例如: "SubPath": "/" 81 | 访问: http://127.0.0.1:5189/ 82 | ``` 83 | 84 | # 后台运行及开机自启 85 | #### * `/path/to/CTList` 为CTList的绝对路径 86 | ``` 87 | # 直接运行 88 | /path/to/CTList -a "" -bind 0.0.0.0 -port 80 89 | 90 | # 不打印HTTP访问日志 91 | /path/to/CTList -a "" -bind 0.0.0.0 -port 80 -l 92 | 93 | # 后台运行 (Windows操作系统无效) 94 | /path/to/CTList -a "" -bind 0.0.0.0 -port 80 -d 95 | 96 | # 以下开机自启方式二选一, 推荐 SYSTEMD 方式. 97 | # 开机自启 (CRON) 98 | 编辑 /etc/crontab 文件, 并在文件末尾多添加几个空行. (有些系统不留空行会出现不能自启动) 99 | @reboot root /path/to/CTList -a "" -bind 0.0.0.0 -port 80 -d 100 | 101 | # 开机自启 (SYSTEMD) 102 | cat > /etc/systemd/system/ctlist.service <" -bind 0.0.0.0 -port 80 -l 110 | Restart=on-failure 111 | 112 | [Install] 113 | WantedBy=multi-user.target 114 | EOF 115 | # 设置服务为开机自启 116 | systemctl enable ctlist 117 | # 启动服务 118 | systemctl start ctlist 119 | ``` 120 | 121 | # 寻找目录ID 122 | #### 用于 `RootPathId`, `HideItemId`, `AuthItemId` 配置项 123 | #### 登陆 https://cloud.189.cn ;进入需要操作的目录,查看地址栏最后的数字就是这个目录的ID. 124 | #### 文件ID需要浏览器F12查看请求项. 125 | ``` 126 | RootPathId: 列表展示的根目录对应的天翼网盘文件夹ID, 天翼网盘根目录ID为 -11 127 | HideItemId: 在展示目录中隐藏天翼网盘内的文件或文件夹,填写其ID,使用 "|" 分隔 128 | AuthItemId: 在展示目录中加密天翼网盘内的文件或文件夹,使用 "|" 分隔 129 | ``` 130 | 131 | # 加密目录 132 | #### `AuthItemId` 配置项 采用 HTTP 401 认证方式加密 133 | ``` 134 | # 单个写法 135 | "AuthItemId": "-11?0?UserName:Password" 136 | # 多个写法 137 | "AuthItemId": "-11?0?UserName:Password|-16?1?UserName:Password" 138 | 139 | # 字段解析 140 | <文件或者目录的ID>?<加密模式>?<用户名>:<密码> 141 | 142 | # 加密模式 143 | 0: 只加密这一层文件夹,可以直接访问这层文件夹内部的内容. 144 | 1: 加密这个文件夹的所有子项目. 145 | 注意: 加密文件选0和1效果相同. 146 | ``` 147 | 148 | # 刷新策略 149 | ``` 150 | # 4个刷新逻辑完全异步,互不影响. 151 | Token(登陆保活): 60 * 60 * 10 152 | Cookie(会话授权): 60 * 30 153 | RefreshURL(真实下载链接): 189 (配置文件可改 ) 154 | RefreshInterval(刷新目录结构): 60 * 15 (配置文件可改, 全局最小值生效 ) 155 | ``` 156 | 157 | # 使用说明 158 | ``` 159 | Usage of CTList: 160 | -bind string 161 | Bind Address (default "127.0.0.1") 162 | -port string 163 | Port (default "5189") 164 | -a string 165 | Auth Token. 166 | -c string 167 | Config file. (default "config.json") 168 | -t string 169 | Index file. (default "index.html") 170 | -json 171 | Output json. 172 | -d 173 | Run in the background. 174 | -l 175 | Less output. 176 | ``` 177 | 178 | # 目录访问 179 | #### `SubPath` 配置项 控制目录访问 180 | ``` 181 | # 多账户时,确保 SubPath 项唯一. 182 | 183 | 当 SubPath 配置为空("")或者为单斜杆("/")时 184 | 访问路径为 http://0.0.0.0 185 | 186 | 当 SubPath 配置为具体字段("/CTList")时, "/CTList" 可以修改成自己喜欢的字段. 187 | 访问路径为 http://0.0.0.0/CTList 188 | 189 | ``` 190 | 191 | # 反向代理 192 | ``` 193 | location ^~ /CTList { 194 | proxy_set_header X-Real-IP $remote_addr; 195 | proxy_pass http://127.0.0.1:5189; 196 | } 197 | ``` 198 | 199 | # 在`nPlayer`播放器中使用 200 | ``` 201 | # 网络 --> 添加 --> WebDAV 202 | # 主机: 填写域名. 203 | # 路径: 填写 SubPath 值. 如: /CTList 204 | # 如果是 HTTPS 站点, 请选中 HTTPS . 205 | # 其他请按照情况填写. 206 | 207 | # 优势: 在播放器中可以播放各种编码格式的视频. 208 | # 可以适当的将最小缓存时间调小,提高浏览体验. 209 | ``` 210 | 211 | # 报错相关 212 | ``` 213 | 400(Not Found URL): 未能找到该文件的链接. 214 | 404(Not Found): 未完成初次缓存目录结构或文件路径不正确. 215 | 422(Not Found Real URL): 未能生成真实的文件下载链接(一般是文件被举报了,无法下载). 216 | 5XX: 一般是服务器端的问题. 部分可能的情况有: 主程序没开, 端口不通, 反代配置不正确. 217 | ``` 218 | 219 | # 天翼云网盘登陆验证码识别API(基于开源OCR识别) 220 | ``` 221 | # 目前去噪算法只支持天翼云网盘登陆的验证码(其他类型根本识别不出来) 222 | # 使用时可多次尝试下载不同的验证图片进行提交(目前准确率不算高,但可用.) 223 | # 下载天翼云验证码需要添加请求头 "Referer: https://open.e.189.cn/" 224 | 225 | # 接口: https://api.moeclub.org/SampleCode 226 | # 方式: POST 227 | # 参数: Base64=&Type=CTCloud 228 | # 返回: 状态码:200, 显示识别结果. 状态码:404, 识别错误或结果不符合预设规则, 显示为空. 229 | ``` 230 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Enable": 1, 4 | "UserName": "", 5 | "Password": "", 6 | "CaptchaMode": "0", 7 | "ViewMode": 0, 8 | "RefreshToken": "", 9 | "SubPath": "/CTList", 10 | "RootPathId": "-11", 11 | "HideItemId": "0", 12 | "AuthItemId": "", 13 | "RefreshURL": 198, 14 | "RefreshInterval": 1800 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /config_multi.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Enable": 1, 4 | "UserName": "", 5 | "Password": "", 6 | "CaptchaMode": "https://api.moeclub.org/SampleCode", 7 | "ViewMode": 0, 8 | "RefreshToken": "", 9 | "SubPath": "/CTList00", 10 | "RootPathId": "-11", 11 | "HideItemId": "", 12 | "AuthItemId": "", 13 | "RefreshURL": 198, 14 | "RefreshInterval": 1800 15 | }, 16 | { 17 | "Enable": 0, 18 | "UserName": "", 19 | "Password": "", 20 | "CaptchaMode": "0", 21 | "ViewMode": 0, 22 | "RefreshToken": "", 23 | "SubPath": "/CTList01", 24 | "RootPathId": "-11", 25 | "HideItemId": "0|-16", 26 | "AuthItemId": "", 27 | "RefreshURL": 256, 28 | "RefreshInterval": 2400 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /exec/amd64/freebsd/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/amd64/freebsd/CTList -------------------------------------------------------------------------------- /exec/amd64/linux/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/amd64/linux/CTList -------------------------------------------------------------------------------- /exec/amd64/macos/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/amd64/macos/CTList -------------------------------------------------------------------------------- /exec/amd64/win/CTList.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/amd64/win/CTList.exe -------------------------------------------------------------------------------- /exec/arm/freebsd/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/arm/freebsd/CTList -------------------------------------------------------------------------------- /exec/arm/linux/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/arm/linux/CTList -------------------------------------------------------------------------------- /exec/arm64/linux/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/arm64/linux/CTList -------------------------------------------------------------------------------- /exec/i386/freebsd/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/i386/freebsd/CTList -------------------------------------------------------------------------------- /exec/i386/linux/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/i386/linux/CTList -------------------------------------------------------------------------------- /exec/i386/macos/CTList: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/i386/macos/CTList -------------------------------------------------------------------------------- /exec/i386/win/CTList.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iiiiiii1/CTList/54cf3686458767fa8d8df4564e16f66092f575dc/exec/i386/win/CTList.exe -------------------------------------------------------------------------------- /index-classic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CTList 6 | 141 | 142 | 143 |

144 | CTList 145 |

146 |
147 |
148 |
149 |

CTList Local Path

150 | 151 |
152 | 153 |
154 |
155 |
156 | 157 | 158 | 159 | 160 | 161 | 162 |
文件时间大小
163 |
164 |
165 |
166 | 300 | 301 | 302 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | CTList - / 9 | 10 | 11 | 14 | 15 | 16 |
列表时间大小
17 | 18 | 38 | --------------------------------------------------------------------------------