BTsync如何被墙的原理以及应对方法
P2PfansSync使用的Tracker与Relay服务器
之前有过说明,tracker是sync寻找其他用户的万知者,Relay则是帮助那些网络环境复杂的用户与其他用户建立通道的中间人.tracker一旦被封锁,结果Sync就无法寻找到与其他的Sync用户。而Relay一旦被封锁则让非公网ip且端口通畅用户与其他非公网ip且端口通畅用户(类似电骡的lowid)发生数据交换。
而gfw如何屏蔽tracker呢?与一般bt不一样,bt虽然使用tracker服务器,但是tracker服务器任何人可以搭建不存在一个官方的tracker服务器,而btsync是某商业公司的专利软件,它的tracker服务器自然由该公司提供。
BTsync如何沟通tracker、relay服务器(知道服务器的ip与端口)这个机制eMule的用户应该很熟悉了:
方法1
客户端软件本身已经内置了若干个 Tracker Server 的 IP 地址和端口。
方法2
客户端软件先连上 BTsync 公司官方的某个网站(通过域名的方式),然后得到某个配置文件,这个配置文件中会包含 Tracker Server 的 IP 地址和端口。比如下面这个网址,就是某些版本的 BTsync 用来获取配置文件的网址。
Sync 启动后会从 https://config.resilio.com/sync.conf
或者 http://config.getsync.com/sync.conf
获取 trackers 和 relays 服务器列表,而这两个地址均已被屏蔽。(至今仍被屏蔽)
sync.conf
文件内容如下:
新版本的tracker、relay服务器地址(本文发布时间)ip已经发生更换
{ "trackers": [ { "addr6": "[2604:4500:5:245::10]:4000", "addr": "23.111.157.86:4000" }, { "addr6": "[2604:4500:9:58::10]:4000", "addr": "66.165.233.194:4000" } ], "relays": [ { "addr6": "[2604:4500:3:80::10]:3000", "addr": "66.206.5.74:3000" }, { "addr6": "[2604:4500:3:80::10]:3001", "addr": "66.206.5.74:3001" }, { "addr6": "[2604:4500:8:24a::10]:3000", "addr": "66.165.255.194:3000" }, { "addr6": "[2604:4500:8:24a::10]:3001", "addr": "66.165.255.194:3001" } ] }
看看全部都是赤裸裸的ip地址,gfw只要轻松地将这些ip拉入黑名单即可保证中国大陆流向国际网络出口指向这个ip的数据包全被拦截下来。
破解方法:
方法一:使用1.4.11版本的拥有通过DHT网络来查找节点的btsync
操作方法:
- 对于全新的btsync客户端需要先实现bootstrap,就是先翻一个小墙(很少的浏量连接到tracker服务器一会儿后),就会通过tracker服务器连接到DHT网络了。
- 或者通过预定义主机功能,先连接到一个已经正常工作的btsync客户端,通过它来接如DHT网络。
- 使用btsync中的proxy 选项,设置好你所用的代理服务器即可。(这个代理服务器也是优先使用端到端的连接的,其实一般也不怎么耗费网络用量)
然后就尽情使用吧
对于想找到预定义服务器的用户可以参考这篇文章
方法二:通过翻墙软件分流来实现对tracker服务器ip地址的定向翻墙
如果使用vpn或者全局翻墙对于很多,翻墙用户来说实在没有必要,因为不少人的魔法工具是计流量的。
可以根据翻墙工具的提供的配置方法,对上面的几组ip专门设置分流。
将注意将下面的地址和IP设置为代理,其余的直连。
config.getsync.com config.resilio.com 23.111.157.86 66.165.233.194 66.165.255.194
现状:
有人反应在2019年4月份开始好像出现了tracker服务器不在被墙的消息。经过检验确实现在的tracker服务器没有被墙
其实此时的tracker服务器也发生了改变,如我上文所写。
gfw对这个配置获取域名还是墙的状态(https://config.resilio.com/sync.conf这个域名),所以你需要连一次让btsync获取现在未被墙的tracker ip端口信息,所以有的用户还是发现在国内无法连接到用户,是我的疏忽,已修正
应对方法:修改设备host文件,添加以下行文本:
13.226.238.80 config.resilio.com
13.226.238.80 config.getsync.com
很有可能是gfw没有及时更新修改后的tracker ip吧,而这个工具毕竟现在也有点小众,让他有所忽视了。
参考资料: