FAQ for Surge iOS
Q: How does Surge iOS work?
There are two main components in Surge: Surge proxy server and Surge TUN interface. After being started, Surge sets itself as the default HTTP/HTTPS proxy server to handle all HTTP/HTTPS traffic, which allows Surge to boost performance by using HTTP connections’ keep-alive mechanism globally. But some apps do not obey system proxy settings (such as Mail.app), because they need to use a raw TCP socket. This kind of traffic is handled by Surge TUN interface.
Q: Why does Surge stop unexpectedly sometimes? The VPN icon suddenly disappears.
There are two reasons that may lead to this problem: Surge has reached the system memory limit for network extension apps, and/or you have triggered some bugs in Surge.
iOS system limits network extension apps to use about 6MB memory at most. Surge may use a little more memory under some circumstances and get killed by the system. We will keep working on improving the stability by reducing memory usage and fixing bugs.
Q: In the system's battery usage panel, it says that Surge consumes a large portion of power. Why?
Surge handles all network traffic on your device. So the system counts all network power consumption to Surge. In fact, Surge does not use much power on top of the system network power consumption and does not drain your battery.
Q: Why I always encounter error "Cannot allocate memory"?
This error has been confirmed to be an iOS system bug. The only way to fix it is to reboot your device. We are keeping working with Apple to fix this bug.
Q: What does "Bypass System Related" option do internally?
When this option is enabled, Surge adds some special rules to allow some domains to use raw TCP instead of proxy.
First, add these rules below to allow domains to bypass Surge proxy server and use raw TCP:
api.smoot.apple.com api.smoot.apple.com.cn configuration.apple.com xp.apple.com smp-device-content.apple.com guzzoni.apple.com captive.apple.com *.ess.apple.com *.push.apple.com *.push-apple.com.akadns.net
Second, add this rule with the highest priority:
IP-CIDR, 18.104.22.168/8, DIRECT, no-resolve
If you disable this option, it may lead to some system problems, such as delays in push notifications.
Q: What does "Skip proxy" option do?
This option forces connections to these domain/IP ranges to be handled by Surge TUN, instead of Surge Proxy Server. This option is used to fix compatibility problems with some apps.
To specify a single domain, enter the domain name - for example, apple.com.
To specify all websites on a domain, use an asterisk before the domain name - for example, *apple.com.
To specify a specific part of a domain, specify each part - for example, store.apple.com.
To specify hosts or networks by IP addresses, enter a specific IP address such as 192.168.2.11 or an address range, such as 192.168.2.* or 192.168.2.0/24.
Notice: If you enter an IP address or address range, you will only be able to bypass the proxy when you connect to that host using that address, not when you connect to the host by a domain name that resolves to that address.
Q: What does “Force Remote DNS” option do?
Surge always tries to resolve these domains in remote proxy server. This option is useful if some domains cannot be resolved by local DNS.
Notice: This option is only for Surge TUN interface. When a request is sent to Surge proxy server, Surge always tries to resolve the domain remotely if it matches a rule without DIRECT policy.