在路由器上使用 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 页面进行配置:

  1. 在 Main 部分,设置连接类型 (Connection Type) 为 Proxy。
  2. 设置配置类型 (Configuration Type) 为 Connection URL 并粘贴 Reality vless:// 链接。
  3. 选择您想通过 Meridian 发送的社区列表,或添加您自己的域名。
  4. 保存并应用 (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 确认服务器端。如果它们不一致,请参阅故障排查。

On this page