用 Surge 优化你的 iOS 网络

发布于 2015-11-12  451 次阅读


3.0 - 需要付费升级,由于没有设备,暂未升级。
2.0(TF700) - HTTPS 解密功能已可以使用,配置与 Mac 版本通用。
2.0 - 加入防盗版机制(判定规则:同一账户半年内激活超过 10 台设备),规则详解
2.0(TF595)- 升级到 2.0(更新日志),由于变更版本号会触发 TF 重审核,所以版本号依然显示为 1.3.0。
1.3.0(TF579)- 检测到运行在 iOS 10 DP 1 版本下时,会自动启动兼容模式,不需要加入 compatibility-mode 选项。同时让更多应用可以在兼容模式下工作了。
1.3.0(TF574)- iOS 10 DP 1 版本的 NE 框架有一些严重的问题,使得 Surge 完全无法工作,该版本加入了一个兼容模式,用于临时解决该问题;在配置中加入:

[General]
compatibility-mode = 1

1.3.0(TF569)- 添加 Surge CLI 支持
1.2.3(TF562)- 重写 Widget 功能
1.2.3(TF560)- Shadowsocks 协议加入 OTA 支持,配置方法:

Proxy = custom,server.com,443,chacha20,password,http://surge.run/SSEncrypt.module,ota=true,Module

1.2.0(TF498)- 加入 Widget 切换线路功能
1.2.0(TF476)- 加入 Proxy Group 功能
1.2.0(TF471)- 加入 URL Rewrite 功能
2015 年 10 月 因“众所周知的原因”,软件已下架,呵呵!
持续更新中,为方便已购买用户更新,会不定期以 $99 的价格短期上架以 $99 的价格重新长期上架,Surge 购买与价格相关问题

软件介绍

Surge 是一款基于 iOS 9 新特性:Network Extension 开发的网络调试工具,较适用于开发人员,可以从 iOS 9 设备上的任何应用程序里捕获所有 HTTP / HTTPS/ TCP 流量,并重定向到一个 HTTP/ HTTPS/ SOCKS5 代理服务器上,简而言之就是 - 代理。强大的代理,它可以接手系统说有的网络连接;翻墙、去广告等,那都不是事,还能使用 Shadowsocks…

购买安装

APP Store 已上架,中区 68 元、美区 9.9 美元;另外作者写了《购买前说明》,请认真阅读

软件配置

设置时去除前面的 # 号

通用设置

[General]
loglevel = notify
skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 127.0.0.0/8, 100.64.0.0/10, localhost, *.local, e.crashlytics.com
//473 解决 UDP 问题,bypass-tun 只需要设置内网网段就可以了
bypass-tun = 192.168.0.0/16,10.0.0.0/8,172.16.0.0/12
# DNS OVERRIDE 设置 DNS
dns-server = 119.29.29.29,223.5.5.5,114.114.114.114,8.8.8.8

代理设置

[Proxy]
# Proxy = http,$IP,$PORT,$USERNAME,$PASSWORD
# Proxy = https,$IP,$PORT,$USERNAME,$PASSWORD
# Proxy = socks,$IP,$PORT,$USERNAME,$PASSWORD
# Shadowsocks 配置,代理方式一定要是 custom
# Proxy = custom,$IP,$PORT,$METHOD,$PASSWORD,$MODULE_URL
# 代理需要 Shadowsocks 的一个模块:http://proxy.sofi.sh/SSEncrypt.module

规则设置

通过下述判断方法选择连接方式:直连(DIRECT)和代理(Proxy):

# 基于域名判断并屏蔽(REJECT)请求 
DOMAIN,pingma.qq.com,REJECT 
# 基于域名后缀判断屏蔽(REJECT)请求 
DOMAIN-SUFFIX,flurry.com,REJECT 
# 基于关键词后缀判断走代理(Proxy)
DOMAIN-KEYWORD,google,Proxy,force-remote-dns 
# 基于域名后缀判断请求走直连(DIRECT) 
DOMAIN-SUFFIX,126.net,DIRECT 
# Telegram.app 指定“no-resolve”Surge 忽略这个规则与域的请求。 
IP-CIDR,91.108.56.0/22,Proxy,no-resolve 
# 判断是否是局域网,如果是,走直连 
IP-CIDR,192.168.0.0/16,DIRECT 
# 判断服务器所在地,如果是国内,走直连 
GEOIP,CN,DIRECT 
# 其他的全部走代理 
FINAL Proxy 
# 其他的全部不走代理 
FINAL,DIRECT

进阶设置请参阅《定制自己的规则》

规则列表

阿禅 - https://gist.github.com/jason5ng32/648597df6ca7da5aeb41
Janlay - https://gist.github.com/janlay/b57476c72a93b7e622a6
Scomper - https://gist.github.com/scomper/b0c6129840272c136a82

其他教程

  • 新手使用指南
  • 作者公告
  • URL Scheme
    Surge 支持 URL Scheme 满足重度/效率使用者的需求,不过作者只做了最基本的 URL Scheme,当前 Surge 仅支持三种行为以及一个选项:
    行为:startstoptoggle
surge:///start:使用预先选定的服务器配置开启 Surge 服务
surge:///stop:关闭 Surge 服务
surge:///toggle:打开/关闭 Surge 服务

选项:autoclose=true
surge:///toggle?autoclose=true:当行为执行完毕时,自动退出 Surge 软件


二十多岁的年纪,希冀着时光别走…