在 Ubuntu 环境下,使用 v2rayA 配合本地运行的 naive 核心是一种非常高级且稳健的方案。这种架构下,naive 负责最底层的流量伪装,而 v2rayA 负责流量的分流(分流国内外)、透明代理(让终端和全局都通)以及图形化管理。
以下是实现这一”上游分发”模式的详细配置流程:
1. 核心架构逻辑
在这种模式中,流量的路径如下:
应用程序 -> v2rayA (分流/透明代理) -> 本地 naive 核心 (127.0.0.1:1080) -> VPS 服务端 (Caddy)
2. 准备:确保本地 NaiveProxy 正在运行
你需要确保你本地的 naive 正在后台监听一个端口。假设你的 config.json 配置如下:
{
"listen": "socks://127.0.0.1:1080",
"proxy": "https://user:pass@xxx.com"
}
- 确保运行:可以通过
ps aux | grep naive确认进程是否存在。
3. 在 v2rayA 中配置”上游服务器”
-
打开 v2rayA 面板:通常是
http://127.0.0.1:2017。 -
点击”创建 (Create)”:
-
协议 (Protocol):选择
Socks5(或者你在 naive 中设置的协议)。 -
地址 (Address):填写
127.0.0.1。 -
端口 (Port):填写
1080(必须与 naive 的listen端口一致)。 -
别名 (Alias):可以随意,比如
Naive-Local-Upstream。
-
-
保存。
此时,v2rayA 就把运行在你电脑本地的 naive 进程当作了一个普通的”服务器”。
4. 开启分流与系统代理
-
选择服务器:在列表中点击你刚刚创建的
Naive-Local-Upstream。 -
点击左上角的”就绪 (Ready)” 按钮使其变蓝。
-
设置分流规则(点击右上角”设置”):
-
透明代理 / 系统代理:选择”开启”。
-
规则设置:
- 绕过局域网和大陆 (Bypass LAN and Mainland):这是最推荐的模式,可以保证国内流量直连,国外流量走 NaiveProxy。
-
-
点击”保存并应用 (Save and Apply)“。
5. 注意事项与排查
-
端口冲突:确保 v2rayA 自身的运行端口(如 20172, 20171 等)不要与 naive 的 1080 端口冲突。
-
启动顺序:建议先启动
naive核心,再在 v2rayA 中点击”连接”,否则 v2rayA 会因为找不到上游代理而报错。 -
权限问题:v2rayA 开启透明代理需要 root 权限,在 Ubuntu 上请确保 v2rayA 服务是以 sudo 权限运行的。
6. 创建自动化启动脚本
在本地 Ubuntu 电脑上创建一个脚本文件(例如 start_naive.sh):
nano ~/start_naive.sh
粘贴以下内容(请根据你的实际路径修改):
#!/bin/bash
## --- 配置区域 ---
## NaiveProxy 程序和配置文件的绝对路径
NAIVE_BIN="$HOME/naiveproxy/naive"
NAIVE_CONFIG="$HOME/naiveproxy/config.json"
## 检查 Naive 监听的端口 (需与 config.json 一致)
LOCAL_PORT=1080
## --- --- --- ---
## 1. 检查 naive 是否已经在运行
if pgrep -x "naive" > /dev/null
then
echo "[+] NaiveProxy 已经在运行中。"
else
echo "[!] NaiveProxy 未启动,正在尝试后台启动..."
# 使用 nohup 在后台运行,并将日志记录到 naive.log
nohup $NAIVE_BIN $NAIVE_CONFIG > ~/naive.log 2>&1 &
sleep 2
if pgrep -x "naive" > /dev/null
then
echo "[+ ] NaiveProxy 成功启动!(PID: $(pgrep -x "naive"))"
else
echo "[-] 启动失败,请检查 ~/naive.log 中的报错信息。"
exit 1
fi
fi
## 2. 提示 v2rayA 对接信息
echo "-------------------------------------------------------"
echo "本地代理已就绪:SOCKS5://127.0.0.1:$LOCAL_PORT"
echo "现在请前往 v2rayA 面板 (http://127.0.0.1:2017):"
echo "1. 点击 'Import' 或 '新建'。"
echo "2. 添加一个 Socks5 类型服务器,地址 127.0.0.1,端口 $LOCAL_PORT。"
echo "3. 在 v2rayA 中连接该服务器并开启 '透明代理'。"
echo "-------------------------------------------------------"
赋予执行权限:
chmod +x ~/start_naive.sh
7. 彻底清理建议
如果你以后想停止这个方案:
-
停止代理:在 v2rayA 界面点击”停止”。
-
杀死后台核心:运行
pkill naive。