Expand description
§VCL Protocol
Cryptographically chained packet transport protocol with:
- SHA-256 integrity chain
- Ed25519 digital signatures
- X25519 ephemeral key exchange
- XChaCha20-Poly1305 authenticated encryption
- Replay protection
- Connection events, ping/heartbeat, mid-session key rotation
- Connection pool for managing multiple peers
§Quick Start
use vcl_protocol::connection::VCLConnection;
#[tokio::main]
async fn main() {
let mut server = VCLConnection::bind("127.0.0.1:8080").await.unwrap();
server.accept_handshake().await.unwrap();
let packet = server.recv().await.unwrap();
println!("Received: {}", String::from_utf8_lossy(&packet.payload));
}Re-exports§
pub use error::VCLError;pub use event::VCLEvent;pub use pool::VCLPool;pub use config::VCLConfig;pub use transport::VCLTransport;pub use fragment::Fragmenter;pub use fragment::Reassembler;pub use fragment::Fragment;pub use flow::FlowController;pub use metrics::VCLMetrics;pub use tun_device::VCLTun;pub use tun_device::TunConfig;pub use tun_device::IpPacket;pub use tun_device::IpVersion;pub use ip_packet::ParsedPacket;pub use ip_packet::TransportProtocol;pub use multipath::MultipathSender;pub use multipath::MultipathReceiver;pub use multipath::PathInfo;pub use multipath::SchedulingPolicy;pub use mtu::MtuNegotiator;pub use mtu::MtuConfig;pub use mtu::PathMtu;pub use mtu::MtuState;pub use keepalive::KeepaliveManager;pub use keepalive::KeepaliveConfig;pub use keepalive::KeepaliveAction;pub use keepalive::KeepalivePreset;pub use reconnect::ReconnectManager;pub use reconnect::ReconnectConfig;pub use reconnect::ReconnectState;pub use dns::DnsFilter;pub use dns::DnsConfig;pub use dns::DnsAction;pub use dns::DnsPacket;pub use obfuscation::Obfuscator;pub use obfuscation::ObfuscationConfig;pub use obfuscation::ObfuscationMode;
Modules§
- config
- VCL Connection Configuration
- connection
- VCL Connection
- crypto
- VCL Cryptographic Primitives
- dns
- VCL DNS Leak Protection
- error
- VCL Error Types
- event
- VCL Connection Events
- flow
- VCL Flow Control & Congestion Control
- fragment
- VCL Packet Fragmentation
- handshake
- ip_
packet - VCL IP Packet Parser
- keepalive
- VCL Keepalive
- metrics
- VCL Metrics
- mtu
- VCL MTU Negotiation
- multipath
- VCL Multipath
- obfuscation
- VCL Traffic Obfuscation
- packet
- VCL Packet
- pool
- VCL Connection Pool
- reconnect
- VCL Reconnect
- transport
- VCL Transport Abstraction
- tun_
device - VCL TUN Interface