Skip to content

Commit 2e73431

Browse files
committed
Add deep space profiles: lunar, mars-close, mars-far
For the astronaut SSH experience: - lunar: 2.56s RTT (Earth-Moon light delay) - mars-close: 6min RTT (Mars at closest approach) - mars-far: 44min RTT (Mars at opposition) Good luck using vim over mars-far.
1 parent c6df4a2 commit 2e73431

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ edge 500ms 100ms 200kbit 100kbit packet
111111
intercontinental 250ms 30ms 10mbit 5mbit packet
112112
lte 50ms 15ms 20mbit 5mbit packet
113113
lte-poor 150ms 50ms 2mbit 500kbit packet
114+
lunar 2.56s 50ms 128kbit 16kbit packet
115+
mars-close 6m0s 1s 2mbit 16kbit packet
116+
mars-far 44m0s 2s 500kbit 8kbit packet
114117
satellite 600ms 50ms 25mbit 5mbit packet
115118
satellite-geo 700ms 100ms 10mbit 2mbit packet
116119
wifi-bad 200ms 100ms 500kbit 250kbit packet

profiles.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,26 @@ var profiles = map[string]Config{
106106
DownRate: 10000000 / 8, // 10mbit (typical VPN)
107107
UpRate: 5000000 / 8, // 5mbit
108108
},
109+
110+
// Deep space
111+
"lunar": {
112+
RTT: 2560 * time.Millisecond, // Earth-Moon ~1.28s one-way (384,400km / c)
113+
Jitter: 50 * time.Millisecond, // Space links are stable once locked
114+
DownRate: 128000 / 8, // 128kbit S-band downlink
115+
UpRate: 16000 / 8, // 16kbit uplink (commands)
116+
},
117+
"mars-close": {
118+
RTT: 6 * time.Minute, // Mars at closest approach (~54.6M km)
119+
Jitter: time.Second, // DSN tracking variations
120+
DownRate: 2000000 / 8, // 2mbit DSN downlink
121+
UpRate: 16000 / 8, // 16kbit uplink
122+
},
123+
"mars-far": {
124+
RTT: 44 * time.Minute, // Mars at opposition (~401M km)
125+
Jitter: 2 * time.Second, // Longer path = more variation
126+
DownRate: 500000 / 8, // 500kbit (signal degrades with distance)
127+
UpRate: 8000 / 8, // 8kbit uplink
128+
},
109129
}
110130

111131
// formatRate formats a bytes-per-second rate as a human-readable string.

0 commit comments

Comments
 (0)