V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FishBoneEK
V2EX  ›  互联网

在内网中成功做种(BitTorrent)

  •  
  •   FishBoneEK · 189 天前 · 726 次点击
    这是一个创建于 189 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前一段时间琢磨怎么在内网里做种,毕竟只下载不上传实在太蛋疼了(良心过不去,而且我有能力尝试做种为啥不去试试呢),最后终于成功了,遂来分享。

    环境:内网中计算机一台,公网里有 root 的 VPS 一台。

    为了在内网中做种,我使用的方法的基本原理是:在 VPS 上搭建代理和内网穿透,内网的 BT 客户端设置出站完全走代理,以避免其它部分 peer 看你还是在内网中。做内网穿透当然是为了让其它 peer 连进内网里,这里我用的是 NPS 。

    但是实际上很多 BT 客户端都是基于libtorrent(简称lt)这个库的,libtorrent有个毛病就是当你设置使用代理的时候,lt不会在本地监听 TCP (好像是为了流量暴露?),导致其它 peer 连不进来。这里我使用Brandon 的 patch,这个 patch 通过修改lt的源代码,使其在使用代理的时候也会在本地监听 TCP 。 此外,lt还需要开启allow_multiple_connections_per_ip,以允许同一 IP 建立多个连接,这是因为使用内网穿透之后所有连进来的 peer 的 IP 都会展现为127.0.0.1。这里我使用的是deluge客户端和ltconfig插件,ltconfig支持手动更改 lt 的所有选项。而且 ltconfig 可以开启默认被 deluge 禁用的announce_to_all_trackers,从而一次性使用所有 tracker ,加速下载和上传。

    不过最后我发现如果按照这个方法并且用 SOCKS5 当代理协议(当然有加密过)的话,在 deluge 上会导致 UDP 用不了。不知道是不是lt又犯傻了……不知道其它协议或者其它客户端可不可行?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1083 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:36 · PVG 02:36 · LAX 11:36 · JFK 14:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.