How shibbityshwab/lightspeed works
LightSpeed optimizes multiplayer-game UDP traffic by selecting a relay, intercepting a game’s packets, tunneling them through the relay, and forwarding them to the game server. Users start from the GUI or CLI; the GUI embeds the client engine, while the CLI provides headless and diagnostic modes. Relay discovery, route prediction, multipath recovery, and telemetry extend this core flow. The proxy also exposes control and health services. Some links reflect README-documented capabilities; sampled excerpts do not establish every internal call path.
Main entry points: engine.rs Client engine · relay.rs Relay service · mod.rs Client tunnel · app.rs Desktop GUI
Components 20
Client interfaces
- Desktop GUI
client-gui/src/app.rs - Client CLI
client/src/main.rs
Client runtime
- Client engine
client/src/engine.rs - Game profiles
client/src/games/mod.rs - Traffic interception
client/src/interceptor/mod.rs - Packet capture
client/src/capture/mod.rs - Route selection
client/src/route/mod.rs - Route prediction
client/src/ml/mod.rs - Client tunnel
client/src/tunnel/mod.rs - Client telemetry
client/src/telemetry.rs
Tunnel and relay
- Tunnel protocol
protocol/src/lib.rs - Relay service
proxy/src/relay.rs - Relay security
proxy/src/auth.rs - Relay control plane
proxy/src/control.rs - Relay health
proxy/src/health.rs
Community services
- Relay discovery
client/src/registry.rs - Signed registry
infra/registry/worker.js - Registry records
infra/registry/worker.js
Other components
- Player or operator
- Game server
Connections 25
- Player or operator → Desktop GUI: starts or configures
- Player or operator → Client CLI: runs command
- Desktop GUI → Client engine: controls
- Client CLI → Client engine: starts runtime
- Desktop GUI → Relay discovery: requests discovery
- Relay discovery → Signed registry: fetches signed list
- Signed registry → Registry records: reads or writes
- Relay discovery → Route selection: supplies relay candidates
- Client engine → Game profiles: resolves game
- Client engine → Traffic interception: starts interception
- Traffic interception → Packet capture: captures packets
- Client engine → Route selection: selects relay
- Route selection → Route prediction: uses prediction
- Client engine → Client tunnel: runs tunnel
- Client tunnel → Tunnel protocol: encodes packets
- Client tunnel → Relay service: sends tunnel traffic
- Relay service → Tunnel protocol: decodes packets
- Relay service → Relay security: checks client
- Relay service → Game server: forwards game packets
- Game server → Relay service: returns responses
- Relay service → Client tunnel: returns tunneled replies
- Client CLI → Relay control plane: registers session
- Relay service → Relay health: serves health checks
- Client engine → Client telemetry: flushes reports
- Client telemetry → Relay control plane: sends reports