iPhone通过VPS和Wi-Fi访问Google的方法

此前介绍过几种 iPhone 和 iPad 等 iOS 设备的 GFW 方法,除了需要在海外有 VPS 主机之外,还需要依赖一台本地的电脑主机来做安全隧道代理服务器。

在 Android 上有很多 App 可以解决依赖另一台主机的问题,经典的诸如 SSH Tunnel(https://play.google.com/store/apps/details?id=org.sshtunnel&hl=zh_CN)这样的 App 就可以在手机上直接建立安全隧道。

而在 iOS 这种权限管理严谨苛刻的系统上,则会相对麻烦一些。经过测试发现了两款勉强可以在手机上自行建立安全隧道的应用 Serverauditor 和 vSSH Lite。

Serverauditor – SSH Shell / Console / Terminal by Crystalnix https://appsto.re/us/K8AUG.i

在 Serverauditor 应用主界面的右上角有个图标可以添加 New Host(新主机),依次输入 Alias(别名),即显示的名称;Username(用户名);Hostname(主机名),也就是海外 VPS 的 IP 地址;冒号后面的数字 22 是端口号,如果你没有修改过,则为默认的 SSH 端口号;Password(密码);最后点击右上角的 Save(保存),完成主机的创建。

接下来点击主界面左上角的图标或者侧滑弹出菜单,选择 Port Forwarding(端口转发),进入端口转发界面后,接着是创建转发规则,依然是点击右上角的图标添加 New Rule(新规则),默认选定了 Local(本地)端口转发,在 Host(主机)项,选择刚才创建的主机,Port From(来源端口)输入 8888,Destination(目标主机)输入 127.0.0.1,Port To(目标端口)也输入 8888,最后点击右上角的 Save(保存),完成端口转发的创建。

轻触则可建立 SSH Tunnel 安全隧道,黑色的“L”字母会变成蓝色,代表连接成功。下次启动应用时,通过左侧的菜单,选择端口转发,会出现此前保存的端口转发信息,在这个地方开启就好。

vSSH Lite by Velestar Private Enterprise https://appsto.re/us/iYe5F.i

在 vSSH Lite 应用的左上角,点击“+”号 Add new(添加)Connection(连接),输入 Name(名称);Protocol(协议)选择 SSH 安全;Host(主机名),自然还是海外 VPS 的 IP 地址;Port(端口)默认为 22;Username(用户名);Password(密码);Autoconnect on startup(自动启动)根据个人意愿随意选择;No shell(-N mode)这个建议选择,建立安全隧道没必要其他交互。

更关键的来了,在 Port forwarding 项,Add port forwarding(添加端口转发),多了一项 Dynamic SOCKS proxying,不过此项我测试建立连接失败,提示主机、端口被占用,不知道是否 Lite 版本限制原因。

因此我们仍然选择 Local port is forwarded to the server(本地端口转发到服务器),在 Source 项目下 Host 输入 127.0.0.1,Port 输入 8888,在 Destination 项目下 Host 也输入 127.0.0.1,Port 输入 8888,其中 Options 打开的话,还可以给其他主机当安全隧道代理服务器,就是手机的 IP 地址和 8888 端口。

最后是 Save(保存),Done(完成),然后在 Booksmarks 轻触则可以建立 SSH Tunnel 安全隧道,终端界面上可以看到连接状态,下次再开启应用时,自动就会建立安全隧道代理服务器了。

关于代理设置,可以手动将服务器设置为:127.0.0.1,端口:8888;但这样每次使用不太方便,建议选择自动,在 URL 处输入一个 pac 文件链接(如: http://ca.lxl.cn/https.pac),其实就是自动代理配置脚本,只是返回本机代理。

function FindProxyForURL(url,host){return “PROXY 127.0.0.1:8888”;}

至此,打开 Safari 浏览器,久违的 Google 终于回来了。不过由于 iOS 有近于洁癖的种种限制,还是没有办法高兴得太早,那就是无论是 vSSH Lite 还是 Serverauditor,都会因为 App 不在前台而被“挂起”,那么辛辛苦苦创建的安全隧道就会在可以使用的数分钟后而无法使用了。

好在这两个应用基本上都会在收到挂起消息前,发送一个消息告诉自己被挂起,此时可以再回到那个界面,安全隧道又会再次有效,是不是觉得很苟且呢?据我对 iOS 的了解,似乎还是有保持长连接的方法,比如我们知道某些云盘应用可以背景自动传输照片,印象中只要定时播放一个没有声音的声音,也就是“震动”,就可以保持应用不被挂起。希望未来的某个版本可以解决这个挂起问题,让我们这些生活在这墙内的群众体验国际互联网。

发表评论