iOS 9 配置 Surge 使用 Shadowsocks 实现 iPhone 全局科学上网

自从 iPhone 更新 iOS 9以来,更新SDK也更新出了不少新的 API,以至于我们拥有了 Surge 这样强大的开发工具。

它能够截获你 iPhone 的所有流量,包括蜂窝网络和WiFi!所以,Surge 支持 iPhone 全局 http代理,https 代理,sock5代理。

至于用法,我懂,你也懂。它除了支持全局代理,还可以单独设定 DNS(使用和配置sniproxy不再依赖 APN)甚至是远端 DNS 解析(和 DNS 泄露说白白)

现在,数字蜂窝下终于也可以愉快地科学上网啦!——等等,难道还得配置https代理不成?当然,虽然原则上 Surge 不支持 SS,但通过插件模块的形式,还是可以实现以 Surge 跑全局 Shadowsocks 的。

好了,接下来我们就来说说如何配置 Surge

安装

目前为止,你仍旧可以直接到中国区的 AppStore 直接搜索和下载 Surge —— ¥68 的价格我觉得还是很合适的,毕竟开发者也需要吃饭,而且还要负担巨大的风险:)

由于各种原因,作者已经将 Surge 下架——这意味着你不可能再购买到 Surge 了 Surge 作者现在以 $99 的价格上架了 Surge,这引起了不少争议。不过,聪明的你一定能想到办法——比如家庭计划,比如万能的淘宝……

配置

Surge 的配置文件是纯文本的,它可以从互联网地址直接下载,也可以从 iTunes 导入,还可以从 iCloud Drive 导入——就像其他普通的 APP 一样。这里我们不在深入讨论,我想这么多方法,总有一种是你会的。

Surge 支持策略,所以我们可以实现国内外分流访问,还可以通过 Surge 实现一些路由级别的去广告!

为此我用 Python 写了一个工具,帮助你一键生成配置文件:https://github.com/R0uter/ss.conf-for-surge

下载或者克隆这个仓库到本地,运行 ssconf.py 这个文件,它将在 configFileHere 这个目录里生成最新的白名单和黑名单配置,然后,你需要编辑它来添加你的服务器信息:

这里分[Proxy]和[Proxy Group],这两个是对应的,如果你代理组里不写代理配置名称,你的 Surge 就不会出现这个代理的切换选项。根据你的需求,把预置的几个代理信息改掉,比如服务器地址就写在 your-server-here 这里,如果你的服务器信息不够四个,那么你应该把多余的删除掉。我建议你保留Direct选项,这样你就不需要在某些情况下关闭 Surge 来跳转直连了(虽然有些时候还是需要的)。

最后把修改好的 gfwlist.conf  或者 whitelist.conf配置文件导入 Surge,你会在开启代理的时候收到提示说需要下载自定义模块,这个模块默认地址是我仓库里的备份,所以如果你所在的网络访问 Git 困难,那你可能就无法下载这个模块——没关系,编辑配置,在配置页面的最下边,点击 文本模式编辑 按钮,然后在纯文本的配置文档里找到类似 https://github.com/R0uter/ss.conf-for-surge/raw/master/ss.module 的语句,把它替换为 https://www.logcg.com/ss.module 即可——这是我博客的备份。

注意

如果你懒得自己生成配置,那么你也可以直接把 gfwlist.conf  或者 whitelist.conf 拿来使用,只不过需要修改下对应的 SS 配置信息——我想这个难不倒你——毕竟上文已经说的很清楚了。

体验

这样,你就可以畅游真正的互联网啦!一般来讲,Surge 会在你点亮屏幕和切换了网络之后自动重连,虽然 VPN 的灯是亮着的,不过并不是 VPN 哈~

关于配置文件

这个配置文件,黑名单版本会自动去获取 gfwlist 来生成,白名单版本则会使用我预先准备的白名单版本。总之,这个脚本可以自动地去更新黑名单和去广告列表,如果你的网络有问题不能获取,它也会使用上次更新留下的缓存文件来继续完成配置文件的生成:)

代理组

