做了一个快速(300M+)、不贵($1/TB)的文件下载分发服务

2022-11-21 08:24:30 +08:00
 hzcer

由于复杂的网络环境,分发大文件即痛苦又昂贵。因此做了一个快速、不贵的文件下载分发服务: FastBlob,目前速度可达 300M+。

📚 原理

服务端有多个遍布世界各地的节点,对源站的文件进行反向代理。客户端将下载进行分片,利用多线程进行同时下载,再通过现代浏览器的 stream 组合成一个 Response ,从而实现和 fetch 同样的接口。

✨ 特点

⚡ 性能

试运行阶段目前只有 6 个节点,在电信测试下载速度达到了 300M+,后期会继续增加节点,提高下载速度。

💸 价格

目前试运行期间 $1/TB ,后期会根据运行情况进行调整。注册提供 50GB 的免费流量供尝试。

📝 备注

建议使用 Cloudflare R2 来作为源站,因为 Cloudflare 不收流量费,且 R2 在全球进行分发。

🏖️ 尝试一下

https://zh.fastblob.com/try

7524 次点击
所在节点    分享创造
59 条回复
huyujievip
2022-11-21 08:58:46 +08:00
ui 挺好看的
xiangchen2011
2022-11-21 09:00:24 +08:00
确实速度很快啊,赞
star7th
2022-11-21 09:01:18 +08:00
思路很好,国外的机器都能多线程到这个速度,确实让人眼前一亮。
搭车宣传下,如果有需求国内网络的便宜 cdn 需求可以看看这个 https://www.dfyun.com.cn
速度没有 lz 的文件下载分发快,不适合大型文件。但是国内线路稳定可靠,可用作各种小文件加速。
star7th
2022-11-21 09:20:38 +08:00
我再看了下,你这个仅仅做反向代理,不做内容缓存或者托管啊。这样算下来,源服务器的成本和带宽都可能成为瓶颈了。
你多进程反向代理我源站,速度也是取决我的源站速度。而且流量层面都是要走一遍我的源站,我得付两次流量费用。
再者,下载文件不能直接弹出来,需要等然后再点击一下,用户体验没那么友好。
hteen
2022-11-21 09:26:15 +08:00
"注册提供 50GB 的免费流量供尝试。"

为什么我只有 5G 呢
hccsoul
2022-11-21 09:27:12 +08:00
没有中文为啥网址用 zh 开头
hzcer
2022-11-21 09:30:25 +08:00
@hccsoul 因为 Cloudflare 速度太慢了,所以用 hk 的机器反代了
ClarkAbe
2022-11-21 09:31:55 +08:00
稳不稳, 会不会接受大陆机关审查......要是已经润了当我没说
hzcer
2022-11-21 09:34:06 +08:00
@star7th 所以建议使用 Cloudflare R2 或者 Cloudflare over B2 ,或者找个流量联盟的机器套上 CF ,也都不收流量费用。做内容缓存和托管的话,因为服务器数量多,很容易碰到缓存不一致的问题。下载可以直接弹出来,新建 atag 并 atag.click 就可以。
hzcer
2022-11-21 09:37:12 +08:00
@ClarkAbe 稳定性方面,这个项目脱胎于我自己其他项目的需求,所以不会随便放弃,其他项目也还需要这个项目。另外一个节点挂掉了也没关系,其他节点可以无缝顶上。隐私方面,之后会加上 SNIProxy 模式,这样的话 FastBlob 只是一个 TCP 的 relay ,不负责 TLS 。
yehoshua
2022-11-21 09:41:22 +08:00
测试下载直连无法下载.似乎挂梯子也不行.
hzcer
2022-11-21 09:46:35 +08:00
@hteen 修复了
hzcer
2022-11-21 09:48:48 +08:00
@yehoshua 系统和网络环境是啥?我这没问题
yehoshua
2022-11-21 09:54:58 +08:00
@hzcer Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0 错误好像是 CORS Failed 网络是广东移动
xdeng
2022-11-21 09:56:51 +08:00
思路不错 有同样的开源实现可以自己搭的那种吗
hzcer
2022-11-21 09:58:09 +08:00
@yehoshua Firefox 对 CORS 的处理确实和其他浏览器不太一样,我需要再修改下源站的 CORS header 设置
yanwen
2022-11-21 09:58:56 +08:00
@yehoshua 我也是这样的问题。无法下载。

系统是 macos 10.15.7 浏览器 firefox 广州电信。
hzcer
2022-11-21 09:59:15 +08:00
@xdeng 随便使用一个 web server 反代就可以了
yehoshua
2022-11-21 10:00:39 +08:00
@hzcer 这么一说,我换 chrome 确实是好的.
hzcer
2022-11-21 10:01:40 +08:00
@yanwen
@yehoshua
你们可以先用 Chrome 测试一下,这个是背后源站的设置问题,跟 FastBlob 中间层没啥关系。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/896688

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX