在 Ubuntu 上搭建 NaiveProxy 的核心思路是:在服务端使用带有 forwardproxy 插件的 Caddy 服务器作为前端,在客户端使用 NaiveProxy 核心进行连接。
由于 NaiveProxy 的安全性极高,它要求服务端 Caddy 必须具备特定的补丁,因此我们需要通过 xcaddy 手动编译。
第一阶段:服务端搭建 (VPS)
1. 准备工作
-
一台 Ubuntu VPS(建议 20.04/22.04/24.04)。
-
一个域名:将域名的 A 记录解析到你的 VPS IP。
-
开启 BBR 加速(提升网络性能):
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
2. 安装 Go 环境与编译 Caddy
NaiveProxy 需要特殊版本的 Caddy,官方仓库的版本不支持,另外安装Go时请最好直接安装最新版本,用以满足后续的编译需求。
## 更新系统
sudo apt update && sudo apt upgrade -y
## 安装 Go 语言
wget https://go.dev/dl/go1.25.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.25.5.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin:~/go/bin' >> ~/.bashrc
source ~/.bashrc
## 安装 xcaddy (编译工具)
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
## 开始编译带有 Naive 插件的 Caddy
xcaddy build --with github.com/caddyserver/forwardproxy=github.com/klzgrad/forwardproxy@naive
## 将生成的 caddy 移动到系统路径
sudo cp caddy /usr/bin/
sudo setcap cap_net_bind_service=+ep /usr/bin/caddy
3. 配置 Caddyfile
创建并编辑配置文件:
sudo mkdir /etc/caddy
sudo nano /etc/caddy/Caddyfile
写入以下内容(请修改域名、邮箱、用户名和密码):
{
order forward_proxy before file_server
}
:443, 你的域名.com {
tls 你的邮箱@gmail.com
forward_proxy {
basic_auth 你的用户名 你的密码
hide_ip
hide_via
probe_resistance
}
# 伪装站:当别人直接访问你的域名时显示的内容
file_server {
root /var/www/html
}
}
注:请确保 /var/www/html 目录下有一些简单的 HTML 文件作为伪装站。
4. 设置 Caddy 开机自启
创建 systemd 服务文件:
sudo nano /etc/systemd/system/caddy.service
粘贴以下代码内容:
[Unit]
Description=Caddy
After=network.target network-online.target
Requires=network-online.target
[Service]
User=root
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动服务:
sudo systemctl daemon-reload
sudo systemctl enable --now caddy
第二阶段:本地 Ubuntu 客户端配置
1. 下载 NaiveProxy 核心
在你的本地电脑上执行:
## 访问 GitHub 下载最新 Linux 版 (通常是 linux-x64)
## 假设当前版本为 v131.x
wget https://github.com/klzgrad/naiveproxy/releases/download/v131.0.6778.85-1/naiveproxy-v131.0.6778.85-1-linux-x64.tar.xz
tar -xvf naiveproxy-*.tar.xz
cd naiveproxy-*-linux-x64
2. 创建本地配置文件
在解压出的文件夹中创建 config.json:
nano config.json
写入以下配置:
{
"listen": "socks://127.0.0.1:1080",
"proxy": "https://用户名:密码@你的域名.com",
"log": ""
}
3. 运行客户端
./naive config.json
如果终端没有报错,说明客户端已启动,并正在本地 1080 端口监听 SOCKS5 代理。