Replies: 392 comments 52 replies
-
# 自建下载测速地址(二选一):1. Cloudflare Workers 文件反代(无需服务器,需要域名)
可以利用 Cloudflare Workers 服务,这个只限制访问次数不限制流量,免费版每日 10 万次数限制(每天 8 点重置)。 「 点击展开 查看快速搭建步骤 」简单来说就是:创建服务、粘贴代码、保存部署,完事~
addEventListener("fetch", event => {
let url = new URL(event.request.url);
url.protocol = 'https:'
url.hostname = "cachefly.cachefly.net";
let request = new Request(url, event.request);
event.respondWith(fetch(request));
})
具体可以看看 #189 这里提到了 Workers 自定义域名。 后续使用 CloudflareST 时,记得加上 # Windows
CloudflareST.exe -url https://XXX.YYY.workers.dev/200mb.test
# Linux/Mac
./CloudflareST -url https://XXX.YYY.workers.dev/200mb.test
1.1【可选】自定义 Workers 地址的 URL 路径(简短好记)「 点击展开 查看简单说明 」把上面原先的 Workers 代码改成下面这样,即可把原先很长/不好记的 URL 路径改为简短好记: addEventListener("fetch", event => {
let url = new URL(event.request.url);
if (url.pathname == "/test" && url.search == "") {
url.href="https://cachefly.cachefly.net/200mb.test"
let request = new Request(url, event.request);
event.respondWith(fetch(request));
}
}) 其中第 3 行的
2. 服务器套 Cloudflare CDN(需要服务器+域名)「 点击展开 查看简单说明 」首先你需要有个域名,然后在你的服务器上建立一个简单的虚拟主机(也就是 HTTP 服务/网站,如 Nginx / Apache / Caddy 等,也不需要去申请 SSL 证书,毕竟这玩意用不上回源加密),虚拟主机绑定你的域名,并在虚拟主机目录下生成一个空文件即可: # 以下命令会在 /XXX 目录下,生成一个文件名为 cfst.bin 大小为 300MB 的文件
# 记得修改命令中的 /XXX/ 示例路径,否则直接运行会提示找不到文件夹!
dd if=/dev/zero of=/XXX/cfst.bin bs=1M count=0 seek=300
# 因为是空文件(稀疏文件),所以并不会实际占用服务器的 300 MB 硬盘空间(只会占用一些元数据和少量实际分配的存储空间),可以使用 ls -lh cfst.bin 和 du -h cfst.bin 来对比一下文件大小
# 另外,也因为是稀疏文件的缘故,Cloudflare 在缓存压缩时,这种空稀疏文件 300MB 也会被压缩到极小(几 KB?和你用任何压缩协议压缩后的大小差不多,反正只要随意压缩了就会变得极小),不占用 Cloudflare 的节点缓存空间,因此 Cloudflare 并没有追究文件正不正常的问题,顶多像我这样因流量太大(每天 10TB)而被域名限速了。。。
# 另外,不建议搞太多不同大小的文件,这样不利于缓存,因此 Cloudflare 的缓存机制还会看文件热度,如果流量分散到几个文件上,可能会导致文件热度不足早早就被清理,从而增加回源次数,消耗服务器流量。
最后在 Cloudflare 上给你的域名添加 A 解析记录指向你的服务器 IP,并点击切换为
另外,建议去缓存 - Tiered Cache 中开启 # 一些可用于
|
Beta Was this translation helpful? Give feedback.
-
我觉得用自己的cf workers反代大文件就很好,用这个优选ip的人肯定都会用cf,自己搭建也不麻烦,在使用教程里写上如何自己用cf搭反代就好了 |
Beta Was this translation helpful? Give feedback.
-
我觉着这个方案可行 |
Beta Was this translation helpful? Give feedback.
-
@tramsky996 我以前折腾过一个 Workers Github 文件加速的,但毕竟只适用于 Github 的 URL,我记得有那种适用于任何网站的文件加速的(如 |
Beta Was this translation helpful? Give feedback.
-
用过这个jsproxy 还可以这样,用的v2rayn的测速文件,修改的话把hostname改了就行
访问:https://xxx.子域名.workers.dev/200mb.test |
Beta Was this translation helpful? Give feedback.
-
@tramsky996 大文件的话,可以直接去找一些 VPS 的官方测速文件,往往都不小。 |
Beta Was this translation helpful? Give feedback.
-
@tramsky996 @mingxiaoyu 刚刚在 1L 补充了创建 Workers 的图文教程。 |
Beta Was this translation helpful? Give feedback.
-
怪不得。下个版本可以增加一个预置动态的测速源的功能,这样当限速了也能获取到最新的不限速源 |
Beta Was this translation helpful? Give feedback.
-
@WangWenBin2017 我还没想好到底怎么处理好,我个人比较咸鱼,不想牵涉过多精力来折腾下载测速地址,我更倾向于让大家自己去寻找或自建,但是这样又多少会影响轻度使用者/初次使用者。。。 另外,目前就能实现类似你说的效果,那就是将当前默认的下载测速地址直接 302 重定向至可用的地址即可,昨天我就尝试指向 Cloudflare 官方下载测速地址发现可以正常测速了,不过考虑到无论指向谁,都无法承受住这么大的下载测速流量(平均每秒 1Gb 速度全天 24 小时不停歇)。。。
目前默认的下载测速地址被 Cloudflare 限速至龟速,几乎不可用,所以我就暂时先将其重定向到该 Issues 问题下,就当成是一种变相通知吧,长时间无法下载测速,大家都会跑过来看看发生了什么。
虽然我写了这个软件,但实际上我自己只是一个轻度使用者,平均也只是几天用一次,只测延迟不测下载,可能是我是联通的原因,平时除了半夜 12 点高峰期顶峰期间外,其他时间随便找个延迟最低的 IP 速度都慢不到哪里去(白天 150ms,晚上 200ms),所以慢慢的我也就 |
Beta Was this translation helpful? Give feedback.
-
我就说呢,咋测试半天一点速度都没有,还以为跟better-cloudflare-ip作者一样删库了。。 |
Beta Was this translation helpful? Give feedback.
-
高宽带或者5g测试出来的ip用的更久,我家之前百兆宽带,基本一天得选两三次,用5g选的ip,选到的基本都是三百兆以上的速度,能用好几天 |
Beta Was this translation helpful? Give feedback.
-
"众筹"行不行?(笑)大家都去worker弄一个地址,, 然后提个issue收集一下 |
Beta Was this translation helpful? Give feedback.
This comment has been minimized.
This comment has been minimized.
-
大大,按照你的做法自己折腾了半天,还有2个问题不是很懂需要请教。 |
Beta Was this translation helpful? Give feedback.
-
@boboqiu82 没明白你的意思,什么参数?你不是已经加上 url 参数了么? |
Beta Was this translation helpful? Give feedback.
-
由于原域名即将到期更换域名 将heleguo.top换成heleguo.asia |
Beta Was this translation helpful? Give feedback.
-
1.1【可选】自定义 Workers 地址的 URL 路径(简短好记) |
Beta Was this translation helpful? Give feedback.
-
贡献两个新的链接,机器为10Gbps香港
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
实际测速完全不需要服务器那边真的搞一个特大的文件,也不需要费劲来搞cloudflare worker 具体来说,可以在服务器放一个我压缩好br编码的文件:https://b.j2.cx/bomb400G.br 然后服务器那边要用支持 location /large {
default_type 'text/html';
content_by_lua_block {
local f = io.open("/home/chenxu/bomb400G.br","rb")
if not f then ngx.say("file not found") return end
ngx.header["Content-Encoding"] = "br"
local data
while true do
data = f:read(1024)
if nil == data then
break
end
ngx.print(data)
ngx.flush(true)
end
f:close()
}
} 走cf代理,cf端会帮你转换成你需要的编码解压缩出来(如gzip或者不压缩) 这里我放几个我编码好的文件: https://b.j2.cx/bomb10G.br |
Beta Was this translation helpful? Give feedback.
-
是的,自己先压缩好,并且设置好回应标头,这样cf会判断是压缩的文件,几十KB变成几百个G,服务器只需要存放几十KB的空间就可以了,流量消耗也是只有几十KB,但是用户传输实际上也是几十KB,然后在客户端方向才做解压,而不是在CF节点上进行解压,所以这个方案不可行 |
Beta Was this translation helpful? Give feedback.
-
现在根据上面那套方法看来,只要用户端删除Accept-Encoding请求头是可行的,300KB数据变成400GB,再也不怕被刷流量了,源站只会消耗300KB |
Beta Was this translation helpful? Give feedback.
-
@XIU2 地址迁移到二级域名和更改了文件架构,烦请更新一下。 以下是地址。 cloudflarest.pencilnfiles.cdn.999857.xyz 以下是uri PATH 以上所有域名都提供uri PATH内的文件。
老地址做了重定向。 |
Beta Was this translation helpful? Give feedback.
-
分享测试地址:
|
Beta Was this translation helpful? Give feedback.
-
更新: 发现 cachefly.cachefly.net 目前访问异常, 编写 WASM 在 Cloudflare Workers 上部署压缩炸弹作替代, 效果良好.
旧地址流量目前也交由新版 workers 程序处理. 仓库地址, 可以自行部署, 但操作麻烦, 需要在 Linux 环境下操作: https://github.com/cxw620/cf-speedtest-v2 更新: 支持 Linux 部署, 作为 Workers 超限使用回落. |
Beta Was this translation helpful? Give feedback.
-
分享自建测速地址:
@XIU2 增加400MB和500MB的链接 |
Beta Was this translation helpful? Give feedback.
-
分享自建测速地址:
|
Beta Was this translation helpful? Give feedback.
-
CloudflareST 下载测速地址将不再由我个人自建承担了,改为重定向至大家分享的公益地址,因此不再保证可用性,想要稳定建议自建~
刚刚 Cloudflare 发邮件跟我巴拉巴拉说了一大段,翻译为人话大概意思就是:
我试了下发现还能勉强访问,但已经被限制成龟速了。。。可以说是慢至不可用了,干脆就先暂停了。
以前还有隔壁 better-cloudflare-ip 项目和我互相均摊流量,但是自从关闭后,大量用户涌入本项目,使用人数及下载测速流量直线上升(我算了下大概相当于以平均每秒 1Gb 的速度全天 24 小时的跑),被限制并不出乎我的意料,毕竟只是免费套餐。。。目前只能建议大家改用其他下载测速地址,当然如果经常使用的话还是建议自建下载测速地址(很简单)更稳定可靠。
# 什么样的 URL 可用作 下载测速地址 ?
# 有什么现成可用的 下载测速地址 ?
# 如何使用其他 下载测速地址 ?
要使用其他下载测速地址,只需要在运行 CloudflareST 时加上
-url
参数即可,例如:Windows 用户不知道怎么加参数运行的话,可以看看这个:
适用于经常修改运行参数的人。
适用于不经常修改运行参数的人(比如平时都是直接双击运行),这样的话使用习惯和以前一样。
Beta Was this translation helpful? Give feedback.
All reactions