Skip to content

NaiveProxy

项目状态: ✅ 活跃开发中 | 推荐度: ⭐⭐⭐⭐ | 世代: 第四代 | 特色: 极致隐蔽

快速概览

NaiveProxy 是一个基于 Chromium 网络栈的代理工具,其核心理念是"使用真实浏览器的网络组件"。通过直接使用 Chrome 的网络代码,NaiveProxy 的流量指纹与 Chrome 浏览器完全一致,达到了极致的隐蔽性。

核心特性

  • 🎭 Chrome 级伪装: 流量指纹与 Chrome 浏览器完全相同
  • 🛡️ 极强抗探测: 主动探测无法识别
  • 🚀 HTTP/2 & HTTP/3: 支持最新协议
  • 🔒 TLS 1.3: 最新加密标准
  • 📦 Chromium 网络栈: 继承 Chrome 的所有网络特性

关键指标

指标评分说明
性能⭐⭐⭐⭐性能良好,基于成熟网络栈
安全性⭐⭐⭐⭐⭐Chromium 网络栈,久经考验
稳定性⭐⭐⭐⭐⭐非常稳定
隐蔽性⭐⭐⭐⭐⭐业界最高水平
易用性⭐⭐⭐配置较复杂,需要技术基础
文档⭐⭐⭐文档简洁,需要一定理解能力
社区⭐⭐⭐小众但专业

核心理念

"用真实的 Chrome"

大多数代理工具的思路:

模拟 Chrome 的流量特征 → 但总有细微差别 → 可能被识别

NaiveProxy 的思路:

直接使用 Chrome 的网络代码 → 完全就是 Chrome → 无法识别

技术实现

NaiveProxy 的核心组件:

  1. Chromium 网络栈: 直接从 Chromium 提取网络相关代码
  2. Caddy forwardproxy: 作为服务端代理
  3. TLS 指纹: 与 Chrome 浏览器完全一致
客户端:
Chromium Network Stack

HTTP/2 或 HTTP/3

TLS 1.3

服务端: Caddy + forwardproxy

目标网站

为什么难以被识别

1. TLS 指纹一致

TLS 指纹包括:

  • 支持的密码套件
  • 扩展字段顺序
  • 椭圆曲线选择
  • 签名算法
  • ALPN 协商

NaiveProxy 的 TLS 指纹与 Chrome 完全相同,因为它就是 Chrome。

2. HTTP/2 行为一致

  • SETTINGS 帧参数
  • WINDOW_UPDATE 策略
  • PRIORITY 帧使用
  • 头部压缩方式

所有这些细节都与 Chrome 一致。

3. 抗主动探测

探测场景:

GFW → 主动连接可疑服务器 → 发送探测请求

NaiveProxy 的响应:

没有正确认证 → Caddy 返回真实网站内容
             → 探测者看到的是正常 HTTPS 网站

部署指南

服务端部署

NaiveProxy 需要配合 Caddy 的 forwardproxy 插件使用。

1. 编译带 forwardproxy 的 Caddy

bash
# 安装 xcaddy
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest

# 编译 Caddy
xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

# 移动到系统路径
sudo mv caddy /usr/local/bin/

2. 配置 Caddyfile

创建 /etc/caddy/Caddyfile:

caddyfile
:443, your.domain.com
tls your@email.com

route {
  # NaiveProxy 转发代理
  forward_proxy {
    basic_auth user password
    hide_ip
    hide_via
    probe_resistance
  }

  # 伪装网站
  reverse_proxy https://www.bing.com {
    header_up Host {upstream_hostport}
    header_up X-Forwarded-Host {host}
  }
}

参数说明:

  • basic_auth user password: 用户名和密码(替换为你的)
  • hide_ip: 隐藏客户端 IP
  • hide_via: 隐藏 Via 头
  • probe_resistance: 抗探测,无认证返回伪装网站

3. 启动 Caddy

bash
# 创建 systemd 服务
sudo cat > /etc/systemd/system/caddy.service <<EOF
[Unit]
Description=Caddy HTTP/2 web server
After=network.target

[Service]
User=caddy
Group=caddy
ExecStart=/usr/local/bin/caddy run --config /etc/caddy/Caddyfile
ExecReload=/usr/local/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

# 创建 caddy 用户
sudo useradd -r -s /bin/false caddy

# 启动服务
sudo systemctl daemon-reload
sudo systemctl start caddy
sudo systemctl enable caddy

客户端配置

1. 下载 NaiveProxy

bash
# 从 GitHub Releases 下载对应平台的客户端
# https://github.com/klzgrad/naiveproxy/releases

# Linux 示例
wget https://github.com/klzgrad/naiveproxy/releases/latest/download/naiveproxy-v118.0.5993.88-1-linux-x64.tar.xz
tar -xf naiveproxy-v118.0.5993.88-1-linux-x64.tar.xz

2. 创建配置文件

创建 config.json:

json
{
  "listen": "socks://127.0.0.1:1080",
  "proxy": "https://user:password@your.domain.com"
}

更多配置选项:

json
{
  "listen": "socks://127.0.0.1:1080",
  "proxy": "https://user:password@your.domain.com",
  "log": "",
  "log-net-log": "",
  "ssl-key-log-file": ""
}

协议格式:

https://username:password@hostname:port
quic://username:password@hostname:port  # HTTP/3

3. 运行客户端

