Surge TestFlight Feed
This channel provides information about the latest beta versions of Surge for iOS, Mac, and tvOS.
Show moreπ Analytical overview of Telegram channel Surge TestFlight Feed
Channel Surge TestFlight Feed (@surgetestflightfeed) in the Chinese language segment is an active participant. Currently, the community unites 12 965 subscribers, ranking 9 771 in the Technologies & Applications category and 16 495 in the China region.
π Audience metrics and dynamics
Since its creation on Π½Π΅Π²ΡΠ΄ΠΎΠΌΠΎ, the project has demonstrated rapid growth, gathering an audience of 12 965 subscribers.
According to the latest data from 28 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 61 over the last 30 days and by 6 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 45.24%. Within the first 24 hours after publication, content typically collects 30.67% reactions from the total number of subscribers.
- Post reach: On average, each post receives 5 865 views. Within the first day, a publication typically gains 3 976 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 16.
π Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
βThis channel provides information about the latest beta versions of Surge for iOS, Mac, and tvOS.β
Thanks to the high frequency of updates (latest data received on 29 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
peer-access-passthrough has been removed due to its side effects, and the behavior has been restored to the previous version. Special handling for Apple Screen Sharing is now built in and works without any configuration.
Rule Sets
- Removed the 1,000,000 entry limit on rule sets and domain sets.
Surge VM
- [Mac] New "Disable UDP Fast Path" option in the gateway settings. When a device creates many UDP flows in a short time (for example, P2P downloads), Surge VM normally moves it to the UDP Fast Path. That path forwards its UDP traffic directly at L3 without applying rules. Turn this option on to stop using the fast path for all devices, so all UDP traffic always goes through your rules.
Fixes
- Fixed iCloud Drive sync no longer pulling changes from other devices. Local changes were still uploaded. The problem came from a lock file with missing write permission left behind by older versions. Surge now repairs that file automatically.peer-access-passthrough option for Tailscale and WireGuard policies. It is on by default when accept-incoming / allow-peer-access is enabled.- Incoming connections to this device's tunnel address are handed to the local service directly, so the service sees the peer's real address and port.
- Traffic this device sends to a peer address goes straight into the tunnel.
- Rules and the request list do not apply to these flows.
- This is needed by protocols that connect back to the peer address they see, such as the high-performance mode of Apple Screen Sharing.
- Set peer-access-passthrough = false to keep the previous behavior. Incoming connections then go through Surge with rules and request records.
- UDP forwarded through Tailscale or WireGuard now keeps the client's source port when that port is free.
QUIC Block Mode
- [iOS] The global block-quic setting can now be changed in the proxy list editor on iOS, as on Mac.
Improvements
- Tailscale: the admin console no longer shows an update warning for devices running Surge.
- Tailscale: a DERP connection that receives no data for 120 seconds is now treated as dead and reconnected. Before, a silently dropped connection could lose all relayed traffic until Surge restarted.
- Ponte: a device is no longer wrongly treated as being on the same LAN when both sides have the same virtual machine bridge address (OrbStack, Parallels, UTM and similar).
- Ponte: when a LAN connection attempt fails, Surge now falls back to Internet mode and refreshes the device record, instead of ending in a ping timeout.
- Ponte: device records in logs no longer include the PSK or controller key.
- Traffic statistics: Tailscale MagicDNS hosts (*.ts.net) are now shown by their full hostname instead of all being grouped under ts.net. The per-host report now adds up entries for the same host instead of keeping only one of them.
- HTTP proxy: the Proxy-Authorization header is no longer forwarded to the upstream server. It carries the credentials for Surge's own proxy.
- HTTP/2: a malformed request now resets only its own stream instead of the whole connection.
- HTTP/2: when the upstream server closes the connection in the middle of a response, Surge now reports it as truncated instead of as a complete response.
- $httpClient: percent-encoded usernames and passwords in the URL are now decoded before they are sent as Basic auth. A response body that cannot be decoded is now reported as an error.
Fixes
- [iOS] Fixed Map Local data files larger than 2 MB being rejected on iOS. The limit is now 15 MB, as the manual says.
- Fixed HTTP/2 responses with no body (304, 204, or a response to HEAD) not being handled correctly when both a response script and a body rewrite rule matched.
- Fixed $surge.retestGroup failing in scripts that use the WebView engine when no policy list was returned.
- Fixed pipelined HTTP/1 requests sent after a chunked request body being forwarded as part of that body instead of being handled as separate requests.
- Fixed several edge cases in HTTP/1 connection reuse and closing that could mix up responses or leave connections open.icon-url show the same way as on iOS.
- An external resource page. You can update resources one at a time or all at once.
- Please note that before using the new tvOS version, you need to redeploy using the latest Surge iOS TestFlight version, otherwise it cannot be enabled.accept-incoming has been renamed to allow-peer-access, but it will still be read for compatibility.
- Fixed the issue where incoming UDP packets could not be forwarded when the destination address is the local machine.
- Please note that due to its unusual communication mechanism, Apple Screen Sharing's high-performance mode cannot be used even if allow-peer-access is enabled. We are looking into a dedicated workaround for this.
Ruleset Editor
- You can now disable individual rules in a ruleset with the Enable/Disable swipe action. Disabled rules are saved as commented-out lines.
Improvements
- Snell v6: UDP data is now sent right after the tunnel command, without waiting a round trip for the server's response. QUIC over Snell v6 connects noticeably faster. This requires a v6 server.
- Adaptive QUIC Block: detection now starts only on new QUIC handshakes. Before, packets from QUIC connections that already existed (for example, ones opened before Surge started) could be wrongly remembered as allowed. They are now blocked so that the app starts a new handshake.
- DTLS, WireGuard, STUN and other non-QUIC UDP traffic on port 443 is no longer treated as QUIC, so block-quic no longer affects it.
- When a SOCKS5 proxy rejects a connection, Surge now shows the reason the server gave (such as connection refused or host unreachable) instead of an "invalid response" error.
- Ponte: a device no longer stays stuck in "LAN-only mode" when its record was captured while its remote channels were restarting. Surge refreshes the device list before giving up, and the error message now explains why.
- [Mac] Resolved the issue of needing to repeatedly reactivate when using multiple users or multiple operating systems on the same device. For details, please refer to the knowledge base licensing FAQ to learn about the corresponding methods.
Fixes
- Fixed requests failing with 503 when a server sends a body after a 304 or another response that should have no body (for example, ASUSWRT-Merlin routers).
- [iOS] Fixed high memory use on MITM HTTP/2 connections when the client reads slowly. This could push the network extension past its memory limit.
- [iOS] Fixed a possible network extension crash when viewing the Logbook with very large script records.
- [iOS] Fixed the external resource view sometimes being presented twice.
- [iOS] Fixed text fields in sheets being covered by the keyboard in some sheet sizes, and the space left for the keyboard not always being removed after it was dismissed.
- [iOS] Optimized the keyboard layout for iPhone Duo.accept-incoming = true: other devices on your tailnet can connect to this device through its tailnet address. For example, they can use Surge's HTTP/SOCKS5 proxy or other services running on this device.
- advertise-exit-node = true: offer this device as an exit node. Other tailnet devices that select it send all their internet traffic through Surge's rules.
- advertise-routes = 192.168.1.0/24, ...: offer this device as a subnet router for the listed networks.
- Exit nodes and subnet routes take effect after you approve them in the Tailscale admin console.
WireGuard
- accept-incoming = true: the peer side can open connections to this device through an existing tunnel.
- listen-port = 51820: Surge acts as a WireGuard server that phones, laptops, and other clients can connect to. A peer can leave out endpoint; Surge learns the client's address when it connects and keeps up when the address changes.
- Clients can set Surge's tunnel address as their DNS server, and Surge's DNS will answer their queries.
Note: Surge does not apply your Tailscale access control policy to incoming connections. Use rules such as SRC-IP to limit who can reach which destination.
Requires iOS 5.24.0+ / Mac 6.11.0+. See the Tailscale and WireGuard pages in the manual for details and example configurations.block-quic=adaptive for proxy policies. Surge blocks QUIC at first so the app falls back to HTTPS over TCP. If the app does not fall back within 1 second, as with apps that only support QUIC, QUIC is allowed for that host. Results are remembered per host. The option is also available in the proxy editor on Mac and iOS.
- block-quic=auto now uses adaptive mode for every policy except DIRECT, so QUIC-only apps keep working through proxies. Policies that cannot relay UDP still block QUIC.
- QUIC hostname detection now works when the TLS ClientHello spans several packets, which is common in recent browsers using post-quantum key exchange. QUIC v2 and draft-29 are now supported as well. Rules, MITM and request records can now see the hostname of more QUIC connections.
HTTP API
- GET /v1/policies of the HTTP API now accepts the include_external=true query parameter. The response then contains an additional external-policies field that lists the policies loaded from external policy groups (policy-path). Each entry includes the policy name, the group it belongs to, and an identifier. Pass the identifier as the policy option of $httpClient to send a request through that policy, since external policies cannot be referenced by name.[IP Rewrite] section, which handles packets entering Surge VIF at the IP layer based on their destination address, before they reach any rule or policy. This can provide on-device loopback functionality for certain iOS developer toolchains. Available actions:
- reflect: Swaps the source and destination addresses and sends the packet back to its sender.
- reject: Responds with a TCP RST to connection attempts and with an ICMP administratively prohibited message to other packets, so the sender fails immediately.
- drop: Silently discards the packet.
Other New Features
- Added a category parameter to policy groups for grouped display, useful when there are many policy groups.
- All test-url parameters now support HTTPS URLs. The result still measures the latency of a single HTTP round trip, but TLS handshakes may significantly increase the overall test duration when there are many policies.
- Added an option to proactively update the configuration of a linked profile. URL-based linked profiles can now be updated manually.
- Added external resource management and other helper endpoints to the HTTP API.
- Added a device communication takeover option for Include All mode. (iOS)
UI and Rules
- Updated UI layouts and details for iPhone Duo support. (iOS)
- Improved the Add Rule page: domain rules can now be created from SNI-sniffed requests, and rule-specific options can be selected directly.
- Inline rule sets with the same name now merge across the main profile and modules instead of replacing one another, preserving the rules contributed by each source.
- Fixed logical rules incorrectly parsing policy names containing parentheses.
Networking and Reliability
- Improved Tailscale and WireGuard behavior when switching networks.
- Improved UDP test diagnostics for peer-to-peer Tailscale and WireGuard policies without Internet egress, reporting unsupported tests instead of waiting for a timeout.
- The previous version strengthened MITM security by generating a separate key pair for each distinct domain, which caused noticeable delays when intercepting many different domains concurrently. After evaluation, this change has been reverted.
- Removed an erroneous Ponte notification when using a Ponte policy in a policy group.
- Fixed a scripting-engine compatibility issue.
- Added a workaround for a system bug in macOS 27.2 beta to prevent Dashboard from crashing. (Mac)
- Improved performance and memory usage, fixed rare crashes, and resolved other minor issues.[IP Rewrite] section, which handles packets entering Surge VIF at the IP layer based on their destination address, before they reach any rule or policy. Available actions:- reflect: Swaps the source and destination addresses and sends the packet back to its sender.
- reject: Responds with a TCP RST to connection attempts and with an ICMP administratively prohibited message to other packets, so the sender fails immediately.
- drop: Silently discards the packet.
For example, you can use the following module to make Surge work as LocalDevVPN, allowing you to use certain developer toolchains on iOS devices.
#!name=Local Device Loopback #!desc=Reflect 10.7.0.1 back to this device for on-device developer tools. [General] ipv6-vif = disabled // Some tools only recognize utun interfaces without an IPv6 address. tun-included-routes = %INSERT% 10.7.0.1/32 [IP Rewrite] 10.7.0.1 = reflect
category parameter has been added to policy groups for grouped display. It can be used when there are many policy groups.
- All test-url parameters now support configuring HTTPS URLs for testing. The test result remains the latency of a single HTTP RTT, but due to the TLS handshake, the test duration may increase significantly when there are many policies.
- In the previous version, MITM security was strengthened by generating a separate key pair for each distinct domain name. This caused noticeable delays when performing MITM concurrently on a large number of different domains. After evaluation, this change has been reverted.UNKNOWN support to GEOIP and IP-ASN rules, allowing IP addresses without matching country or ASN database entries to be matched. This works in both individual rules and rule sets.
Fixes and Improvements
- Fixed lower-than-expected results under extreme throughput performance testing.
- Fixed failed cellular backup connections in Wi-Fi Assist or Hybrid mode prematurely aborting an ongoing Wi-Fi connection attempt.
- Fixed Pre-Matching remaining enabled after changing a rule to a non-reject policy or unsupported rule type.
- Fixed Hysteria UDP forwarding with servers where HTTP/3 Datagram negotiation interfered with UDP traffic.
- Fixed missing traffic statistics for UDP connections through proxies and tunnels, including WireGuard and Tailscale.
- Fixed a rare issue where closing a UDP proxy connection during packet reception could stall other Surge traffic.
- Fixed SF Symbol policy-group icons not responding correctly to appearance changes on iOS.
- [iOS] Improved resource updates on iOS: pending automatic updates resume when the app becomes active, duplicate downloads are avoided, and stale errors are cleared after a successful background refresh.
- [Mac] Fixed macOS Smart policy group context menus showing outdated usage or incorrect priority adjustments.
- [Mac] Fixed unnecessary Surge Helper installation or upgrade alerts at startup when the enabled features do not require the helper.RULE-SET and DOMAIN-SET sources. Circular references are rejected with a clear reference chain instead of causing recursive matching.
- The local ruleset editor now preserves blank lines, standalone and trailing comments, and disabled rules more accurately. Invalid entries report their source file and line number, while comment rows use the same readable presentation as the main rule editor.
- Virtual IP records and search results on iOS now use self-sizing rows, preventing longer domains and usage details from being clipped.
Fixed
- Fixed rules added inside a ruleset or logical rule on iOS incorrectly retaining a hidden policy value when saved.