跳转到内容

NaiveProxy配置

NaiveProxy 使用 Chrome 的网络栈来伪装流量,使其在特征上与普通的 HTTPS 流量完全一致,从而具备极强的探测防御能力。它通常作为 Caddy 的一个插件运行。

由于 NaiveProxy 需要特定的 forwardproxy 插件,建议使用 xcaddy 进行自定义编译:

Terminal window
# 使用 xcaddy 编译集成 naive 插件的 Caddy
~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

服务端需要配置 TLS 证书以及 forward_proxy 插件:

{
# 自定义 HTTPS 端口号
https_port 1008
order forward_proxy before file_server
}
:1008, [example.com] {
# TLS 证书路径(请替换为实际路径)
tls /root/certs/[example.com]/fullchain.pem /root/certs/[example.com]/key.pem
# 前置代理配置,需确保已安装对应插件
forward_proxy {
# 设置基础身份认证
basic_auth [username],[password]
hide_ip
hide_via
probe_resistance
# upstream socks5://127.0.0.1:1007 # 可选:上游代理
}
# 伪装站点的静态文件路径
file_server {
root /root/html/Kelvin
}
# 反向代理(可选,用于进一步伪装)
#reverse_proxy {
# to 127.0.0.1:2023
#}
}

客户端通过 JSON 文件定义监听端口和上游代理服务器:

{
"listen": "socks://127.0.0.1:1080",
"proxy": "https://[username]:[password]@[example.com]"
}
Terminal window
# 启动 Caddy
caddy run --config Caddyfile

下载对应的二进制文件并执行:

Terminal window
./naive config.json