clasp-discovery
Network discovery for CLASP (Creative Low-Latency Application Streaming Protocol) devices and servers.
Features
- mDNS/DNS-SD - Zero-configuration discovery on local networks
- UDP Broadcast - Fallback discovery when mDNS is unavailable
- Rendezvous Server - WAN discovery via HTTP REST API
- Cascade Discovery - Automatically try mDNS → broadcast → rendezvous
- Auto-Keepalive - Automatic registration refresh with rendezvous server
Feature Flags
| Feature | Description |
|---|---|
mdns |
mDNS/DNS-SD discovery (default) |
broadcast |
UDP broadcast discovery (default) |
rendezvous |
WAN discovery via rendezvous server |
Basic Usage
use Discovery;
async
WAN Discovery (Rendezvous)
For discovery across the internet, use the rendezvous feature:
[]
= { = "3.3", = ["rendezvous"] }
use ;
use Duration;
let config = DiscoveryConfig ;
let mut discovery = with_config;
// Register this device (starts automatic keepalive)
discovery.register_with_rendezvous;
// Discover all devices (mDNS → broadcast → rendezvous)
let devices = discovery.discover_all.await?;
// Or discover WAN devices only
let wan_devices = discovery.discover_wan.await?;
Rendezvous Server
The rendezvous server is built into the CLASP relay server by default. When you run clasp-relay, rendezvous is automatically available on port 7340.
# Start relay with rendezvous (default)
# Disable rendezvous
You can also run a standalone rendezvous server:
use ;
let server = new;
server.serve.await?;
mDNS Service Type
CLASP uses the service type _clasp._tcp.local for mDNS discovery.
Documentation
Visit clasp.to for full documentation.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Maintained by LumenCanvas | 2026