Field noteNov 9, 20265 min read1 source

satmux is an open-source Python tool that routes traffic over pre-warmed TCP connections to a small Linux VM

In one minute

satmux is an open-source Python tool that routes traffic over pre-warmed TCP connections to a small Linux VM near a satellite ground station, targeting unreliable geostationary in-flight Wi-Fi. Its author reports faster fetches and fewer failed requests in tests on Inmarsat GX, but those measurements are self-reported and the approach has setup and traffic-type limits.

What changed: An open-source project called satmux claims to make high-latency in-flight Wi-Fi roughly four times faster using TCP multiplexing, Ground-TLS and zlib.

What happened

The satmux GitHub repository describes a TCP multiplexer and HTTP/TLS relay for geostationary in-flight Wi-Fi, naming Inmarsat GX, Viasat, Panasonic and SITA as target networks. The project uses Python 3's standard library, with no external dependencies, and is released under the MIT license. The repository showed 982 stars and 46 forks when captured.

The README says cabin Wi-Fi can fail for reasons beyond its raw bandwidth: DNS interception, transparent TCP proxies on port 443 that reset connections under load, the multiple satellite round trips required for new connections, and packet loss that causes standard TCP congestion control to reduce its sending window. satmux's client maintains 12 persistent TCP connections to a Linux VM near the satellite ground station, using port 8444 rather than the cabin's proxied port 443. The README says requests are scheduled onto the carrier with the lowest recent byte load.

For SOCKS5 and HTTP CONNECT clients, satmux returns a local connection response in under one millisecond and sends the stream-open message and TLS ClientHello together. This is intended to save one satellite round trip while preserving end-to-end TLS from the laptop. A separate local HTTP endpoint can send an encrypted request frame to the ground VM, where the server performs DNS lookup, verified TLS 1.3 and HTTP redirects over fiber, then compresses plaintext responses with zlib before sending them over the satellite link. The project also documents a local Unix socket for routing git and gh CLI traffic, including requests from already-running coding agents.

The README reports tests over Inmarsat GX Ka-band with about 620 ms round-trip time and a SITA Amsterdam ground station. In a six-origin burst, it reports a change from 19.13 seconds with three of six requests failing to 5.35 seconds with none failing. It also reports 5.2× faster MDN Docs, 2.1× for Cloudflare and 2.7× for the PyPI JSON API. The author says the latency floor remains around 580–650 ms and a typical seat is shaped to 4–5 Mbps. Compression can improve effective throughput for compressible content such as code, HTML and JSON; already-compressed files remain bounded by the seat cap.

The documented setup requires a Linux VM near the satellite downlink, Python 3.9 or newer, and an open TCP port 8444. The README estimates VM cost at $0.01–$0.03 per hour. satmux uses the traveler's authenticated cabin Wi-Fi session and does not bypass captive portals; it also recommends pausing UDP VPNs that compete for cabin airtime.

What the archive adds

We have not covered this before; it opens a new thread.

Trend signal

This does not yet fit a pattern New Runtime tracks. The project addresses a specific network-path problem with a proxy and transport workaround, rather than a material change in AI agent capability, economics or governance.

Why it matters

For a developer who must work over GEO satellite Wi-Fi, fewer connection failures and faster access to code hosts or APIs could make a narrow but frustrating workflow usable. The design is also a reminder that perceived application speed can be constrained by connection setup and middleboxes, not just bandwidth. However, the reported gains apply to the author's tested route and workload; teams should not treat them as a general claim about in-flight internet or an alternative to better connectivity. The operational tradeoff is an extra VM and tunnel configuration, plus a need to trust and maintain that relay. For coding-agent users, the documented gh routing may help an agent's existing network requests, but the repository does not establish that every agent or application will work through it.

Limits and uncertainty

The performance results are reported by the project author; they are not independently verified here. The README does not establish how representative its route, flight conditions, destinations or repeated runs are, and the repository excerpt does not provide a reproducible raw dataset. The claimed benefits depend on the cabin network's proxy behavior, the VM's proximity to the downlink, and traffic that can benefit from fewer round trips or compression. The physical satellite latency and per-seat bandwidth cap remain. Reliability, security review and compatibility across the named providers are not independently established.

Skill to build now

If you regularly work on a GEO satellite connection, first record failures and fetch times for a small set of ordinary destinations on the raw cabin Wi-Fi. Then test satmux on the same route with a temporary VM close to the reported egress, comparing both success rate and elapsed time rather than relying on a headline speedup. Keep the test to permitted traffic and the authenticated cabin session, and tear down the VM and local proxy changes after landing.

Reader takeaway

satmux is a practical, narrowly targeted workaround for high-latency GEO Wi-Fi: it reduces connection overhead and can compress suitable responses, but it cannot change satellite propagation time or the seat's bandwidth cap. Its attractive numbers are a maintainer's measurements, so validate them on the route and traffic you actually use before depending on it.

Evidence / sources

  1. 1github.com/Th0rgal/satmux
All Field Notes

Next reads

Read next

Open the graph
  1. 01topicInfrastructureExplore the infrastructure topic hub.
  2. 02topicOpen SourceExplore the open-source topic hub.
  3. 03archiveField NotesOpen the latest editorial analysis.
  4. 04sourcesSourcesSee the original sources this archive cites.
Who read this page?Machine requests, hidden until opened

Loading the privacy-safe route aggregate...

Open the JSON contract