将Telegram加入ShadowsocksX的自动代理模式

由于众所周知的原因,Telegram在国内不能直接访问。最近遇到个奇怪的问题,在macOS中,ShadowsocksX使用自动代理模式的时候Telegram不能联网,但使用全局模式的时候一切正常。究其原因,应该是自动代理模式中的PAC列表没有加入Telegram的服务器。

所以只需要找到Telegram的服务器地址,并添加到PAC列表中。

先开ShadowsocksX全局模式,登录Telegram。

snip20170211_1
然后打开抓包软件,这里以Wireshark为例。设置过滤规则为http,关闭ShadowsocksX,打开Telegram,让Wireshark刷一会。

观察抓到的报文,有很多类似的POST请求。我们记下所有的目的地址。

snip20170211_2
我这里的地址有:

149.154.175.100
149.154.175.50
91.108.56.194
91.108.56.165
149.154.167.51

在不同的地区,可能会连接到不同的服务器,所以建议自己通过抓包的方式获得服务器地址。

编辑PAC列表,按照格式填入gfwlist.js中,注意输入的格式,不要忘记英文状态的引号和逗号。

snip20170211_3
然后关闭ShadowsocksX,然后重新打开,开启自动代理模式,Telegram也能正常使用了。