NaiveProxy 使用指南:配置与运行详解
2025-07-07 04:58:16作者:仰钰奇
项目概述
NaiveProxy 是一个基于 Chromium 网络堆栈构建的网络工具,它能够以 Chromium 的流量模式传输数据。该工具既可以作为网络客户端,也可以作为网络服务端运行,或者同时承担这两种角色。其设计目标是提供强大的安全性,特别是针对流量分析的防护。
基本使用方法
NaiveProxy 提供两种配置方式:
- 命令行参数方式:
naive --listen=... --proxy=...
- JSON 配置文件方式:
naive [/path/to/config.json]
如果没有指定参数,程序默认会尝试加载当前目录下的 config.json
文件。
核心配置参数详解
监听配置 (--listen)
监听参数格式为:
<LISTEN-PROTO>"://"[<USER>":"<PASS>"@"][<ADDR>][":"<PORT>]
其中:
LISTEN-PROTO
:支持socks
、http
或redir
协议- 默认值:
socks://0.0.0.0:1080
特殊说明:
redir
模式需要配合特定的 iptables 规则使用,且不支持认证- 对于本地流量重定向:
iptables -t nat -A OUTPUT -d $server_ip -j RETURN iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 1080
- 对于路由器上的转发流量:
iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 1080
代理链配置 (--proxy)
代理链参数格式为:
PROXY-CHAIN | SOCKS-PROXY
PROXY-CHAIN = <PROXY-URI>[","<PROXY-CHAIN>]
PROXY-URI = <PROXY-PROTO>"://"[<USER>":"<PASS>"@"]<HOSTNAME>[":"<PORT>]
其中:
PROXY-PROTO
:支持http
、https
或quic
协议SOCKS-PROXY
:格式为socks://<HOSTNAME>[:<PORT>]
重要限制:
- QUIC 代理不能跟在基于 TCP 的代理后面
- 用户需要确保代理链中没有循环
- SOCKS 代理不支持链式、认证或 Naive 填充
高级配置选项
并发连接 (--insecure-concurrency)
此参数用于在恶劣网络条件下提高鲁棒性,但同时会降低安全性:
- 建议值:2(仅在必要时使用)
- 强烈不建议超过 4
- 增加并发连接会使隧道更容易被检测到
额外请求头 (--extra-headers)
可以向服务器请求中添加额外的 HTTP 头:
- 多个头使用 CRLF(回车换行)分隔
主机解析规则 (--host-resolver-rules)
静态域名解析配置示例:
--host-resolver-rules="MAP proxy.example.com 1.2.3.4"
解析器范围 (--resolver-range)
指定内置解析器使用的 IP 范围:
- 默认值:100.64.0.0/10
日志与调试
常规日志 (--log)
- 指定文件路径保存日志
- 空路径则输出到控制台
- 默认不记录任何日志(出于隐私考虑)
网络日志 (--log-net-log)
- 保存 NetLog,可在专用查看器中分析
SSL 密钥日志 (--ssl-key-log-file)
- 保存 SSL 密钥,用于 Wireshark 分析
后量子加密 (--no-post-quantum)
- 默认启用后量子密钥协商
- 此选项可禁用该功能
安全建议
- 除非必要,否则不要使用
--insecure-concurrency
选项 - 生产环境中建议使用配置文件而非命令行参数
- 对于需要高安全性的场景,避免使用日志功能
- 定期更新到最新版本以获取安全修复
通过合理配置这些参数,NaiveProxy 可以在保持高度安全性的同时,满足各种网络需求。对于初学者,建议从简单的 SOCKS5 配置开始,逐步尝试更复杂的功能。