Skip to content

DeGrandis/space-proxy-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Space Proxy Simulator

Space Proxy Simulator


What is this?

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.


Why light speed matters

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.


Features

Propagation Delay

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

Bandwidth Throttle

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

Request Log

Live per-request breakdown showing: outbound delay, upload throttle, inbound delay, download throttle, total RTT, and response body size.

Chrome Integration

Launches a sandboxed Chrome profile pre-configured to route through the proxy — no changes to your normal browser.

CA Certificate Installer

One-click generation and installation of the mitmproxy CA certificate into your system trust store, enabling HTTPS interception.


Screenshots

App + Wikipedia Moonbase article at Moon latency (Artemis II O2O laser bandwidth)

Moon latency - Moonbase Wikipedia

App + Chrome DevTools Network tab — Artemis program Wikipedia at Moon latency

Moon latency - Artemis program with network tab

Someone on the Moon browsing Craigslist

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

Craigslist goats from the Moon


Installation

Requirements: Python 3.10+

git clone https://github.com/yourname/space-proxy-simulator.git
cd space-proxy-simulator
pip install -r requirements.txt

Usage

python main.py
  1. Install CA Cert — click once on first run. This installs the MITM certificate so HTTPS sites work. Restart Chrome after.
  2. Configure delay — choose a preset or set a custom delay mode (Fixed / Random / Gaussian) and value.
  3. Configure bandwidth — optionally enable throttling and choose a preset or enter custom Kbps values.
  4. Click Apply Settings to commit any changes.
  5. Click Start Proxy — the proxy begins listening on 127.0.0.1:8080 (configurable).
  6. Click Launch Chrome — opens a sandboxed Chrome window routed through the proxy.
  7. Browse normally. The Request Log will show real-time delay and throttle breakdown per request.
  8. 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages