logo
4
0
WeChat Login
hnnk<i@passby.me>
upd

基本使用方法

Fork本仓库。
执行按钮 第一个 点击。
输入大文件的URL,点击左下角按钮。
等待,文件会在cf_downloader_开头的分支的dist文件夹出现。

或者,

云开发环境 一键起飞
打开命令行

./zzz_only_download.sh $file_url_hosted_on_cloudflare

也可尝试先对cf节点测试并修改hosts的版本

./zzz_write_hosts_then_download.sh $file_url_hosted_on_cloudflare

项目介绍

big-file-downloader,利用cnb下载大文件。
⚠️注意,此项目仅限个人偶尔频率的使用。
⚠️大公司请绕道去咨询阿里云/各种云的顾问, 或使用 Aspera / RaySync 等工具。
⚠️仅限用于合法用途,任何违法用途的后果,由使用者本人承担。开发者不承担任何责任。如果不同意本条,请不要继续使用!

本项目原名cloudflare_transfer,本意是利用cnb.cool的云开发环境
再利用赛博菩萨Cloudflare中转阿里云OSS海外区域的大文件。
因为可以免流量费(请求费照样收)。

文件夹及文件说明

cfst_linux文件夹,来自于CloudflareSpeedTest项目,可以检测cf最快的IP。
为了方便将最快IP写入本地hosts,用NodeJS语言,手写了node_write_hosts文件夹。
因为默认的云开发环境不包含Node,也不包含aria2,然后就修改了云开发环境默认的镜像,使用了
https://cnb.cool/znb/images 的 debian-node22 , 并增加了aria2 。
github_actions_repo_demo文件夹供高端用户自己折腾,见文末。

yyy_开头的sh文件仅供脚本调用,不要自己直接执行。
zzz_开头的sh文件, 可以在云开发环境自己执行。 其中 zzz_write_hosts_then_download.sh 仅支持云开发环境,不支持云构建。
代码仓库master分支,网页上的执行按钮,对应
zzz_only_download.sh

zzz_pull_ghcr_upload_git_lfs.sh

原始设想 利用阿里云OSS与CF中转文件

第一步:阿里云OSS,新加坡/日本/美国区域,创建存储桶。OSS配置域名,在cf上解析域名,套上cf的防护盾。

域名有效期内,仅需一次

第二步:在海外网络环境下,下载大文件。可选方案,云电脑、云手机、VPS、云服务器等。
第三步:在海外网络环境下,上传到OSS存储桶。5GB以内文件,可以直接使用网页版 oss.console.aliyun.com 上传。或在linux下使用ossutil工具上传。

linux服务器也可以借助neko/noVNC等项目实现浏览器网页下载文件与上传文件。
https://github.com/m1k1o/neko https://cnb.cool/set/Playground/Desktop

第四步:最终用户,国内网络环境,cf优选,修改hosts,使用fdm等多线程下载工具下载。
或 云开发linux环境内优选cf,修改hosts,使用aria2下载到云开发环境。
第五步:将文件上传到云开发的git lfs 。 (如果不使用lfs,会限制100M以内文件才能获取HTTP下载链接)

第六步:最终用户使用fdm等工具下载文件。

此项目解决 第四步 与 第五步

手动设置套了cloudflare CDN的网站的hosts

去zhale.me / itdog.cn
对以下六个网站测速
www.visa.cn / www.visa.com.hk / time.is / ping.pe
ip.skk.moe / ip.sb

or go to https://cf.vvhan.com/
or https://www.wetest.vip/page/cloudflare/address_v4.html
or https://github.com/XIU2/CloudflareSpeedTest
find some clue

高端用户看这里

前三步也可以直接用Github Actions实现,直接上传至临时的build artifacts内。
或者传到公开的repo的Github Packages内.
参见 github_actions_repo_demo 文件夹。

或者传到github release内(单文件2GB内,每次1000个文件以内)。
https://docs.github.com/en/actions/tutorials/publish-packages/publish-docker-images
https://docs.github.com/en/billing/concepts/product-billing/github-packages

cnb上的其它相关项目:
https://cnb.cool/znb/hubproxy
https://cnb.cool/ace/docker