自建NaiveProxy

VPN完美方案-自建NaiveProxy

你是不是购买的VPN老掉线、限速、不是跑路、就是被封,要么就是所在地区不支持,x账号也动不动被关小黑屋,购买御三家AI也动不动被封号限制?

那么有没有一个终极解决办法呢?当然有,今天老张就来分享一下老司机们都采用的方式 NaiveProxy,彻底解决以上所有问题,NaiveProxy可以说是目前自建VPN最完美的方案了。

一、服务器购买

VPS购买

二、域名配置

域名解析配置指引

2.1 域名购买

推荐域名注册商:

  • Cloudflare
  • spaceship

2.2 域名解析配置

在你的域名管理面板(如 Cloudflare、阿里云、DNSPod 等)添加 A 记录:

类型 名称 TTL
A cdn(或其他名称) 你的VPS IP地址 自动/600

例如:你的主域名是 example.com,则二级域名为 cdn.example.com

⚠️ 注意事项

  • 避免使用敏感词:proxy、vpn、ss、v2ray、trojan、naive、ssr、clash 等
  • 关闭 Cloudflare 代理:小云朵变灰,使用 DNS Only 模式
  • 验证解析:等待 DNS 生效后,可用 ping cdn.example.com 验证是否解析正确

三、服务器配置

3.1 SSH 连接服务器

使用 SSH 客户端(如 Windows Terminal、Xshell、Termius)连接:

1
ssh root@你的服务器IP

3.2 系统初始化

1
2
3
4
5
# 更新系统
dnf update -y

# 安装必要工具
dnf install -y curl wget vim tar

3.3 防火墙配置

1
2
3
4
5
6
7
8
9
10
11
# 安装并设置自启
dnf install -y firewalld
systemctl start --now firewalld

# 开放必要端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

# 查看防火墙状态
firewall-cmd --list-all

3.4 关闭 SELinux(可选但推荐)

1
2
3
4
5
# 临时关闭
setenforce 0

# 永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

3.5 启用 BBR 加速

1
2
3
4
5
6
7
8
9
10
# 检查是否已启用
lsmod | grep bbr

# 如果没有启用,执行以下命令
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 验证
sysctl net.ipv4.tcp_congestion_control

四、安装 NaiveProxy 服务端

服务端编译与配置概览

NaiveProxy 需要使用带 naive 补丁的 Caddy 作为服务端。

4.1 安装 Go 环境

1
2
3
4
5
6
7
8
9
10
11
12
# 下载 Go(检查最新版本)
wget https://go.dev/dl/go1.25.5.linux-amd64.tar.gz

# 解压到 /usr/local
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.25.5.linux-amd64.tar.gz

# 配置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile
source /etc/profile

# 验证
go version

4.2 安装 xcaddy

1
2
3
4
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest

# 添加到 PATH
cp ~/go/bin/xcaddy /usr/local/bin/

4.3 编译带 naive 模块的 Caddy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 创建工作目录
mkdir -p /opt/naive && cd /opt/naive

# 编译 Caddy with forwardproxy
xcaddy build --with github.com/caddyserver/forwardproxy=github.com/klzgrad/forwardproxy@naive

# 移动到系统目录
mv caddy /usr/local/bin/caddy

# 赋予权限
chmod +x /usr/local/bin/caddy
setcap cap_net_bind_service=+ep /usr/local/bin/caddy

# 验证
caddy version

4.4 创建 Caddy 配置文件

1
2
3
4
5
# 创建配置目录
mkdir -p /etc/caddy

# 创建配置文件
vim /etc/caddy/Caddyfile

写入以下内容(请替换为你自己的信息):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
order forward_proxy before file_server
admin off
log {
output file /var/log/caddy/access.log
level ERROR
}
servers :443 {
protocols h1 h2
}
}

:443, cdn.example.com {
tls [email protected]

forward_proxy {
basic_auth 你的用户名 你的密码
hide_ip
hide_via
probe_resistance
}

file_server {
root /var/www/html
}
}

配置说明

  • cdn.example.com - 替换为你的二级域名
  • [email protected] - 替换为你的邮箱(用于申请证书)
  • 你的用户名你的密码 - 设置 NaiveProxy 认证信息(建议使用复杂密码)

4.5 创建伪装网站

1
2
3
4
5
# 创建网站目录
mkdir -p /var/www/html

# 可以用AI生成一个静态网站模板作为伪装
# 提示词:帮我创建一个cdn.example.com的伪装网页

4.6 创建日志目录

1
mkdir -p /var/log/caddy

4.7 创建 Systemd 服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cat > /etc/systemd/system/caddy.service << 'EOF'
[Unit]
Description=Caddy with Naive
After=network.target network-online.target
Requires=network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/caddy run --config /etc/caddy/Caddyfile
ExecReload=/usr/local/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target
EOF

4.8 启动服务

1
2
3
4
5
6
7
8
# 重载 systemd
systemctl daemon-reload

# 启动 Caddy
systemctl start caddy

# 设置开机自启
systemctl enable caddy

4.9 验证安装

  1. 浏览器访问 https://cdn.example.com,应该显示伪装网站
  2. 证书应该已自动申请成功(Let’s Encrypt)

五、客户端配置

多终端客户端覆盖

5.1 Windows 客户端 - v2rayN

5.1.1 下载软件

5.1.2 安装配置

  1. 解压 v2rayN 到任意目录(如 D:\v2rayN)
  2. 解压 NaiveProxy 并将 naive.exe 移动到 D:\v2rayN\bin\NaiveProxy 文件夹下
  3. 创建配置文件 naive.json
1
2
3
4
{
"listen": "socks://127.0.0.1:10801",
"proxy": "https://username:[email protected]"
}
  1. 打开 v2rayN 添加自定义配置:
    • 点击菜单:服务器 → 添加自定义配置服务器
    • 选择配置文件:naive.json
    • 核心类型选择:NaiveProxy
    • 点击确定保存

5.2 iOS 客户端 - Shadowrocket(小火箭)

  1. App Store 搜索 Shadowrocket(付费)
  2. 添加节点配置:
    • 类型:HTTP2
    • 地址:cdn.example.com
    • 端口:443
    • 用户名:你设置的用户名
    • 密码:你设置的密码

5.3 Android 客户端 - NekoBox(推荐)

  1. 下载:https://github.com/MatsuriDayo/NekoBoxForAndroid/releases
  2. 添加 Naive 配置:
    • 类型:Naive
    • 地址:cdn.example.com
    • 端口:443
    • 用户名:你设置的用户名
    • 密码:你设置的密码

六、总结

NaiveProxy 可以说是目前自建 VPN 最完美的方案了,特点包括:

彻底解决 VPN 常见问题

  • 🔒 稳定连接 - 避免掉线问题
  • 无限制速 - 服务器性能决定速度
  • 🚫 永久可用 - 自己掌控,不会跑路
  • 🌍 全球通用 - 适合所有地区
  • 🔓 AI/社交账号安全 - 避免账号被封

技术优势

  • 使用 Chrome 浏览器的网络协议栈
  • 完美的流量伪装和探测防护
  • 自动获取 Let’s Encrypt 证书
  • 配置简单,维护成本低

部署成本

  • 服务器成本:年付 100-300 元(根据配置)
  • 域名成本:年付 10-50 元
  • 总成本:年付约 150-350 元(非常划算)

⚠️ 安全提醒

  • 请遵守当地法律法规
  • 不要分享给他人使用
  • 定期更新服务器安全补丁
  • 使用强密码和复杂用户名

如果这个教程帮到你了,请点赞 + 关注 + 转发!