使用教程

Clash Verge 链式代理:入口、出口顺序与 dialer-proxy 配置

用现有节点建立两跳代理链,区分入口与最终出口,检查 dialer-proxy 和连接链路,逐段排查连接失败。

更新于 2026年10月30日

本页目录

链式代理把一条连接交给多个代理节点依次转发。例如本地先连接现有入口,再由入口连接自己的出口代理,最后由出口访问目标网站。它增加了一段网络路径,不能当成通用提速功能。

两跳代理连接顺序

准备两条已经可用的节点

可视化链式代理功能需要 Clash Verge Rev v2.4.5 或更新版本。开始前备份目标订阅的扩展脚本、自定义节点和规则,记录原来使用的策略组。

准备两个有权限使用的真实节点:入口必须能从本机连接;出口必须能从入口所在网络连接。只能在本机局域网访问的代理,不会因为放到第二跳就自动变得远程可达。

先分别验证节点的基本可用性,再组合。只测试某条节点的延迟不能代替后续整条代理链的验证。

通过界面配置节点顺序

  1. 打开「订阅」,右键目标订阅卡片,选择「编辑节点」。
  2. 需要补充自建代理时,添加真实节点 URI;不要把订阅下载链接当节点 URI。
  3. 在链式代理设置中按顺序点击节点名称,入口排在上面,最终出口排在下面。
  4. 首次只设置两跳,保存后重新应用订阅。
  5. 到「代理」页面检查可选节点与策略组,确认流量实际选择了需要使用的出口。

预期路径应为:本机 → 入口节点 → 出口节点 → 目标网站。两个节点名称都出现在界面上,并不等于请求已经走这条链;还要检查实际选中的出站及运行配置。

dialer-proxy 应写在哪一端

底层的 dialer-proxy 写在出口节点上,值指向入口节点或入口策略组。含义是“连接这个出口时,使用指定入口拨号”。若把方向写反,最终出口会改变,甚至形成循环。

下面提供一段可放入目标订阅「扩展脚本」的完整逻辑,只修改现有节点,不生成任何服务器信息。先把开头两个名称替换为运行配置 proxies 中真实存在且不重复的节点名称。

function main(config) {
  const entryName = "替换为现有入口节点名称";
  const exitName = "替换为现有出口节点名称";
  const nodes = Array.isArray(config.proxies)
    ? config.proxies
    : [];

  const entry = nodes.find(function (node) {
    return node.name === entryName;
  });
  const exit = nodes.find(function (node) {
    return node.name === exitName;
  });

  if (!entry || !exit || entryName === exitName) {
    throw new Error("请填写两个不同的现有节点名称");
  }
  if (entry["dialer-proxy"]) {
    throw new Error("入口已设置链路,请先检查已有代理链");
  }

  exit["dialer-proxy"] = entryName;
  return config;
}

该示例适用于节点直接列在 proxies 中的订阅;如果节点来自 proxy-providers,不能靠查找 config.proxies 修改它,应使用代理集合的对应配置方式。已有复杂脚本时,需要把逻辑合入原来的 main,不能再追加一个同名入口函数。

保存后选择真实出口节点,才会使用它的 dialer-proxy。选中入口节点本身仍是单跳访问。不要再套用旧教程中的 type: relay,当前链式配置使用拨号代理方式。

怎样确认确实经过两跳

打开「查看运行时订阅」,找到出口节点,核对它的 dialer-proxy 正好等于入口名称,并确认入口没有反过来指向出口。

然后新建一条访问连接,在「连接」页面查看「链路」。如果访问的是你自己控制的测试服务,可在服务端核对收到连接的出口地址,应是最终出口,而不是入口。单看延迟数值无法证明链路顺序。

验证时先用普通 TCP 网页请求。UDP、QUIC 或其他特殊协议是否可用,需要每段链路及所用节点都支持相应传输;TCP 成功不代表所有流量都成功。

连接失败、慢与撤回

**全部失败:**先移除链路,确认入口本身能用;再检查出口地址是否能从入口访问,以及出口认证是否有效。

**保存时报名称找不到:**检查名称、前缀和重名情况。订阅更新可能删除或更名节点,要重新核对。

**能连但速度慢:**分别对比单跳入口与整条链,不要只换测速地址。额外路程、出口带宽或任一跳丢包都可能限制整体速度。

撤回时恢复备份的节点设置或扩展脚本,删除本次添加的 dialer-proxy,重新应用订阅,再选回原策略组。需要保留错误细节时按日志导出教程 操作;脚本编辑方法见扩展脚本 。