在路由器上使用 Meridian
运行代理客户端的路由器可以覆盖家中的每台设备,包括无法运行应用的电视和游戏机。本指南展示两种常见的设置:podkop 在 OpenWrt 上和 XKeen 在 Keenetic 上。两者都是社区项目,所以开始前请查阅他们的页面了解最新步骤。
获取链接
为路由器创建自己的客户端,这样可以在不影响他人的情况下禁用它:
meridian client add home-router
meridian client show home-router
client show 打印连接页面和订阅 URL。打开连接页面:每个路径(Reality、XHTTP、WSS 和每个中继)都有一个复制链接按钮,可复制 vless:// 链接。
粘贴哪一个:
- 优先使用 Reality。 它是主路径,也是下面每个路由器客户端都能运行的。
- XHTTP 需要一个基于 Xray 的客户端,并且该客户端的版本要最新且接近服务器的 Xray 版本。库存 sing-box 以及 podkop 没有 XHTTP 传输;XKeen 运行 Xray 并可以使用它。
- 中继条目也是 Reality 链接。如果您的路由器在俄罗斯,出口的 IP 被阻止了,粘贴中继的链接。
- Hysteria2 是 UDP,不通过中继。仅在您的路由器客户端支持它时才使用。
粘贴的链接是一个快照。订阅 URL 会自动更新,但 podkop 的常见问题说它没有内置订阅支持,所以当您稍后添加出口或中继时,粘贴新链接。
客户端版本
最近的 Xray 服务器默认拒绝 sing-box(podkop)和 Mihomo 客户端,因为这些客户端宣传的版本号较旧。Meridian 的出口明确接受所有支持 Reality 的客户端,所以这不会影响您。如果路由器仍然无法连接而您的笔记本上 meridian test 通过了,请更新其代理核心。在 Keenetic 上,xkeen -ux 更新 XKeen 的 Xray。
OpenWrt with podkop
podkop 仅路由您选择的域名和列表通过代理,其他所有内容直接发送。这适合俄罗斯用户:国内网站保持在正常连接上,无需额外规则。
要求(来自 podkop 文档):OpenWrt 24.10(25.12 通过 apk 也可用),以及约 20 MB 的可用闪存。如果 sing-box 尚未安装,podkop 需要 /overlay 中有 40 MB 可用空间。当空间不足时,podkop 常见问题建议 sing-box-tiny。
从路由器的 SSH shell 安装:
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)
如果无法从路由器访问 GitHub,podkop 在其安装页面上记录了镜像引导。
在 LuCI 中的 Podkop 页面进行配置:
- 在
Main部分,设置连接类型 (Connection Type) 为Proxy。 - 设置配置类型 (Configuration Type) 为
Connection URL并粘贴 Realityvless://链接。 - 选择您想通过 Meridian 发送的社区列表,或添加您自己的域名。
- 保存并应用 (Save & Apply),然后打开诊断选项卡。从 LAN 运行,而不是通过远程端口转发。
要在直接 Reality 链接和中继链接之间进行故障转移,请选择 URLTest 并添加两个链接。sing-box 然后探测它们并使用一个有效的。
Keenetic with XKeen
XKeen 通过 Entware 在 Keenetic 路由器上安装和管理 Xray。积极维护的分支也支持 Mihomo。
要求: 格式化为 EXT4 的 USB 驱动器(带 Entware)和启用路由器的 Netfilter 内核模块组件。XKeen 指南建议在驱动器上使用交换分区并在路由器的系统设置中关闭 RAM 压缩。
以 root 身份从 Entware SSH shell 安装:
opkg update && opkg upgrade && opkg install curl tar && cd /tmp
sh -c "$(curl -sSL https://raw.githubusercontent.com/jameszeroX/XKeen/main/install.sh)"
在 /opt/etc/xray/configs/ 中配置 Xray 文件。 将 Reality 链接的值放入 04_outbounds.json:
{
"outbounds": [
{
"tag": "vless-reality",
"protocol": "vless",
"settings": {
"vnext": [{
"address": "198.51.100.10",
"port": 443,
"users": [{ "id": "UUID", "flow": "xtls-rprx-vision", "encryption": "none" }]
}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"fingerprint": "chrome",
"serverName": "www.google.com",
"publicKey": "PBK",
"shortId": "SID"
}
}
}
]
}
链接包含每个值:@ 之前的部分是 UUID,然后是地址和端口。在查询中,pbk 是 publicKey,sid 是 shortId,sni 是 serverName,fp 是 fingerprint。当链接包含时,保持 flow 为 xtls-rprx-vision。
在 05_routing.json 中设置路由。XKeen 指南描述了两种方式:仅发送选定的域名和 IP 列表通过代理,或发送 .ru、.su 和 .рф 直接,其他所有内容通过。然后检查并开始:
xkeen -xtest
xkeen -start
国内网站保持直连
默认情况下,出口拒绝到俄罗斯域名和 IP 范围的流量(--geo-block)。通过隧道发送所有内容的路由器会破坏俄罗斯网站。改为从路由器直接发送;podkop 默认这样做,使用 XKeen 可选择上面的第二种路由模式。分割路由 解释了各层。
注意事项
- 闪存、RAM 和 CPU。 podkop 需要空间在闪存中存放 sing-box,而已经满的路由器会安装失败。CPU 较弱会将吞吐量限制在远低于您的线速,所以在依赖它之前要通过路由器进行测试。
- 错误的时钟。 许多路由器启动时时间不对,直到 NTP 响应。TLS 证书检查然后对订阅页面、XHTTP、WSS 和包下载失败。当其安装程序因证书错误失败时,podkop 常见问题建议您先检查路由器的日期。
- DNS 泄漏。 podkop 按域名路由,所以设备必须使用路由器作为 DNS 服务器,浏览器不得使用其自己的安全 DNS 绕过它。设备在另一个 DNS 服务器上会解析为真实地址并跳过隧道。根据 podkop 文档,这是”在一台设备上工作,在另一台上不工作”最常见的原因。
- 设备上的 VPN 应用。 运行自己的 VPN 应用的手机会跳过路由器的路由。
- 禁用的客户端。
meridian client disable home-router会切断路由器的连接,直到你运行meridian client enable home-router。
验证
从路由器后面的设备打开一个 IP 检查页面:它应该显示您出口的地址。从您自己的机器上,meridian test 检查端到端传递的订阅,meridian check 确认服务器端。如果它们不一致,请参阅故障排查。