设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 1328|回复: 3

BT torrent种子下载能不能和web做反代那样组cdn加速

[复制链接]
 成长值: 249

签到天数: 4708 天

[LV.Master]伴坛终老

发表于 2023/6/27 00:35 | 显示全部楼层 |阅读模式 |Google Chrome 114.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
BT torrent种子下载能不能和web做反代那样组cdn加速

比如A服务器是种源,存储源文件
BCD是反代服务器,只有5G硬盘,1Gbps的独立ip无限流量,BCD通过反代方式回源,用户下载请求BCD的ip地址时候,从A获取数据传输给下载者
这个想法应该是很简单能实现的,但是有个问题是就是把BCD的ip通过tracker + dht + pex 传递出去,否则别人找不到ip地址,同时BCD可以设置95%磁盘容量用于区块缓存,这样不管BCD的磁盘大小是多少,都智能判断95%最大值,防止超过95%,然后清理过时的区块缓存。
然后额外选项,内存智能(1MB),小于等于1MB的区块就缓存在内存,大于1MB的区块缓存在磁盘,不知道有没人感兴趣做一个BT种子CDN?输出缓存的时候检查区块大小,直接从内存或者磁盘输出,提高性能。
注:大部分bt客户端都是认客户端id,不允许一个相同id连接多个ip,所以需要同时修改id值

也就是说,在添加监听的地方新增一个选项torrent协议,然后绑定端口
模块每30分钟从/vhs/kangle/tracker.txt获取http、https的url(例子:http://github.itzmx.com/1265578519/OpenTracker/master/tracker.txt ),随后对所有获取到的结果发起一次tracker访问(udp不用做,开发麻烦),汇报ip地址给tracker服务器,其它下载者可以通过tracker找到CDN反代服务器
模块每次收到外部访问时,则随机分配一个用户id,防止因为同id引起下载者客户端拒绝相同用户连接
DHT与PEX也无需做,耗费开发时间

在十年前实现过的只有web seed,这是一个种子例子,论坛里也有2014年当时相关的帖子可以搜一下
https://bbs.itzmx.com/thread-100048-1-1.html

评分

参与人数 1樱币 +1 收起 理由
Rxinns + 1 赞一个!

查看全部评分

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 495 天

[LV.9]以坛为家II

发表于 2023/6/27 22:33 | 显示全部楼层 |Google Chrome 114.0.0.0|Windows 10
不懂就问,http下载cdn加速是不是已经很成熟了?
BCD直接用完整的BT客户端行不行,A自建一个云盘,挂到BCD去,BCD和A之间的通信怎么使之达到和cdn一样的高效就不清楚了。
听游戏群的网友说种子里有个叫做webseed的玩意,假如这个玩意是纯http,那么cdn加速应该没有技术难度。
有一个同时支持http和bt下载的,可能还有cdn的平台,叫迅雷。
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 249

签到天数: 4708 天

[LV.Master]伴坛终老

发表于 2023/6/28 00:21 | 显示全部楼层 |Google Chrome 114.0.0.0|Windows 10
smilesadness 发表于 2023/6/27 22:33
不懂就问,http下载cdn加速是不是已经很成熟了?
BCD直接用完整的BT客户端行不行,A自建一个云盘,挂到BCD ...

webseed需要种子文件,并且无法弹性扩容cdn处理能力,必须在制作种子的时候填写一个固定的ftp/http/https地址
webseed磁力链接不被支持,因为磁力链接只包含最基础的区块元数据,对于下载用户来说有一些局限性
直接用完整的客户端也可以,但是要把A的权限交给BCD等,如果是我贴中说的CDN的形式,BCD只需要知道A的IP地址与端口号即可完成,不需要挂载账号密码等信息。
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 18 天

[LV.4]偶尔看看III

发表于 2023/6/30 12:07 | 显示全部楼层
可能需要先把所有文件先分卷压缩成4.5GB一个的压缩包?这样子CDN就可以在检测到连接用户的文件传输完毕之后自动删除硬盘里的缓存并待命了
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/24 05:51 , Processed in 0.155843 second(s), 22 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表