Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/klzgrad/naiveproxy/llms.txt

Use this file to discover all available pages before exploring further.

NaïveProxy is a high-performance proxy tool that routes your traffic through Chromium’s own network stack, making it indistinguishable from a real Chrome browser talking to a standard web server. By reusing Chrome’s TLS configuration, HTTP/2 multiplexing, and connection patterns, NaïveProxy defeats the most sophisticated traffic analysis and censorship techniques in use today.

Quickstart

Get a working proxy in minutes with Caddy and the NaïveProxy client

How It Works

Learn about traffic camouflage, application fronting, and padding

Server Setup

Configure Caddy or HAProxy as your NaïveProxy frontend server

CLI Reference

Complete reference for all flags, options, and URI formats

Why NaïveProxy?

Most proxy protocols have distinct TLS fingerprints, connection patterns, or protocol signatures that make them trivially detectable by deep packet inspection. NaïveProxy takes a different approach — instead of building a new obfuscation protocol, it reuses Chrome’s existing network stack wholesale.

TLS Fingerprinting

Chrome’s BoringSSL configuration is used verbatim — your proxy connection’s TLS handshake is byte-for-byte identical to real Chrome traffic

Traffic Classification

HTTP/2 multiplexing mirrors Chrome’s actual behavior, and packet length padding flattens statistical signatures in the first 8 exchanges

Active Probing

Application fronting hides your proxy behind a real web server — direct probes see a legitimate HTTPS site, not a proxy

Post-Quantum Security

Supports X25519Kyber768 post-quantum key agreement by default for future-proof encryption

Architecture

NaïveProxy operates as a two-component system:
[Browser → Naïve client] ──▶ Censor ──▶ [Frontend → Naïve server] ──▶ Internet
The Naïve client runs locally and accepts SOCKS5, HTTP proxy, or transparent redirect connections. It forwards traffic through an HTTPS (or QUIC) tunnel to the frontend server using Chrome’s network stack. The frontend server (Caddy with forwardproxy, or HAProxy) sits in front of the Naïve server. It routes authenticated proxy requests to the backend while serving normal web traffic to unauthenticated visitors, defeating active probing.

Quick Setup

1

Download the client

Download the latest naive binary for your platform from the GitHub releases page.
2

Set up the server

Deploy Caddy with the NaïveProxy fork of forwardproxy on your VPS. See the Caddy setup guide.
3

Configure the client

Create a config.json pointing to your server and run ./naive to start a local SOCKS5 proxy on port 1080.
4

Connect

Point your browser or application at socks5://127.0.0.1:1080 and browse freely.

Supported Platforms

NaïveProxy pre-built binaries are available for Windows, Linux, macOS, Android (via Exclave, husi, NekoBox), and OpenWrt routers. See OpenWrt Support for router-specific architecture guidance.
Always use the latest release to keep your TLS signatures synchronized with the current Chrome version. Outdated signatures can become detectable as Chrome evolves.

Build docs developers (and LLMs) love