NaiveProxy
项目状态: ✅ 活跃开发中 | 推荐度: ⭐⭐⭐⭐ | 世代: 第四代 | 特色: 极致隐蔽
快速概览
NaiveProxy 是一个基于 Chromium 网络栈的代理工具,其核心理念是"使用真实浏览器的网络组件"。通过直接使用 Chrome 的网络代码,NaiveProxy 的流量指纹与 Chrome 浏览器完全一致,达到了极致的隐蔽性。
核心特性
- 🎭 Chrome 级伪装: 流量指纹与 Chrome 浏览器完全相同
- 🛡️ 极强抗探测: 主动探测无法识别
- 🚀 HTTP/2 & HTTP/3: 支持最新协议
- 🔒 TLS 1.3: 最新加密标准
- 📦 Chromium 网络栈: 继承 Chrome 的所有网络特性
关键指标
| 指标 | 评分 | 说明 |
|---|---|---|
| 性能 | ⭐⭐⭐⭐ | 性能良好,基于成熟网络栈 |
| 安全性 | ⭐⭐⭐⭐⭐ | Chromium 网络栈,久经考验 |
| 稳定性 | ⭐⭐⭐⭐⭐ | 非常稳定 |
| 隐蔽性 | ⭐⭐⭐⭐⭐ | 业界最高水平 |
| 易用性 | ⭐⭐⭐ | 配置较复杂,需要技术基础 |
| 文档 | ⭐⭐⭐ | 文档简洁,需要一定理解能力 |
| 社区 | ⭐⭐⭐ | 小众但专业 |
核心理念
"用真实的 Chrome"
大多数代理工具的思路:
模拟 Chrome 的流量特征 → 但总有细微差别 → 可能被识别NaiveProxy 的思路:
直接使用 Chrome 的网络代码 → 完全就是 Chrome → 无法识别技术实现
NaiveProxy 的核心组件:
- Chromium 网络栈: 直接从 Chromium 提取网络相关代码
- Caddy forwardproxy: 作为服务端代理
- 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: 隐藏客户端 IPhide_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.xz2. 创建配置文件
创建 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/33. 运行客户端
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.jsonGUI 客户端
Windows
使用 NaiveProxy GUI:
- 下载 naive 客户端
- 创建配置文件
- 运行
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 = 32. 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 322. 定期更新
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.com2. 证书问题
bash
# 检查证书
openssl s_client -connect your.domain.com:443 -servername your.domain.com
# Caddy 会自动申请和续期证书
# 确保域名 DNS 正确解析3. 性能问题
- 检查服务器带宽
- 尝试使用 HTTP/3
- 优化系统参数
与其他工具对比
NaiveProxy vs Trojan
| 维度 | NaiveProxy | Trojan |
|---|---|---|
| 隐蔽性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 配置难度 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 客户端生态 | ⭐⭐ | ⭐⭐⭐⭐ |
| 性能 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 技术新颖性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
NaiveProxy vs Xray Reality
| 维度 | NaiveProxy | Xray Reality |
|---|---|---|
| 需要证书 | ✅ 需要 | ❌ 不需要 |
| 流量伪装 | Chrome 浏览器 | 真实网站 |
| 性能 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 配置复杂度 | ⭐⭐⭐ | ⭐⭐⭐ |
| 社区支持 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
适用场景
推荐使用 NaiveProxy 的情况
- 极高隐蔽性需求: 如敏感行业从业者
- 长期稳定使用: 不需要频繁更换
- 技术能力: 有一定技术基础
- 小众路线: 避开主流工具的潜在风险
不推荐的情况
- 新手用户: 配置和调试有难度
- 需要丰富客户端: 客户端选择较少
- 移动端为主: Android 支持有限,iOS 无官方支持
历史与发展
创作背景
作者 klzgrad 注意到:
- 真实浏览器流量难以被识别
- 模拟流量总有差异
- 为什么不直接用浏览器的代码?
于是创造了 NaiveProxy。
技术演进
- 2019-02: 首个版本发布
- 2020: 支持 HTTP/3 (QUIC)
- 2021: 优化性能和稳定性
- 2024: 持续跟随 Chromium 更新
社区资源
- GitHub: https://github.com/klzgrad/naiveproxy
- 使用文档: https://github.com/klzgrad/naiveproxy/blob/master/USAGE.txt
- Issues: https://github.com/klzgrad/naiveproxy/issues
许可证
NaiveProxy 采用 BSD 3-Clause 许可证。
💡 总结: NaiveProxy 是追求极致隐蔽性的最佳选择之一。虽然配置稍复杂、社区较小,但其技术创新和隐蔽性无可比拟。如果你是技术用户,且对隐蔽性有极高要求,NaiveProxy 值得一试。