文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

kzeswn

http://fabua.ksxb.net/comkzeswn/

相关列表
文章列表
  • 暂无文章
推荐文章
联系方式
  • 联系人:汪女士
  • 电话:18682051845
折腾Transmission实现固定IP服务器BT做种教程
发布时间:2024-12-08        浏览次数:0        返回列表

通过网络分享资源,是为了让人下载,但由于种种原因,放到商业网盘的资源经常会被删除,于是我只好自建简易的http文件下载服务,比如frp.v2fy.com

折腾Transmission实现固定IP服务器BT做种教程

[外链图片转存中…(img-XUIqiXwK-1672121846415)]

内网穿透搭建http文件下载服务教程 https://www.v2fy.com/p/2021-10-01-pi-server-1633066843000/

但http文件下载服务的流量成本是很高的,用户下载的数据都要通过服务器,下载的人一多,下载的速度就会非常慢,那么有没有一种方法,下载的人越多,下载速度越快呢

当然是有的,我们可以制作一个bt种子,然后使用固定IP的服务器生成种子,并保持做种,这样使用种子下载的用户,彼此之间就可以直接交换数据,下载的用户越多,下载速度就越快。

我选的24元每月的香港阿里云 https://common-buy.aliyun.com/?commodityCode=swas&regionId=cn-hongkong

这里建议每次购买一个月,如果某个月IP出了问题,下个月直接换主机。

小技巧:为了避免记ip, 我用子域名hk.v2fy.com直接解析绑定了主机IP, 方便ssh登陆主机

推荐一波ssh连接服务器的软件FinalShell https://www.hostbuf.com/t/988.html, 特色是ssh登陆主机后,支持实时查看服务状态, 支持本地文件拖拽上传到服务器(相当于sftp,非常方便文件管理。

[外链图片转存中…(img-ESOJkpku-1672121846415)]

 

[外链图片转存中…(img-nLO3AMSh-1672121846416)]

 
 

从 可知默认下载路径为

如果我们把bt种子和对应的文件都放在 目录,则transmission会进行持续做种(按照BT协议,客户端会在下载的同时,进行上传,如果下载完成,依然可以将下载好的资源上传给其它用户,供其它用户下载,我们将这种文件下载完成后,持续上传给其它用户的行为称为做种,只要做种的人足够多,资源下载就会很快)。

  1. 将需要做种的资源放入目录
  2. 为资源生成种子,种子生成后,最好能自动触发transmission做种
  3. 为transmission整个图形化Web页面,方便我们查看目前做种资源的状态

为避免目录权限不足,上传失败,我们运行命令,让目录支持读写

 
  • 上传资源
    [外链图片转存中…(img-5HmBbanc-1672121846416)]

  • 上传成功
    [外链图片转存中…(img-CqPQm6S1-1672121846416)]

通过以下命令,可以为 /var/lib/transmission-daemon/downloads/macOS龙神Switch模拟器.zip 文件生成了种子,生成种子的位置在文件同级目录下,种子名为 macOS龙神Switch模拟器.torrent

 
  • 创建成功
    [外链图片转存中…(img-YCAEhAPM-1672121846416)]

所谓种子,就是包含了文件哈希值的记录文件,不同的文件的哈希值是不同的,下载文件的哈希值相同,那下载的文件也会是同一份。另外种子还会包含Tracker服务器的信息,Tracker服务器并不存储文件,只是为用户之间进行信息交换提供沟通渠道。

我们可以使用transmission-show查看种子内容

 

得到的内容如下,包含12个traker服务器地址,以及文件名文件大小和哈希值

 
 

如果需要更多稳定的Tracker,可以查看开源项目 https://github.com/XIU2/TrackersListCollection

接下来我们配置transmission-deamon ,使其可以自动监听 目录,当目录内存在文件时,则自动做种

首先保证关闭transmission-daemon

 

然后修改settings.json

 

在settings.json末尾添加

 

设置downloads目录权限

 

启动transmission-daemon

 

查看transmission-daemon状态

 
  • 此时这里会出现报错
    [外链图片转存中…(img-waYdBarc-1672121846416)]
    解决方法参考 https://unix.stackexchange.com/questions/520625/transmission-daemon-udp-failed-to-set-receive-send-buffer

在 追加

 

然后运行
[外链图片转存中…(img-saYZTMcd-1672121846416)]

然后重启transmission-daemon 查看状态即可

 

[外链图片转存中…(img-aRI74sQf-1672121846417)]

进入云服务器后台,开放几个端口

以上几个端口为transmission-daemon默认配置

 

其中 49152-65535端口端,包含了51413,所以51413可以不单独配置开启,这里为了做演示,所以多加了51413端口开启的配置。

此刻我们将下载到本地, 移除 后缀,将 添加到BT种子下载软件,比如 qBittorrent ,即可开始BT资源下载

为了保证服务器重启后,依然自动做种,我们需要将 transmission-daemon 设置为开机启动项

 
 

如果你不需要Web界面,我们的教程就到此结束了,如果需要一个Web界面,查看当前做种的状态,还需要看教程(继续调教transmission-deamon)。

当前我们未做rpc的配置,所以直接访问 9091 端口会直接403

 
  • 修改配置文件settings.json
 
  • 将 rpc-whitelist-enabled的值改完false
 

浏览器访问9091端口,需要输入用户名密码

默认用户名和密码都为

如果需要修改默认用户名密码, 关闭transmission-daemon, 修改settings.json 中的 rpc-password 和 rpc-username即可

 
 

修改完成后,记得重启开启

至此,固定IP的服务器BT做种折腾完成。

BT技术特色是去中心化,只要有人做种,就能保证文件在互联网存活,文件留个备份,换个服务器,依然可以继续做种。

为了便于分发我们可以通过 https://nutbread.github.io/t2m/ (工具开源地址: https://github.com/nutbread/t2m)将BT种子在线转为磁力链接

转换后的磁力链接为(相当于把BT种子内的有效信息转换为字符串):

 
 

BT做种本是一件很简单的事,但由于中国用户缺少IPV4的固定IP, 所以门槛抬高了,BT是一项很有互联共享精神的技术,人人为我,我为人人,我们只需付出极低的服务器成本,就可以搭建一套分发大型文件的服务,可以称得上是对抗无良网盘的优秀技术。