在之前的文章
教程 | iOS 端代理工具合集
中推荐了 Surge 这款付费网络调试软件,价格不菲,但也物超所值。应读者要求,趁着周末,输出一篇相关的使用教程。
Ps:
本文中所述的软件均建议使用美区或者港区账号进行下载或者购买;可用的 AppStore 美区账号,可在公众号对话框回复关键词「
美区
」获取。
App Store 链接
https://itunes.apple.com/cn/app/surge-3-web-developer-tool/id1329879957
Surge 是基于 iOS 9 的新特性 Network Extension 开发的一款网络调试工具,工作原理是使用 Packet Tunnel Provider 给系统套上一个代理,Surge 有两个主要组件:Surge 代理服务器和 Surge TUN 接口。程序运行之后,Surge 会将自身设置为默认的 HTTP/HTTPS 代理服务器来处理所有的 HTTP/HTTPS 流量。
Surge 会接管全局的(几乎)所有通信,所以所有网络方面的电量消耗都会被算在 Surge 头上,实际上 Surge 的运行功耗很少,使用中也不会感到 Surge 对电量有明显影响。
iOS 教程
首先你应该已经买了 Surge,并且已经有了其他必需的远程条件。
[General]
这是我配置好的规则截图。
[General]
部分你可以直接把下边的拷贝到你的规则里,具体怎么回事就不解释了,作者教程里有写。(这里一定要通过 iCloud 或者别的方式同步到电脑上编辑,手机上不支持下边的
custom
这种方式)。
[General]
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10,localhost, *.local, ::ffff:0:0:0:0/1, ::ffff:128:0:0:0/1
bypass-tun = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
dns-server = 119.29.29.29, 223.5.5.5, 114.114.114.114
loglevel = notify
[Proxy]
[Proxy]
# 自行修改服务器地址、端口、用户名、密码
DIRECT = direct
🇭🇰HK = https,1.2.3.4,443,username,password
🇸🇬SG = custom,1.2.3.4,443,rc4-md5,password,http:
🇯🇵JP = https,1.2.3.4,443,username,password
🇺🇸US = https,1.2.3.4,443,username,password
[Proxy Group]
Proxy = select,DIRECT,🇭🇰HK,🇸🇬SG,🇯🇵JP,🇺🇸US
[Rule]
# 规则部分请参照范例补充完善,此处仅示意
DOMAIN-KEYWORD,umeng.co,REJECT
DOMAIN-KEYWORD,google,Proxy,force-remote-dns
GEOIP,CN,DIRECT
FINAL,Proxy
这是官方给出的示例
🇸🇬SG=custom,1.2.3.4,443,rc4-md5,password,http://custom/ss.module
这是用 ss 方式必须遵守的格式。开头必须是
custom
,其中 custom 在手机上是选不了的,只能在电脑上用编辑器编写(手机上的 Edit mode 也可以但是打字太麻烦了)。然后填写你的地址端口什么的。然后看最后这里:
http://custom/ss.module
,这个是 ss 模块,这里只是示例所以不起作用,所以按照图片里我填的这个:
http://nat.pw/ss.module
才会起作用,网上也有其他的请自行搜索。
这是其中的一个服务器地址的规则。如果你的 ss 服务商提供了多个地址,那么每一条都必须遵照这种规则,就像图片里那样。我之前以为只要一条规则填写过 module 模块就可以其实是不行的。
[Proxy Group]
配合这个功能就可以实现自由选择是走直连、代理或者全局的方式了。
这个是我配置完的界面,结合图1可以看到分为两个组:PROXY 和 DIRECT(会自动显示为全大写),每个组里是自己设置的服务器。你可以自己给组取名字,比如
FUCKGFW
或
FREEDOM
。
这里要注意:
-
每个组都要有
select
,这个代表当前选中的服务器。
-
[Proxy Group] 中罗列的服务器必须在 [Proxy] 字段进行了具体的定义,而且可用,但是反过来 [Proxy]字段中可以写很多服务器, [Proxy Group] 可以只包含其中几个。
-
如果你配置了多个组,每个组包含不同的代理,可以在规则后填入对应的组名来实现按不同的规则的定义来命名区分成不同的配置文件,或者用不同的命名区分服务器提供商。
-
如果你用了 emoji 图标,注意图标和字母中间不要有空格
配置完之后如果想:
注意这里可能会产生困惑,我再啰嗦两句:第一个
DIRECT
是组名,第二个是代理名。两个都可以任意起名,只不过要对应好我之前说的。
如果想要以上的不出现问题,那么在 [Rule] 字段必须正确配置,所有需要走代理的规则后填写第一个组名,然后倒数第二行 GEOIP,CN,第二个组名这样。注意第一张图片里我的配置截图没截取到,只显示了[Host],这个以后再说。
[Rule]
这里就是主要起作用的部分了。你可以配置适合自己的规则,也可以在网上下载别人配好的。但是建议自己弄明白方便以后 DIY