Description
先说whatsapp的问题,出现一直连接中,但是过了很久又能连接上的原因还是因为dns污染的问题导致的,但是g.whatsapp.net这个域名可以解析到好几个ip。如果刚好能解析到正确的ip的话,就会可以连接上。
解决思路参考以下2个
https://blog.chute.life/2021/04/27/Enhance-Chute-iOS-To-Against-DNS-Cache-Poisoning/
WhatsApp 无法使用 #38 (comment)
引入netkit,但是只使用里面的dnsserver模块,把需要丢给ssr做远程域名解析的,设置一个fakeip。然后在tun2sock里面在转换为socket5的时候把域名还原回去,tun2sock要修改的地方是在BsocksClient.m 里面的void auth_finished (BSocksClient *o)方法。需要注意header的atyp必须是3,ssr才能把域名传输到远程做dns解析
https://guiyongdong.github.io/2017/12/09/Socks5%E4%BB%A3%E7%90%86%E5%88%86%E6%9E%90/ 这个是sock5代理协议的分析。把dns的问题解决之后,whatsapp就可以正常连接使用了。
还有最后一个要处理,就是要把Antinat给移除掉,这个sock5的库在这里是多余的。ssr本来就是sock5协议,没必要用Antinat再转一层。如果不去掉的话,ssr没办法走远程域名解析
http的流量不知道什么原因没有进入privoxy而是直接过了tun2sock, 查了很长时间不知道什么原因。这个会导致一个问题。像国内的很多app,微信,京东等都有不少的http流量。如果没过Privoxy的话,就无法做规则分流, 导致这些流量过了代理,所以有些国内的app访问就会慢。https的流量是可以正常过Privoxy的,明明已经设置了http的代理端口,但是实际却没有起作用。看看有没有哪位大神可以分析一下
proxySettings.HTTPEnabled = YES;
proxySettings.HTTPServer = [[NEProxyServer alloc] initWithAddress:proxyServerName port:proxyServerPort];
proxySettings.HTTPSEnabled = YES;
proxySettings.HTTPSServer = [[NEProxyServer alloc] initWithAddress:proxyServerName port:proxyServerPort];
proxySettings.excludeSimpleHostnames = YES;
ssrNative不支持acl, 导致所有的tcp,udp流量实际上都是过代理的,这样的话,有些国内的app就可能会非常慢。
关于查看tun2sock日志,SOCKS_DATA_LOG_ENABLE TCP_DATA_LOG_ENABLE 这2个宏开关,定义一下,或者直接在xcode的项目设置里面设置一下,就可以在mac里面的控制台看到手机上运行的tun2sock日志了。没有日志根本解决不了whatsapp的问题。
Reactions are currently unavailable
You can’t perform that action at this time.
先说whatsapp的问题,出现一直连接中,但是过了很久又能连接上的原因还是因为dns污染的问题导致的,但是g.whatsapp.net这个域名可以解析到好几个ip。如果刚好能解析到正确的ip的话,就会可以连接上。
解决思路参考以下2个
https://blog.chute.life/2021/04/27/Enhance-Chute-iOS-To-Against-DNS-Cache-Poisoning/
WhatsApp 无法使用 #38 (comment)
引入netkit,但是只使用里面的dnsserver模块,把需要丢给ssr做远程域名解析的,设置一个fakeip。然后在tun2sock里面在转换为socket5的时候把域名还原回去,tun2sock要修改的地方是在BsocksClient.m 里面的void auth_finished (BSocksClient *o)方法。需要注意header的atyp必须是3,ssr才能把域名传输到远程做dns解析
https://guiyongdong.github.io/2017/12/09/Socks5%E4%BB%A3%E7%90%86%E5%88%86%E6%9E%90/ 这个是sock5代理协议的分析。把dns的问题解决之后,whatsapp就可以正常连接使用了。
还有最后一个要处理,就是要把Antinat给移除掉,这个sock5的库在这里是多余的。ssr本来就是sock5协议,没必要用Antinat再转一层。如果不去掉的话,ssr没办法走远程域名解析
http的流量不知道什么原因没有进入privoxy而是直接过了tun2sock, 查了很长时间不知道什么原因。这个会导致一个问题。像国内的很多app,微信,京东等都有不少的http流量。如果没过Privoxy的话,就无法做规则分流, 导致这些流量过了代理,所以有些国内的app访问就会慢。https的流量是可以正常过Privoxy的,明明已经设置了http的代理端口,但是实际却没有起作用。看看有没有哪位大神可以分析一下
proxySettings.HTTPEnabled = YES;
proxySettings.HTTPServer = [[NEProxyServer alloc] initWithAddress:proxyServerName port:proxyServerPort];
proxySettings.HTTPSEnabled = YES;
proxySettings.HTTPSServer = [[NEProxyServer alloc] initWithAddress:proxyServerName port:proxyServerPort];
proxySettings.excludeSimpleHostnames = YES;
ssrNative不支持acl, 导致所有的tcp,udp流量实际上都是过代理的,这样的话,有些国内的app就可能会非常慢。
关于查看tun2sock日志,SOCKS_DATA_LOG_ENABLE TCP_DATA_LOG_ENABLE 这2个宏开关,定义一下,或者直接在xcode的项目设置里面设置一下,就可以在mac里面的控制台看到手机上运行的tun2sock日志了。没有日志根本解决不了whatsapp的问题。