前言
最近准备再补充一点音乐,但是很多音乐分享都在城通网盘,然后我就发现现在的网盘一个比一个恶心。
城通网盘可以说比百度网盘还要恶心,速度就可怜的几十kb,百度网盘平均还有个200kb/s左右呢。。。
只能试着找找看有没有科技狠活了,别说,还真有~
不过这种方法也只能达到2M/s,不过对我来说已经完全足够了。
方案
先贴链接:GitHub - nekohy/ctfile-downloader: 城通网盘破解限速-绕过线程限制
不用自己部署,直接访问现成的网站进行解析即可: 城通网盘下载器
第一步:获取下载地址
打开需要下载的文件,点击【客户端下载】,此时会弹出对应的 ctfile://xxxxxx 地址:
第二步:解析
访问城通网盘下载器,并将上述地址粘贴进去进行解析:
第三步:下载
将解析出来的地址粘贴到下载工具中进行下载即可,还支持断点续传。
这边推荐使用【Motrix】,下载直接跑完2M/s,使用【IDM】的话只有800kb/s左右,其他下载工具未试。
最后
要说现在网盘哪个好,注重隐私和体验来说,我其实还是推荐 OneDrive,但是国内确实局限性比较大,其次是 夸克网盘,非高峰时间段(白天上班时间及深夜凌晨)下载也给40Mb/s,其他一个都不推荐。
补充
最近网友们反馈作者提供的网站经常有密码,可能是使用的人多了就做了限制。
这边再补充一种我觉得更简单的方法:
城通网盘命令行下载工具
GitHub - ericwang2006/ctfile-cli: 一个跨平台的城通网盘(CTfile)命令行下载工具,支持高速多线程下载。
使用方法:
从 Releases 页面下载适合你系统的预编译版本,在相应的目录打开终端:
./ctfile-cli ctfile://<xtlink>
这个方法比上面讲的更佳简单高效。287M的文件下载就2分钟多点。
推荐使用这种方法!
鉴于上面的两种方法时不时无法使用,只能自己动手来搞定这个事情。
该方法不适用于所有人,需要有一定网络基础以及动手能力的人!
自己动手方案
一、需求
-
Github账号
-
域名,可以托管到Cloudflare的免费域名即可(如果没有的话,即使部署成功了,国内也无法访问)
-
很多个城通网盘的账号(需要自己注册)
-
虚拟机或者服务器(可选,前端页面需要)
为什么需要很多个账号?
可以理解为:城通网盘对每个账号的下载速度有限制,但它不会限制你从多个账号同时下载:
-
每个
token是一个独立的会话 -
多个
token可以并发请求同一个文件的不同部分 -
后端将这些部分拼接成完整文件返回给用户
这类似于迅雷的“多线程下载”原理,只不过这里是“多账号下载”。
也就是说,一个账号的 token 速度是 100kb/s,那么十个账号加起来就可以达到 1000kb/s。这就是这个应用的本质,因此部署这个项目费时费力,也就造成了维护起来也麻烦。
二、后端部署
知道了理论,我们进行实践:
1.获取Token
在终端通过以下命令获取:
curl -X POST 'https://rest.ctfile.com/p2/user/auth/login' -H 'User-Agent: okhttp/4.9.2' -H 'Content-Type: application/json' -d '{
"token": null,
"username": "邮箱",
"password": "密码",
"app_version": "3.7.6"
}' -k
得到 token 的值:
多个账号,获取多个
token保存下来。
2.Fork仓库
访问项目:GitHub - nekohy/ctfile-downloader: 城通网盘破解限速-绕过线程限制,点击Fork,接着创建即可。
3.配置token
上一步完成后会跳转到fork下来的仓库,进入 src 文件夹,点击 token.ts.example 文件,再点击编辑按钮,将里面的内容替换为获取到的 token 值,格式为:
export const TOKENS: string[] = [
"token1",
"token2",
"token3"
];
由于我演示就使用自己账号的一个token了,将文件名最后的 .example 删除后保存:
至此,GitHub这边完成了。
4.Cloudflare部署
访问 Cloudflare官网 登陆并且绑定域名。(这边不多赘述了,网上很多教程)
来到 【Workers & Pages】栏目,点击 Create application,接着选择【从Github存储卡导入】:
选择刚刚fork下来的项目:
名称随意,点击底部的【创建并部署】,等待几十秒部署完成:
来到【设置】页面,添加自定义域,也就是使用自己的域名,自己的域名可以在国内访问,它默认给的域名国内应该是无法访问的,我没做测试,不确定。
在你的域名后面加上 /meow ,看看是否有输出,有输出说明这一步部署成功:
二、前端部署 (可省略,直接跳到下一步)
前端页面项目: GitHub - nekohy/ctfile-downloader-panel
这一步在虚拟机或者服务器上操作:
确保虚拟机已经安装了 nodejs ,并运行以下命令:
git clone https://github.com/Nekohy/ctfile-downloader-pane #将项目下载到设备
cd ctfile-downloader-pane #进入项目文件夹
npm install -g pnpm #安装pnpm包管理器
接着创建一个名为 .env.local 到环境变量
vim .env.local
该文件内容为:
NEXT_PUBLIC_API_URL=https://xxx.xxxx.org #后端的URL
接着继续输入以下命令:
pnpm install #安装依赖
pnpm dev #运行项目
输出如下:
说明启动成功了。
现在可以访问这个地址进行解析下载了。
三、纯后端获取解析地址
第二步要求相对比较高,在不配置前端页面的时候,我们可以使用以下方法进行解析。
在第一步我们配置好的后端地址假设为:http://ctfile.xxx.org
只需在电脑的终端输入以下命令:
curl "http://ctfile.xxx.org/download_info?xtlink=ctfile://城通网盘分享链接"
获取该分享链接下的文件信息:
得到的 key 值就是要传给 /download 接口的 file_id。
也就是解析出来的下载链接为:
http://ctfile.xxx.org/download?xtlink=ctfile://城通网盘分享链接&file_id=f1363308469
说明:
-
获取文件信息:使用
/download_info?接口 -
下载文件:使用
/download接口,并且在链接后面添加指定文件&file_id=<key的值>
测试
因为我电脑没有下载工具,而且我是用一个token部署的,就直接用系统的终端下载测试(不支持多线程),显示的就是正常单账号的下载速度,多个账号就不测试了。懒~
方法教给大家了,大家可以尝试部署一下。
没有金钱成本,就是时间成本比较大。一步步走也不难的。

















