Ever wondered what browsing the modern web would feel like from the Moon? This tool started as a curiosity: given the latency and bandwidth constraints of deep-space communication, how usable would today's heavy, bloated websites actually be for astronauts or researchers?
Space Proxy Simulator is a Man-in-the-Middle (MITM) proxy that hooks into a sandboxed Chrome profile and lets you configure artificial propagation delays and bandwidth restrictions — so you can browse the real internet as if you were on the Moon, Mars, in Low Earth Orbit, or any other environment you define.
The experiment raised a practical question: would lunar researchers need a local data center (think US-MOON-1) to serve as a regional proxy rather than reaching back to Earth for every request? Depending on the site, the Moon is actually surprisingly usable — slow, like a rural connection, but functional. That could mean less compute equipment needs to make the trip.
Mars is a different story. With one-way signal travel times ranging from ~3 to ~22 minutes (up to ~44 minutes round-trip), anything requiring a real-time request/response cycle essentially doesn't work. A local Martian data center or edge cache wouldn't be a luxury — it would be a necessity.
All radio and laser communication — whether Wi-Fi, fibre, satellite, or deep-space relay — is ultimately limited by the speed of light (~299,792 km/s in a vacuum). You cannot make a packet travel faster. This means every request you send and every response you receive incurs an unavoidable one-way propagation delay equal to distance ÷ c. Unlike terrestrial latency (which can be reduced with better hardware), this delay is a hard physical constraint. Space Proxy Simulator applies this delay faithfully to both the outbound request and the inbound response, giving you the true round-trip experience.
Simulates the one-way signal travel time on both the request and response legs independently.
| Mode | Description |
|---|---|
| Fixed | Every request/response waits exactly the configured milliseconds |
| Random | Delay sampled uniformly between a Min and Max value |
| Gaussian | Delay sampled from a normal distribution (Mean ± Std Dev) |
Built-in presets:
| Preset | One-way Delay | One-way (human) | Round-trip |
|---|---|---|---|
| No Delay | 0 ms | instant | instant |
| Low Earth Orbit | ~20 ms | ~0.02 s | ~40 ms |
| Geostationary Orbit | ~250 ms | ~0.25 s | ~500 ms |
| Moon | ~1,250 ms | ~1.25 s | ~2.5 s |
| Mars (minimum) | ~182,000 ms | ~3 min | ~6 min |
| Mars (maximum) | ~1,342,000 ms | ~22 min | ~44 min |
Simulates limited link capacity by rate-limiting upload and download independently based on actual body size.
Built-in presets:
| Preset | Download | Upload |
|---|---|---|
| Unlimited | ∞ | ∞ |
| Deep Space / Voyager | ~1 Kbps | ~1 Kbps |
| Lunar Gateway | ~64 Kbps | ~32 Kbps |
| GEO Satellite | ~500 Kbps | ~128 Kbps |
| LEO Satellite | ~10 Mbps | ~3 Mbps |
| Artemis II O2O Laser — avg | ~80 Mbps | ~20 Mbps |
| Artemis II O2O Laser — peak | ~260 Mbps | ~20 Mbps |
| Dial-up Modem | ~56 Kbps | ~33 Kbps |
| ISDN | ~128 Kbps | ~64 Kbps |
| 3G Mobile | ~1.5 Mbps | ~384 Kbps |
| 4G LTE | ~20 Mbps | ~5 Mbps |
Live per-request breakdown showing: outbound delay, upload throttle, inbound delay, download throttle, total RTT, and response body size.
Launches a sandboxed Chrome profile pre-configured to route through the proxy — no changes to your normal browser.
One-click generation and installation of the mitmproxy CA certificate into your system trust store, enabling HTTPS interception.
There's something funny to me about a researcher at a lunar base scrolling through Craigslist listings back on Earth — goats for sale, free furniture, local gigs
Requirements: Python 3.10+
git clone https://github.com/yourname/space-proxy-simulator.git
cd space-proxy-simulator
pip install -r requirements.txtpython main.py- Install CA Cert — click once on first run. This installs the MITM certificate so HTTPS sites work. Restart Chrome after.
- Configure delay — choose a preset or set a custom delay mode (Fixed / Random / Gaussian) and value.
- Configure bandwidth — optionally enable throttling and choose a preset or enter custom Kbps values.
- Click Apply Settings to commit any changes.
- Click Start Proxy — the proxy begins listening on
127.0.0.1:8080(configurable). - Click Launch Chrome — opens a sandboxed Chrome window routed through the proxy.
- Browse normally. The Request Log will show real-time delay and throttle breakdown per request.
- Delay and bandwidth settings can be changed live without restarting the proxy (host/port changes require a restart).
Note: The CA certificate only needs to be installed once per machine. The button will grey out automatically if it detects it is already trusted.



