Reliable MAVLink
over the internet.
Commercial WebSocket transport that bridges vehicle telemetry and commands over lossy public networks. Automatic reconnect, backpressure, end-to-end encryption — a drop-in client crate for CrabStation Pro and CrabCompanion. Licensed per deployment.
CrabCom
Topology preview coming soonWSS by default. Plain WS for dev. Multipath cellular on request.
Same wire format from lab bench to LTE bonded link. Choose what your operating environment can give you.
WSS — WebSocket Secure
TLS 1.3 · default transportPersistent encrypted socket between companion and operator. Single port (443), proxies clean through corporate firewalls and CGNATs.
TLS 1.3 with mTLS optional
Permessage-deflate compression
Tested across LTE, Starlink, ground hops
WS — Plain WebSocket
Trusted networks · debugUnencrypted variant for development, in-lab testing, and trusted VPN overlays. Identical framing, same reconnect semantics.
Lower CPU on Jetson / Raspberry Pi
Drop-in over Wireguard or Tailscale
Same backpressure model as WSS
Multipath cellular
Aggregator backendBond two or more LTE / 5G modems for resilience in motion. Latency-aware scheduler picks the best path per frame.
Per-flow path selection
Seamless failover under signal loss
Quectel + Sierra modem support
Survives cellular handover, Starlink jitter, and corporate-firewall NAT.
BVLOS, urban canyon, cellular bond. The control loop never sees the jitter.
Automatic reconnect
Exponential backoff with jitter. The vehicle stays paired with the operator session across NAT rebinds and outages.
End-to-end encryption
TLS 1.3 between companion and operator. Optional mTLS for fleet authentication. Pre-shared keys for air-gapped setups.
NAT + CGNAT traversal
Outbound-only sockets through a relay server. Works behind corporate firewalls, mobile broadband and Starlink.
Backpressure + framing
Bounded send queues per priority. High-rate telemetry drops first; commands and acks never starve.
Multi-client fan-out
One companion, many operators. Read-only viewers and a single command authority — enforced server-side.
Bandwidth-adaptive
Telemetry rate shrinks on saturated links. Video pipeline negotiates separately and never blocks control.
Companion dials out. Operator connects in.
No inbound ports on the vehicle. The relay holds the connection, authenticates both sides, fans out to many operators.
CrabCom is the internet transport. It is the client crate CrabStation and CrabCommander use to reach a vehicle, and it bridges to a CrabCompanion daemon on the aircraft. CrabCompanion is the commercial companion-compute product — CrabCom is how operators connect to it over the internet. Run CrabCom against your own companion, or pair it with CrabCompanion for a supported stack.
Explore CrabCompanionData flow
Vehicle + flight controller
CrabPilot, ArduPilot, PX4 — local MAVLink over UARTCrabCompanion daemon (commercial)
Embeds CrabCom, wraps the bus, dials out to the relayCrabCom relay (cloud or on-prem)
Authenticates, fans out to operator clientsOperator
CrabStation, browser dashboard, automation scriptConnect a client
Rust client crate. Tokio, async/await, retries built in. There is also a TypeScript client for browser dashboards.
use crabcom::{Client, ClientConfig};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let cfg = ClientConfig::wss("wss://relay.example.com/v1")
.with_token(std::env::var("CRABCOM_TOKEN")?)
.with_reconnect_backoff_ms(500, 30_000);
let client = Client::connect(cfg).await?;
// Subscribe to MAVLink frames from the vehicle
let mut rx = client.subscribe("mavlink").await?;
while let Some(frame) = rx.recv().await {
println!("{} byte frame", frame.payload.len());
}
Ok(())
}When the link is the problem
BVLOS operations
Fly past line of sight from any control room. Operator stays connected through cellular handover, link blackout, and Starlink jitter.
Distributed teams
Pilot in one country, observer in another, ops manager watching a dashboard. One companion, many viewers, one command authority.
Cellular bridging
Replace the radio modem with an LTE link. Aggregate two SIMs for redundancy. No port forwarding, no static IPs.
Don't want to run a relay? We'll host it.
CrabCom is a commercial crate, licensed with CrabStation Pro and CrabCommander deployments — you can run the relay on your own infrastructure. For teams that would rather not operate relay infrastructure, we can run a managed relay as a paid service. Pricing per engagement.
Managed relay hosting — we run the infrastructure for you
mTLS + token issuance and rotation for your fleet
Multipath cellular aggregation for vehicles in motion
Monitoring, alerting, and capacity scaling
Ongoing engineering support