How stephendade/rpanion-server works
Rpanion-server is a companion-computer control plane for MAVLink vehicles, exposing configuration and monitoring through a browser UI and Node.js API. The principal workflow is an authenticated user changing a setting in a page, sending it to the API, and having a manager apply it to a vehicle or host service. Distinct branches cover telemetry, networking, video, logs/media, NTRIP, PPP, VPN and account management. Relationships reflect documented capabilities and sampled calls; some unsampled API-to-manager wiring is omitted.
Main entry points: index.js HTTP API · AppRouter.jsx Page router · flightController.js Flight controller manager · video-server.py RTSP server
Components 29
Web interface
- Page router
src/AppRouter.jsx - Flight controller UI
src/flightcontroller.jsx - Network UI
src/networkconfig.jsx - NTRIP UI
src/ntripcontroller.jsx - Flight logs UI
src/logBrowser.jsx - Video UI
src/video.jsx - Cloud UI
src/cloud.jsx - VPN UI
src/vpnconfig.jsx - PPP UI
src/ppp.jsx - User management UI
src/userManagement.jsx
API and access
- HTTP API
server/index.js - Login and access control
server/userLogin.js
Vehicle telemetry
- Flight controller manager
server/flightController.js - MAVLink processor
mavlink/mavManager.js - Flight logging
server/flightLogger.js
Connectivity
- Network manager
server/networkManager.js - Ad-hoc Wi-Fi manager
server/adhocManager.js - Access point clients
server/networkClients.js - NTRIP service
server/ntrip.js - PPP connection
server/pppConnection.js - VPN manager
server/vpn.js
Media and logs
- Video stream manager
server/videostream.js - RTSP server
python/video-server.py - Log converter
server/logConverter.js
Other components
- Operator
- NTRIP caster
- MAVLink vehicle
- Camera or RTSP source
- Stream viewer
Connections 37
- Operator → Page router: uses
- Page router → Flight controller UI: routes
- Page router → Network UI: routes
- Page router → NTRIP UI: routes
- Page router → Flight logs UI: routes
- Page router → Video UI: routes
- Page router → Cloud UI: routes
- Page router → VPN UI: routes
- Page router → PPP UI: routes
- Page router → User management UI: routes
- Page router → Login and access control: checks access
- Flight controller UI → HTTP API: requests settings
- Network UI → HTTP API: requests settings
- NTRIP UI → HTTP API: submits config
- Flight logs UI → HTTP API: requests logs
- Video UI → HTTP API: controls recording
- Cloud UI → HTTP API: requests config
- VPN UI → HTTP API: requests status
- PPP UI → HTTP API: requests config
- User management UI → HTTP API: manages accounts
- HTTP API → Login and access control: authenticates
- HTTP API → Flight controller manager: handles telemetry
- Flight controller manager → MAVLink processor: processes MAVLink
- MAVLink processor → MAVLink vehicle: exchanges telemetry
- Flight controller manager → Flight logging: logs flights
- HTTP API → Network manager: handles network config
- HTTP API → Ad-hoc Wi-Fi manager: handles ad-hoc Wi-Fi
- HTTP API → Access point clients: lists clients
- HTTP API → NTRIP service: handles NTRIP config
- NTRIP service → NTRIP caster: receives corrections
- HTTP API → PPP connection: handles PPP config
- HTTP API → VPN manager: handles VPN status
- HTTP API → Video stream manager: controls streaming
- Video stream manager → RTSP server: starts server
- RTSP server → Camera or RTSP source: captures or relays
- Stream viewer → RTSP server: receives stream
- HTTP API → Log converter: serves log conversion