Environment
- Karing 1.2.24.2709 (iOS)
- iOS 26.6.1, iPhone — also reproduced on the previous version
- TUN enabled, rule mode,
[Proxy Traffic] Resolve Channel = FakeIP (defaults, unchanged for months)
- Single manually added outbound (not a subscription): VLESS + REALITY + XHTTP, server port 47002
- Server: self-hosted Xray 26.3.27, no routing rules at all (
"routing": null, one freedom outbound)
Summary
On iOS, only connections to destination port 443 leave the tunnel. Connections to any other destination port never reach the proxy server — they are dropped silently inside Karing, with no entry in the server access log and no error in any log on either side.
Practical impact: Telegram never connects (MTProto uses 443/80/5222 to bare DC IPs), Ookla Speedtest never runs a measurement (test servers are on 8080), and the Roborock app loads its HTTPS API but cannot reach the vacuum or load the map (device channel is not on 443).
Reproduction
- Karing on iOS with the setup above, connected.
- Run this scenario: YouTube 60 s → Ookla Speedtest (full run) → Telegram 60 s → Roborock 30 s.
- Read the proxy server's access log for that window.
Result — 93 seconds, 69 connections, 37 unique destinations:
port 443 69
port 80 0
port 5222 0
port 8080 0
Telegram DC (91.108./149.154./185.76.151.) 0
Ookla test servers (:8080) 0
YouTube 15 OK
Roborock / Xiaomi 10 HTTPS API only, all on :443
Roborock is the clearest case — the app breaks partially. Its HTTPS endpoints go through:
api-ru.roborock.com:443
ruiot.roborock.com:443
wood-ru.roborock.com:443
ksyru0-eco.fds.api.xiaomi.com:443
roborocklimited.zendesk.com:443
…so the app opens and shows the account, but the device channel never connects and the map never loads.
Controls
1. Same link in a different client, same phone, 90 seconds later. The identical outbound link was imported into another iOS client (Happ, xray-core) and the same scenario was repeated:
Karing other client
connections 69 149
unique destinations 37 62
port 443 69 114
port 80 0 12
port 5222 0 12
port 8080 0 11
Telegram DC 0 37
Ookla test servers 0 11
Telegram, Speedtest, YouTube and Roborock all work. This excludes the server, the link, the protocol and the network path.
2. Second iPhone. Another iPhone with the same Karing version, same settings and the same link works normally — Telegram, Speedtest and Roborock all fine.
3. Already tried, no change: reinstalling Karing; Reset cache and Reset network inside Karing; removing every other VPN profile from iOS; switching rule → global mode; four different servers (three providers, two countries, direct and via relay).
4. Other platforms. The same Karing account and the same servers work correctly on macOS and Windows.
Expected
Connections to destination ports other than 443 are forwarded to the outbound like any other traffic.
Actual
They never leave the device. The server sees nothing, and neither side logs an error.
Possibly related
#1845 — macOS: non-TLS TCP payload to ports 443/5222 is silently black-holed. Same shape of failure (TLS fine, everything else silently swallowed, nothing in the logs), reported for macOS.
Environment
[Proxy Traffic] Resolve Channel = FakeIP(defaults, unchanged for months)"routing": null, onefreedomoutbound)Summary
On iOS, only connections to destination port 443 leave the tunnel. Connections to any other destination port never reach the proxy server — they are dropped silently inside Karing, with no entry in the server access log and no error in any log on either side.
Practical impact: Telegram never connects (MTProto uses 443/80/5222 to bare DC IPs), Ookla Speedtest never runs a measurement (test servers are on 8080), and the Roborock app loads its HTTPS API but cannot reach the vacuum or load the map (device channel is not on 443).
Reproduction
Result — 93 seconds, 69 connections, 37 unique destinations:
Roborock is the clearest case — the app breaks partially. Its HTTPS endpoints go through:
…so the app opens and shows the account, but the device channel never connects and the map never loads.
Controls
1. Same link in a different client, same phone, 90 seconds later. The identical outbound link was imported into another iOS client (Happ, xray-core) and the same scenario was repeated:
Telegram, Speedtest, YouTube and Roborock all work. This excludes the server, the link, the protocol and the network path.
2. Second iPhone. Another iPhone with the same Karing version, same settings and the same link works normally — Telegram, Speedtest and Roborock all fine.
3. Already tried, no change: reinstalling Karing; Reset cache and Reset network inside Karing; removing every other VPN profile from iOS; switching rule → global mode; four different servers (three providers, two countries, direct and via relay).
4. Other platforms. The same Karing account and the same servers work correctly on macOS and Windows.
Expected
Connections to destination ports other than 443 are forwarded to the outbound like any other traffic.
Actual
They never leave the device. The server sees nothing, and neither side logs an error.
Possibly related
#1845 — macOS: non-TLS TCP payload to ports 443/5222 is silently black-holed. Same shape of failure (TLS fine, everything else silently swallowed, nothing in the logs), reported for macOS.