Crate siphon_server

Crate siphon_server 

Source
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§

CloudflareClient
Cloudflare API client for DNS and Origin CA management
ControlPlane
Control plane server that accepts tunnel client connections via mTLS
HttpPlane
HTTP data plane that receives traffic from Cloudflare
OriginCertificate
Origin CA certificate and private key
PortAllocator
Port allocator for TCP tunnels
ResolvedCloudflareConfig
Resolved Cloudflare configuration with actual secret values
Router
Routes incoming requests to appropriate tunnel connections
ServerConfig
Server configuration (parsed from TOML, can be overridden by env)
StreamIdGenerator
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§

ResponseRegistry
Shared registry for pending HTTP responses Maps stream_id -> response sender channel
TcpConnectionRegistry
Shared registry for TCP connections Maps stream_id -> TCP connection handle