BTsync如何被墙的原理以及应对方法

BTsync如何被墙的原理以及应对方法

P2Pfans

Sync使用的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服务器现在已经更改


新版本的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

操作方法:

  1. 对于全新的btsync客户端需要先实现bootstrap,就是先翻一个小墙(很少的浏量连接到tracker服务器一会儿后),就会通过tracker服务器连接到DHT网络了。
  2. 或者通过预定义主机功能,先连接到一个已经正常工作的btsync客户端,通过它来接如DHT网络。
  3. 使用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吧,而这个工具毕竟现在也有点小众,让他有所忽视了。



参考资料:

Resilio Sync 科学之路

聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免翻墙】继续使用?

Report Page