프로젝트 소개

NaïveProxy는 Chromium의 네트워크 스택을 활용해 트래픽을 위장하는 프록시 도구로, 강력한 검열 회피 능력과 낮은 탐지 가능성을 제공합니다. 트래픽 다중화, Chrome의 TLS 스택, 애플리케이션 프론팅, 패딩 및 단편화를 통해 웹사이트 지문, TLS 매개변수 지문, 능동 프로빙, 길이 기반 트래픽 분석을 완화합니다. 아키텍처: 브라우저 → Naïve 클라이언트 → 검열자 → 프론트엔드 → Naïve 서버 → 인터넷. 프론트엔드는 forwardproxy 플러그인이 있는 Caddy 또는 HAProxy가 될 수 있으며, 인증 헤더를 기반으로 HTTP/2 트래픽을 라우팅합니다. Naïve 서버는 패킷 길이 패딩 계층을 갖춘 포워드 프록시 역할을 합니다. 지원 플랫폼: Windows, Android(Exclave, husi, NekoBox를 통해), Linux, macOS, OpenWrt. 사용자는 Chrome과 동일한 서명을 유지하기 위해 항상 최신 버전을 사용해야 합니다. 서버 설정은 NaïveProxy 패딩이 포함된 Caddy forwardproxy의 포크를 사용합니다. 예시 Caddyfile은 포트 443에서 TLS, 기본 인증, IP/Via 숨김, 프로빙 저항을 구성합니다. 클라이언트 설정은 로컬에서 SOCKS5 프록시(기본 포트 1080)를 실행하며, HTTPS 또는 QUIC를 통해 서버에 연결합니다. 구성은 listen 및 proxy 필드가 포함된 JSON을 통해 이루어집니다. 패딩 프로토콜: 양방향 스트림당 처음 8회의 읽기/쓰기에는 0에서 255바이트 사이의 무작위 패딩이 적용됩니다. RST_STREAM 프레임은 HEADERS 프레임처럼 보이도록 패딩됩니다. CONNECT 요청 및 응답의 HEADERS 프레임에는 의사 난수 패딩 헤더가 포함됩니다. 패딩은 CONNECT 요청/응답에 패딩 헤더가 존재할 때 선택적으로 활성화됩니다. Chromium 업스트림과의 차이점: 소스 최소화(원본의 0.3%), 예외 및 RTTI 비활성화(Mac/Android 제외), OpenWrt 지원, 내장 인증서 검증기, AIA PKCS#7 처리, 더 높은 소켓 제한, 강제 터널링, HTTP/2 및 HTTP/3 CONNECT Fast Open, RST_STREAM 패딩.