你可以从该 URL 下载这个配置文件: http://surge.run/config-example/ios.conf
用编辑器编辑后,再通过 iTunes, URL, AirDrop 或者 iCloud Drive 复制回 iOS 设备
一、General
loglevel = notify
#日志等级: warning, notify, info, verbose (默认值: notify)
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
# 跳过某个域名或者 IP 段,这些目标主机将不会由 Surge Proxy 处理。(在 macOS 版本中,如果启用了 Set as System Proxy, 那么这些值会被写入到系统网络代理设置中.)
dns-server = 8.8.8.8, 8.8.4.4
# 强制使用特定的 DNS 服务器
externalControllerAccess = apassword@127.0.0.1:8888
# 允许外部控制器访问 Surge, 如 Surge-CLI。
bypass-system = 1
# 以下参数仅供 iOS 版本使用
# 将系统相关请求交给 Surge TUN 处理,并自动追加规则
# “IP-CIDR,17.0.0.0/8,DIRECT,no-resolve”
bypass-tun = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
# 将特定 IP 段跳过 Surge TUN,详见 Manual
replica = false
# 是否截取并保存 HTTP 流量 (启用后将对性能有较大影响) (默认值: false)
ipv6 = false
# 是否启动完整的 IPv6 支持 (默认值: false)
interface = 0.0.0.0
# 以下参数仅供 macOS 版本使用
# 监听地址 (默认值: 127.0.0.1)
port = 6152
# HTTP 服务端口 (默认值: 6152)
socks = 6153
# SOCKS5 服务端口 (默认值: 6153)
二、Proxy
ProxyHTTP = http, 1.2.3.4, 443, username, password, skip-common-name-verify=false
ProxyHTTPS = http, 1.2.3.4, 443, username, password, tls=true (等价于 “https, 1.2.3.4, 443, username, password”)
ProxySOCKS5 = socks5, 1.2.3.4, 443, username, password
ProxySOCKS5TLS = socks5, 1.2.3.4, 443, username, password, tls=true
# 该段定义了可用的代理策略
1.针对所有类型代理的选项:
interface: 可选 (默认值: null)
强制使用特定的出口地址或网络设备 (仅 macOS 版可用)
例如: ProxyHTTP = http, 1.2.3.4, 443, username, password, interface = en2
en1 = direct, interface = en1
2.针对启用了 TLS 的代理的选项:
skip-common-name-verify: “true” 或 “false” (默认值: false)
如果启动该选择, Surge 不会校验证书名是否符合。
三、Proxy Group
SelectGroup = select, ProxyHTTP, ProxyHTTPS, DIRECT, REJECT
AutoTestGroup = url-test, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.gstatic.com/generate_204
SSIDGroup = ssid, default = ProxyHTTP, cellular = ProxyHTTP, SSIDName = ProxySOCKS5
# 该段定义了可用的策略组
一个策略组可以包括多个子策略,子策略可以是一个代理策略,或者另一个策略组,或者是一个内置策略 (DIRECT 或 REJECT)。
有 3 种策略组类型:”select”, “url-test” 和 “ssid”
- select: 具体哪个子策略将被使用,由用户界面上进行选择。
- url-test: 具体哪个子策略将被使用,通过测试到具体 URL 的访问速度选择
- ssid: 具体哪个子策略将被使用,根据 Wi-FI 的 SSID 决定
参数1:
- url: 必填(测试时用到的目标 URL)
- default: 必填,默认策略
参数2:
- interval: 可选, 毫秒 (默认值: 600ms),指定在多长时间后,上次的测试结果将被抛弃。
- tolerance: 可选, 毫秒 (默认值: 100ms),只有当新的优选线路,比原优选线路的响应时间,大于该值的时候,才会触发线路变更。
- timeout: 可选, 秒 (默认值: 5s),如果某策略在该时间后依然没有完成,放弃该策略。
- cellular: 可选,在数据网络下的策略。 若不填,那么默认策略将被使用。
四、Rule
DOMAIN-SUFFIX,appldnld.apple.com,DIRECT
DOMAIN-SUFFIX,adcdownload.apple.com,DIRECT
DOMAIN-SUFFIX,swcdn.apple.com,DIRECT
DOMAIN-SUFFIX,phobos.apple.com,DIRECT
DOMAIN-KEYWORD,google,ProxyHTTP,force-remote-dns
DOMAIN-KEYWORD,facebook,SelectGroup
DOMAIN-KEYWORD,blogspot,AutoTestGroup
DOMAIN-KEYWORD,youtube,SSIDGroup
DOMAIN-SUFFIX,apple.com,ProxyHTTPS
DOMAIN-SUFFIX,ad.com,REJECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,172.16.0.0/12,DIRECT
IP-CIDR,127.0.0.0/8,DIRECT
GEOIP,CN,DIRECT
FINAL,ProxyHTTP
# 该段定义了请求处理规则
一个规则有三个基础部分:
类型 | 值 | 策略 |
DOMAIN-SUFFIX, | apple.com, | DIRECT |
IP-CIDR, | 192.168.0.0/16, | ProxyA |
有 2 种基于 IP 的规则: “IP-CIDR” and “GEOIP”。
如果是一个使用域名进行访问的请求,那么 Surge 将进行 DNS 查询以确认是否应该被该规则匹配. 若 DNS 查询失败,将放弃规则匹配过程并直接给出错误。
参数:
- force-remote-dns: 可选 (默认值: false),如果某请求被该规则匹配, 且策略不是DIRECT. 那么 DNS 查询将永远在远端代理服务器执行, 即使该请求由 Surge TUN 处理.
- no-resolve: 可选 (默认值: false),如果是一个使用域名进行访问的请求,跳过该条规则,不触发 DNS 查询。
五、Host
abc.com = 1.2.3.4
*.dev = 6.7.8.9
foo.com = bar.com
# 该段定义了本地 DNS 记录
该功能等同于 /etc/hosts,加上了泛解析和别名支持。
六、URL Rewrite
^http://www.google.cn http://www.google.com header
^http://yachen.com https://yach.me 302
# 该段定义了针对 HTTP 请求的 URL 重定向规则
有两种重定向方式: “header” 和 “302”
1.Header 模式
Surge 会修改发出的 http header,必要时还会修改 Host 字段。客户端将感知不到这个重定向过程. 不支持重定向到一个 HTTPS 的地址。
2.302 模式
Surge 直接简单的返回一个 302 重定向回应。
七、SSID Setting
“SSID Here” suspend=true
# 该段仅在 iOS 版本下生效。你可以为某些特定的“ WiFi 网络设置”设置参数
参数:
suspend: “true” 或 “false”,在该网络下 Surge 将暂停工作。 请注意,如果你在该网络下直接启动 Surge,那么Surge 依然会工作。只有当从其他网络切换到该网络时,Surge 才会暂停。