À propos du projet

NaïveProxy est un outil de proxy qui exploite la pile réseau de Chromium pour camoufler le trafic, offrant une forte résistance à la censure et une faible détectabilité. Il atténue l'empreinte de site web, l'empreinte des paramètres TLS, les sondages actifs et l'analyse de trafic basée sur la longueur grâce à la multiplexation du trafic, la pile TLS de Chrome, le fronting d'applications et le remplissage/fragmentation. Architecture : Navigateur → client Naïve → Censeur → Frontend → serveur Naïve → Internet. Le frontend peut être Caddy avec le plugin forwardproxy ou HAProxy, routant le trafic HTTP/2 en fonction des en-têtes d'autorisation. Le serveur Naïve agit comme un proxy direct avec une couche de remplissage de longueur de paquets. Plateformes prises en charge : Windows, Android (via Exclave, husi, NekoBox), Linux, macOS et OpenWrt. Les utilisateurs doivent toujours utiliser la dernière version pour conserver des signatures identiques à Chrome. La configuration du serveur utilise un fork de Caddy forwardproxy avec le remplissage de NaïveProxy. Un exemple de Caddyfile configure TLS, l'authentification basique, le masquage IP/Via et la résistance aux sondages sur le port 443. La configuration du client exécute un proxy SOCKS5 localement (port par défaut 1080) se connectant au serveur via HTTPS ou QUIC. La configuration se fait via JSON avec les champs listen et proxy. Protocole de remplissage : les 8 premières lectures/écritures par flux bidirectionnel sont remplies avec 0 à 255 octets aléatoires. Les trames RST_STREAM sont remplies pour ressembler à des trames HEADERS. Les trames HEADERS des requêtes/réponses CONNECT incluent des en-têtes de remplissage pseudo-aléatoires. Le remplissage est activé par la présence de l'en-tête de remplissage dans la requête/réponse CONNECT. Changements par rapport à Chromium upstream : source minimisée (0,3 % de l'original), exceptions/RTTI désactivées (sauf Mac/Android), prise en charge d'OpenWrt, vérificateur de certificat intégré, gestion AIA PKCS#7, limites de socket plus élevées, tunneling forcé, HTTP/2/3 CONNECT Fast Open, remplissage RST_STREAM.