ssh动态端口转发->socks5->Android手机使用

ssh隧道:彻底搞懂SSH端口转发命令 。根据这篇文章,整出来了一个新的简单的隧道socks5代理:autossh -M 5300 -N -f -D "*:8688" Amazon,实际运行命令为:ssh -L 5300:127.0.0.1:5300 -R 5300:127.0.0.1:5301 -N -D *:8688 Amazon,关键在于-D参数。这样的话就直接搞出来了一个本地的socks5代理,监听0.0.0.0:8688,都不需要AWS上面起squid代理服务了,少了1层中转,理论上速度会比经过squid的快。实际使用感受下来,的确更快了。如果只是在MAC上Chrome浏览器使用这个socks5代理,那么是完全没问题的,问题在于我同一个wifi下的Android手机怎么用这个socks5代理呢?

之前搞Oculus的时候利用VPN搞了个科学上网的wifi热点,其实也能解决Android手机上网的问题,但是不知为啥,这两天就想看看怎么让Android手机用上这个socks5代理。。经过多种尝试,直接写成功的操作吧,同一个wifi下的Android手机,安装v2rayNG软件,配置文件中增加同一个局域网中的socks5代理,然后设置中要打开“启用本地DNS”和“启用虚拟DNS”,然后就OK了,就可以全局TCP流量都走socks5代理了。因为socks5代理不能转发UDP协议(或者可能是ssh端口转发不能转发UDP协议),所以要用本地的DNS。另外注意一点,Android系统的wifi配置中的代理设置,是指http/s代理,不能使用socks代理。

那么总结一下,后面对于新的AWS EC2机器,squid服务也是的可选项而非必选项了,只利用ssh动态端口转发即可实现socks5代理,而如果想要代理UDP的话,比如Oculus的场景,就只需要再搭建VPN server就行了,完全不需要squid服务了。

然后,我突然想到Android手机是不是也可以直接这么搞,不用经过电脑转一道了。那么就要让手机也能ssh到我的AWS,然后能够进行动态端口转发,也是本地起一个socks5代理,然后再让手机连到这个socks5代理即可。

经过尝试,最后发现有个软件太牛了,Termius,这个不仅支持ssh到AWS,而且还自带端口转发功能,直接用它现成的功能即可本地起一个监听localhost的socks5代理,然后再用上面用过的v2rayNG,走本地起的这个socks代理,强强强。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据