首页
/ NaiveProxy 使用指南:配置与运行详解

NaiveProxy 使用指南:配置与运行详解

2025-07-07 04:58:16作者:仰钰奇

项目概述

NaiveProxy 是一个基于 Chromium 网络堆栈构建的网络工具,它能够以 Chromium 的流量模式传输数据。该工具既可以作为网络客户端,也可以作为网络服务端运行,或者同时承担这两种角色。其设计目标是提供强大的安全性,特别是针对流量分析的防护。

基本使用方法

NaiveProxy 提供两种配置方式:

  1. 命令行参数方式
naive --listen=... --proxy=...
  1. JSON 配置文件方式
naive [/path/to/config.json]

如果没有指定参数,程序默认会尝试加载当前目录下的 config.json 文件。

核心配置参数详解

监听配置 (--listen)

监听参数格式为:

<LISTEN-PROTO>"://"[<USER>":"<PASS>"@"][<ADDR>][":"<PORT>]

其中:

  • LISTEN-PROTO:支持 sockshttpredir 协议
  • 默认值: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:支持 httphttpsquic 协议
  • SOCKS-PROXY:格式为 socks://<HOSTNAME>[:<PORT>]

重要限制

  1. QUIC 代理不能跟在基于 TCP 的代理后面
  2. 用户需要确保代理链中没有循环
  3. 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)

  • 默认启用后量子密钥协商
  • 此选项可禁用该功能

安全建议

  1. 除非必要,否则不要使用 --insecure-concurrency 选项
  2. 生产环境中建议使用配置文件而非命令行参数
  3. 对于需要高安全性的场景,避免使用日志功能
  4. 定期更新到最新版本以获取安全修复

通过合理配置这些参数,NaiveProxy 可以在保持高度安全性的同时,满足各种网络需求。对于初学者,建议从简单的 SOCKS5 配置开始,逐步尝试更复杂的功能。