bash
# Linux/macOS
./naive config.json

# Windows
naive.exe config.json

进阶配置

1. 使用 HTTP/3 (QUIC)

服务端 Caddyfile:

caddyfile
:443, your.domain.com {
  protocols h1 h2 h3  # 启用 HTTP/3

  # ... 其他配置
}

客户端 config.json:

json
{
  "listen": "socks://127.0.0.1:1080",
  "proxy": "quic://user:password@your.domain.com"
}

优势:

  • 基于 UDP,可能绕过部分 TCP 限制
  • 0-RTT 连接建立
  • 更好的弱网性能

2. 多用户配置

caddyfile
forward_proxy {
  basic_auth user1 password1
  basic_auth user2 password2
  basic_auth user3 password3
  hide_ip
  hide_via
  probe_resistance
}

3. 自定义伪装网站

caddyfile
reverse_proxy https://your-chosen-website.com {
  header_up Host {upstream_hostport}
}

建议选择:

  • 大型国际网站
  • 与你的域名性质匹配
  • 支持 HTTPS

4. 日志配置

caddyfile
:443, your.domain.com {
  log {
    output file /var/log/caddy/access.log
    format json
  }

  # ... 其他配置
}

客户端工具

命令行

官方客户端,最直接的方式:

bash
./naive config.json

GUI 客户端

Windows

使用 NaiveProxy GUI:

  1. 下载 naive 客户端
  2. 创建配置文件
  3. 运行

Android

NaïveProxy for Android:

  • 下载 APK 安装
  • 导入配置
  • 启动服务

macOS/Linux

可以使用系统服务管理:

bash
# systemd 服务示例
sudo cat > /etc/systemd/system/naiveproxy.service <<EOF
[Unit]
Description=NaiveProxy Client
After=network.target

[Service]
Type=simple
User=your-user
ExecStart=/path/to/naive /path/to/config.json
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl start naiveproxy
sudo systemctl enable naiveproxy

性能优化

服务端优化

1. 系统参数

bash
# /etc/sysctl.conf
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_fastopen = 3

2. Caddy 优化

caddyfile
{
  servers {
    protocols h1 h2 h3
    timeouts {
      read_body 10s
      read_header 5s
      write 10s
      idle 2m
    }
  }
}

客户端优化

使用 HTTP/3 可以获得更好的性能,特别是在高延迟网络环境。


安全建议

1. 强密码

bash
# 生成随机密码
openssl rand -base64 32

2. 定期更新

NaiveProxy 和 Caddy 都需要定期更新:

bash
# 更新 Caddy
xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive
sudo systemctl restart caddy

# 更新 NaiveProxy 客户端
# 从 GitHub Releases 下载最新版本

3. 防火墙配置

bash
# 只开放必要端口
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp  # 如果使用 HTTP/3
sudo ufw enable

故障排查

1. 无法连接

bash
# 检查 Caddy 状态
sudo systemctl status caddy

# 查看日志
sudo journalctl -u caddy -f

# 测试端口
curl -v https://your.domain.com

2. 证书问题

bash
# 检查证书
openssl s_client -connect your.domain.com:443 -servername your.domain.com

# Caddy 会自动申请和续期证书
# 确保域名 DNS 正确解析

3. 性能问题

  • 检查服务器带宽
  • 尝试使用 HTTP/3
  • 优化系统参数

与其他工具对比

NaiveProxy vs Trojan

维度NaiveProxyTrojan
隐蔽性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
配置难度⭐⭐⭐⭐⭐⭐⭐
客户端生态⭐⭐⭐⭐⭐⭐
性能⭐⭐⭐⭐⭐⭐⭐⭐⭐
技术新颖性⭐⭐⭐⭐⭐⭐⭐⭐⭐

NaiveProxy vs Xray Reality

维度NaiveProxyXray Reality
需要证书✅ 需要❌ 不需要
流量伪装Chrome 浏览器真实网站
性能⭐⭐⭐⭐⭐⭐⭐⭐⭐
配置复杂度⭐⭐⭐⭐⭐⭐
社区支持⭐⭐⭐⭐⭐⭐⭐⭐

适用场景

推荐使用 NaiveProxy 的情况

  1. 极高隐蔽性需求: 如敏感行业从业者
  2. 长期稳定使用: 不需要频繁更换
  3. 技术能力: 有一定技术基础
  4. 小众路线: 避开主流工具的潜在风险

不推荐的情况

  1. 新手用户: 配置和调试有难度
  2. 需要丰富客户端: 客户端选择较少
  3. 移动端为主: Android 支持有限,iOS 无官方支持

历史与发展

创作背景

作者 klzgrad 注意到:

  • 真实浏览器流量难以被识别
  • 模拟流量总有差异
  • 为什么不直接用浏览器的代码?

于是创造了 NaiveProxy。

技术演进

  • 2019-02: 首个版本发布
  • 2020: 支持 HTTP/3 (QUIC)
  • 2021: 优化性能和稳定性
  • 2024: 持续跟随 Chromium 更新

社区资源


许可证

NaiveProxy 采用 BSD 3-Clause 许可证。


💡 总结: NaiveProxy 是追求极致隐蔽性的最佳选择之一。虽然配置稍复杂、社区较小,但其技术创新和隐蔽性无可比拟。如果你是技术用户,且对隐蔽性有极高要求,NaiveProxy 值得一试。

基于 MIT 许可发布