Surge 是一款在 iOS 9 上运行的强大网络调试工具,虽然作者在 官网 中明确指出它主要为开发者设计,但自从该工具上线以来,它的广泛应用场景也包括科学上网的需求。Surge 的出现,使得越狱 iPhone 的理由减少了许多。

开始使用 Surge

如果您只想将 Surge 用作 Shadowsocks 的代理工具,而不关心详细的配置步骤,只需四个简单步骤:

  1. 在 iTunes 上购买 Surge
  2. 下载整理好的 Surge 配置文件,您可以直接在 Surge 软件中下载或通过 iTunes 导入。
  3. 根据您的 Shadowsocks 服务器信息修改配置。
  4. 输入配置后,点击 Start 启动并按提示操作。

完成后,状态栏会出现 VPN 字样,您的 iOS 设备即可开始科学上网。同时,Surge 还提供各种视频客户端的广告过滤功能,对于需要保护隐私的用户非常实用。

Surge 的主要功能

Surge 的主要功能包括:

  • 拦截流量:截获所有 iOS 应用程序的 HTTP、HTTPS 和 TCP 流量,并将其重定向到代理服务器。
  • DNS 重载:能够在蜂窝网络下重载 DNS 配置,方便开发者进行 DNS 服务器配置。
  • 请求记录:记录设备发送和接收的 HTTP 请求和应答的头信息。
  • 过滤规则配置:支持基于域名、域名后缀、关键字、CIDR IP 和 GeoIP 的多种过滤规则。
  • 流量统计与测速:统计 WIFI、蜂窝网络和代理连接的流量,并进行测速。
  • 配置文件导入:支持通过 URL 下载或 iTunes 导入/导出配置文件。
  • 高性能:在高负载场景下表现出良好的性能与适应性。

与之前需要越狱才能使用的 Shadowsocks 相比,Surge 提供了更强大的可配置性(如过滤规则)、数据统计和实时日志记录。不过,由于 iOS 沙盒限制,Surge 不能实现应用内代理功能,期望未来有相关越狱插件来弥补这一不足。

软件架构

Surge 由以下两个主要组件组成:

  • Surge Proxy Server:该组件自动代理 iOS 设备上的所有 HTTP/HTTPS 流量,并利用同一代理会话来提高性能。用户可以通过 skip-proxy 指令指定哪些流量不需要代理。

  • Surge TUN Interface:负责处理部分应用程序(如邮件客户端和 Facebook 客户端)使用 HTTP/HTTPS 以外的通信协议的数据流。用户可通过 bypass-tun 指令选择哪些流量不经过 TUN 接口处理。

注意:目前 Surge TUN 接口仅限于处理 TCP 流量,ICMP 和 UDP 流量将直接丢弃。

配置文件

Surge 的配置文件分为多个部分,例如 General、Proxy 和 Rule,支持通过 URL 下载和 iTunes 更新。

通用配置示例

[General]  loglevel = verbose  bypass-system = true  skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local  bypass-tun = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12  dns-server = 8.8.8.8, 8.8.4.4  
文章目录