quicvpn is a high-performance, low-latency, cross-platform VPN tunnel powered by QUIC and HTTP/3 camouflage. It is specifically designed to eliminate traffic signatures against Deep Packet Inspection (DPI) and Machine Learning (AI) traffic classifiers while maximizing network throughput.
-
Anti-DPI & Traffic Obfuscation
- HTTP/3 Camouflage: Disguises VPN traffic as standard HTTP/3 / QUIC HTTPS connections (
h3ALPN). - Multi-Mode Packet Padding: Eliminates packet length distribution signatures via
block(step alignment),mtu(fixed length), orrandompadding modes. - Poisson Timing Shaping: Introduces microsecond Poisson timing jitter to obfuscate packet inter-arrival distributions against AI/ML traffic classifiers.
- HTTP/3 Camouflage: Disguises VPN traffic as standard HTTP/3 / QUIC HTTPS connections (
-
Extreme Performance & Zero Allocation
- Zero-Allocation Forwarding Engine: Optimized
VSwitchusing[6]byteMAC table indexing andRLockdouble-checking for 0-allocation packet forwarding. - O(1) Framing Scanner: Zero-copy cursor sliding scanner to parse frames without redundant buffer moves.
- 8MB UDP Socket Tuning: Pre-tuned
SO_RCVBUF/SO_SNDBUF(8MB) to eliminate kernel-level packet drops during 10Gbps+ bursty traffic. - Ring-Batching AsyncPort: Flush up to 64 frames in a single batch to reduce CPU context switches and syscall overhead.
- Zero-Allocation Forwarding Engine: Optimized
-
Low Latency & High Reliability
- QUIC Datagram Mode: Transmits IP/Ethernet frames via QUIC Datagrams to eliminate Head-of-Line (HOL) blocking.
- Reed-Solomon FEC: Forward Error Correction (e.g. 10:2 FEC) for instant 0ms loss recovery over bad Wi-Fi / 5G / cross-border links.
- Multi-Connection Bonding: Establishes multiple parallel QUIC connections to bypass single-UDP-socket ISP QoS rate limits and load balance throughput.
-
Cross-Platform Support
- Fully supports Linux, Windows, and macOS (Intel & Apple Silicon M1/M2/M3/M4).
Download binaries for your OS/architecture from the GitHub Releases page.
Start a VPN server listening on port 4000 with 10:2 FEC and block padding:
./quicvpn_linux_amd64 -mode server -addr 0.0.0.0:4000 -psk "your_secret_key" -padding-mode block -fec-data 10 -fec-parity 2Connect a client to the server using 4 parallel bonding connections and FEC:
# On Linux / macOS (Requires root / sudo for TAP interface):
sudo ./quicvpn_linux_amd64 -mode client -addr 1.2.3.4:4000 -psk "your_secret_key" -conns 4 -fec-data 10 -fec-parity 2 -padding-mode block
# On Windows (Run as Administrator):
quicvpn_windows_amd64.exe -mode client -addr 1.2.3.4:4000 -psk "your_secret_key" -conns 4 -fec-data 10 -fec-parity 2| Flag | Default | Description |
|---|---|---|
-mode |
"" |
Mode of operation: server or client |
-addr |
0.0.0.0:4000 |
Server listen address or target server address |
-psk |
quic_secret |
Pre-shared key for authentication |
-tap |
tap0 |
Name of the virtual TAP device |
-padding-mode |
block |
Packet padding strategy: block, mtu, random, or off |
-padding-step |
128 |
Step size in bytes for block padding mode |
-mtu |
1420 |
Tunnel MTU payload size |
-datagram |
true |
Enable QUIC Datagram mode for low-latency transmission |
-conns |
1 |
Number of parallel QUIC connections for load balancing (Client) |
-fec-data |
0 |
Number of FEC data shards (e.g. 10, 0 to disable) |
-fec-parity |
0 |
Number of FEC parity shards (e.g. 2, 0 to disable) |
-so-buf |
8388608 |
UDP Socket SO_RCVBUF / SO_SNDBUF size in bytes (8MB) |
-timing-shaping |
true |
Enable microsecond Poisson timing shaping |
-version |
false |
Show program version information and exit |
Requires Go 1.22+.
go build -o quicvpn .Run the provided build script:
chmod +x scripts/build.sh
./scripts/build.shCompiled binaries will be generated inside the bin/ directory.
Distributed under the GPL-3.0 License.