siphon_server/
lib.rs

1//! Siphon tunnel server library
2//!
3//! This library provides the core components for running a siphon tunnel server.
4//! It can be used to embed a tunnel server in other applications or for testing.
5
6mod cloudflare;
7mod config;
8mod control_plane;
9mod dns_provider;
10mod http_plane;
11mod router;
12mod state;
13mod tcp_plane;
14
15// Re-export public types
16pub use cloudflare::CloudflareClient;
17pub use config::{ResolvedCloudflareConfig, ServerConfig};
18pub use control_plane::ControlPlane;
19pub use dns_provider::{DnsError, DnsProvider, OriginCertificate};
20pub use http_plane::HttpPlane;
21pub use router::Router;
22pub use state::{
23    new_response_registry, new_tcp_connection_registry, PortAllocator, ResponseRegistry,
24    StreamIdGenerator, TcpConnectionRegistry,
25};
26pub use tcp_plane::TcpPlane;