Expand description
Siphon tunnel server library
This library provides the core components for running a siphon tunnel server. It can be used to embed a tunnel server in other applications or for testing.
Structs§
- Cloudflare
Client - Cloudflare API client for DNS and Origin CA management
- Control
Plane - Control plane server that accepts tunnel client connections via mTLS
- Http
Plane - HTTP data plane that receives traffic from Cloudflare
- Origin
Certificate - Origin CA certificate and private key
- Port
Allocator - Port allocator for TCP tunnels
- Resolved
Cloudflare Config - Resolved Cloudflare configuration with actual secret values
- Router
- Routes incoming requests to appropriate tunnel connections
- Server
Config - Server configuration (parsed from TOML, can be overridden by env)
- Stream
IdGenerator - Global stream ID counter shared across all planes
- TcpPlane
- TCP data plane for direct TCP tunnel connections
Enums§
- DnsError
- Errors from DNS provider operations
Traits§
- DnsProvider
- Trait for DNS and certificate management providers
Functions§
- new_
response_ registry - Create a new response registry
- new_
tcp_ connection_ registry - Create a new TCP connection registry
Type Aliases§
- Response
Registry - Shared registry for pending HTTP responses Maps stream_id -> response sender channel
- TcpConnection
Registry - Shared registry for TCP connections Maps stream_id -> TCP connection handle