Surge 的新版本有了子配置的支持,支持了代理组配置,这样我们就可以在同一个配置文件内写多个服务器配置信息,然后在 Surge 运行时实时切换,这样一方面可以避免来回开关 Surge 避免跳转另一方面也方便撰写配置。不过,有一点就是由于服务器配置都写在了同一个配置文件里,那么你要注意下次更新配置文件,得把你的服务器信息备份,不然还得手动修改一遍了。

延伸阅读

配置生成器的仓库: ss.conf-for-surge

反广告策略:https://gist.github.com/iyee/2e27c124af2f7a4f0d5a

Surge 原理与实现 https://medium.com/@Blankwonder/surge-原理与实现-8aa3304fb3bb#.rxxqwfdwh

Surge 官方手册(英文)http://surge.run/manual/

本文由 落格博客 原创撰写:落格博客 » iOS 9 配置 Surge 使用 Shadowsocks 实现 iPhone 全局科学上网

转载请保留出处和原文链接:https://www.logcg.com/archives/1355.html

About the Author

R0uter

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

Comments

  1. suger的确很好用,但是对于大多数用户, suger实在是太贵了。 推荐使用shadowrocket ,用爱思助手或者pp助手可以免费装。
    机场的话,推荐这个小机场 ssr.superssr.me 免费的网速还不错,当然捐赠后网速更快。

  2. Surge配置文件中节点信息里有一个ss模块地址(你给的是https://github.com/R0uter/ss.conf-for-surge/raw/master/ss.module)但我一直想不明白这个模块到底是什么?它有什么用?它和前面具体的节点信息(包括地址、加密方式等)到底有什么关系?某一个有效的ss模块地址是否能在任意的节点后起作用?我曾试过直接把这模块直接下载到电脑里研究下,但也没看出个所以然来。这个问题我一直没搞懂,我Google了很久,但几乎所有的教程对它都是一笔带过。我想自己在服务器上部署ss的服务端,但我不知道该怎么部署这个模块,我甚至不知道它是什么。还望站长先生能为我解惑,万分感谢。

    1. 这个东西吧,是surge作者写的一个插件……但实际上就是一个ss功能的开关,你只要有一个就好了。真正的ss功能其实还在程序里。你要部署服务端,记得用ss原版协议即可,常见的加密都能行。
      如果你要部署ssr,记得开启兼容模式。

    1. chinaproxy 应该默认直连,所有国内判定会走这个线路,之所以独立设计了一个线路选项出来是为了在必要的时候你可以把它也选成走代理,这样就成了“全局代理”;
      proxy 则是所有判定要走代理的国外网站,如果你不选择代理,那么这些网站在中国则可能是打不开的或者很慢的;
      auto 则是一个自动测速的选项,你把 proxy 选成 auto,那么surge会自动测速 auto里的线路并自动切换到比较快的线路上。

        1. 选择auto,就是让surge自动测速选择最优的线路,如果你不选auto,那么auto的测速结果就只有参考意义,对你的配置不影响。 chinaproxy是走国内线路的时候怎么走,如果你选了direct那就是国内直连,如果你选了某线路,那么就是走某线路,如果你选了auto,那么就是让surge自动确定线路。

          1. 明白了,感谢!话说这些规则在哪里有声明吗?作者的博客?很好奇楼主怎么知道的,哈哈哈

          2. surge的使用说明书里,网上随便搜就是了。然后我给它加上了一点小小的变通变相实现了surge的“全局”代理。当然,还是比不上vpn来的全局哈。

  3. 博主,你好,请问Surge里怎么添加白名单,zimuzu#tv,换成,像这个站,开着就特别慢,关了就特别快,想加白名单里,但是不知道在哪加

  4. 博主,发现一个问题,ios 10.2,从照片里直接分享相片去微信,特别慢,一分多钟了还没发送成功,断开Surge就很快,不知道是哪里出了问题!

      1. 被企鹅绑架了,如果不是身边人用微信QQ这些,我根本不想用,我就装了个微信,刚发现这个问题,张小龙不是说要国际化嘛,我还想求证个事情,微信到底保不保存用户聊天记录的??看到微信自己说不保存,但是我不信

        这博客真挺好的,可惜我不会搭,不然真想弄一个

  5. 建议下载博主的这个,https://github.com/R0uter/ss.conf-for-surge/raw/master/configFileHere/gfwlist.conf,博主的这个配置,谷歌街景没有问题,试了别人的,博主的这个最完美,菜鸟就用手机在Surge界面里下载吧,然后在手机上编辑服务器配置就可以,四个全部填上就可以了,我用电脑搞的好像有点问题,手机上搞的成功了,再次感谢博主!

  6. 博主你好,我说下我的步骤,弄了一上午没成功,在Surge的左上角点击按钮,然后点击《down configuration from URL》,输入:https://github.com/R0uter/ss.conf-for-surge,然后在configuration可以看到《ss.conf-for-surge》,然后我返回选择Start提示错误,出现《Edit in Text Mode》,我点击进去编辑了我的服务器信息,但是不行,还是提示错误:configuration must start with section header.

    求博主帮忙,谢谢!

    1. 下载或者克隆这个仓库到本地,运行 ssconf.py 这个文件,《ssconf.py》 里没有《your-server-here》字段,ServerConfig.txt倒是有

      1. 非常感谢,32赞,我折腾了一天了,不过总算上去了,用的这个:http://a—.-n/Appsocks_Plus.conf (站长编辑,应此链接站长要求,隐藏掉了域名。注:链接早就失效了。)
        修正了1.2.6在ios10下不显示vpn图标的bug,可以去视频广告,可以无需全局看netflix。

        手机上用 Google Maps + Surge 看街景时不显示的问题也解决了,Yachen liu推特上有说,地址在这里:https://twitter.com/Blankwonder/status/753077862282981376

        现在把你的这个也弄手机上,我是个菜鸟,啥都不会,自己电脑上可以翻,google搜索了一天

        太谢谢你们了,世界有你们更精彩!

        1. 感谢提醒啊,我自己不用街景而且也没人提交issue所以我都不知道,谷歌地图的问题已经修复,你可能得重新再添加一次了:)

          1. 谷歌街景的问题在Wingy的Telegram群里看到的,有好几个人说这个情况,不过我知道怎么解决了,就加一个规则就可以了,感谢亲爱的博主!

      2. 可能后面还会有人来这里,我再描述一遍我的情况,手机是6S,ios 10.0,未越狱,装的Surge 1.2.6 文件大小6055kb,在电脑上用的同步助手安装的,一次成功,其他助手装起来也没用,PP助手修复闪退成功也照样没用,一打开Surge就让登陆iTunes store,情况基本上就是这样,在这里留言的时候,下方的验证算术题请填阿拉伯数字,填中文没用,再一次感谢博主,感谢大家!

  7. 博主技术大神!!有个问题想请教。
    原文里说“这个配置文件,黑名单版本会自动去获取 gfwlist 来生成”,但是就我理解好像只有ssconf.py会生成更新的文件?
    放在Surge里的gfwlist_ss.conf有办法自动更新吗?

    1. 你的理解是正确的,其实我的意思是 ssconf.py 这个文件会自动去获取 gfwlist 更新黑名单,总之你生成的文档是不会自己去更新的:)

        1. 现在Surge支持子配置,写一大堆自配置调用主配置即可~~~这样每次更新只要更新主配置即可,服务器配置则都保存于子配置里边不需要改变。

          1. 我一直想知道。surge中间把服务器配置和规则配置怎么分离。不过好像也没有查到相关资料。你说得是这么个意思么。

          2. 有一段时间是可以的,但是后来又不支持分离的配置了,所以现在规则和服务器配置确实是在同一个文件当中的。

  8. 博主,我也有用 Surge,发现在电信4G 下,FB 和 T 上不了,G+ 可以正常浏览,不知何因,是否有过类似情况?
    白名单,黑名单各种都试了。
    看 Surge 最近请求,貌似访问的是 23.21.213.72:443,应用规则是 FINAL –> Proxy。

发表回复

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