Clash Verge Rev:用家宽节点做出口(三步配置备忘)

Clash Verge Rev:用家宽节点做出口(三步配置备忘)


运维备忘
clash clash-verge-rev yaml proxy network

这篇是我给自己留的可复现备忘录。

目标(先讲清楚): 实现“使用家宽节点做最终出口”。

方法(实现目标的路径):

  1. 用 YAML 新增家宽节点,并通过 dialer-proxy 指定其上游。
  2. 新建一个“出口选择代理组”,可在“家宽出口”和“非家宽”之间切换。
  3. 用扩展脚本把规则里的旧策略组改指向新出口组。

注意:以下示例均已去敏,含 *** 的地方请替换为你自己的真实值。

步骤 1:编辑节点(高级 YAML)新增家宽出口

在“编辑节点”页面点击“高级”,不要只用普通 UI 表单。 因为关键字段 dialer-proxy 需要在 YAML 里更精确地控制。

步骤1:编辑节点并进入高级 YAML

示例:

prepend:
  - type: 'socks5'
    name: 'Resi-***.***.***.***'
    server: '***.***.***.***'
    port: '***'
    username: '***'
    password: '***'
    dialer-proxy: '上游代理组A'
  - type: 'socks5'
    name: 'Resi-***.***.***.***'
    server: '***.***.***.***'
    port: '***'
    username: '***'
    password: '***'
    dialer-proxy: '上游代理组A'
append: []
delete: []

怎么填:

  • type:按供应商协议填(这里是 socks5
  • name:建议统一命名,便于排障(例如 Resi-US-A
  • server / port:供应商提供的入口地址与端口
  • username / password:供应商认证信息
  • dialer-proxy:填你已有可用的上游代理组名(必须和现有组名完全一致)

说明: dialer-proxy 的作用是“该节点先通过哪个上游去拨号”,不是最终业务规则选择组。

步骤 2:编辑代理组,增加出口选择组

这一步是核心控制层: 你要能在 UI 中选择“走哪个出口”,或者“先不走家宽”。

(这一步当前暂无单独截图,按下方 YAML 示例填写即可。)

示例:

prepend:
  - type: 'select'
    name: 'Residential-Exit'
    interval: 300
    timeout: 5000
    max-failed-times: 5
    lazy: true
    proxies:
      - '你的上游代理组'
      - 'Resi-出口A'
      - 'Resi-出口B'
append: []
delete: []

重点只改 proxies

  1. 第一项放“非家宽路径”(通常是你常用上游组,例如 上游代理组A
  2. 后面放家宽出口节点(步骤1里新增的节点名)

这样你在 Residential-Exit 里可以切换:

  • 不走家宽(走上游组)
  • 走家宽出口A
  • 走家宽出口B

步骤 3:扩展脚本改规则出口指向

目的: 把规则里原本指向旧策略组(如 上游代理组A)的部分,统一改成 Residential-Exit

步骤3:扩展脚本编辑器

可用脚本(修正版):

// Define main function (script entry)

const FROM_POLICY = "你的原策略组";      // 例如: 上游代理组A
const TO_POLICY = "Residential-Exit";   // 第2步新建的出口组

function main(config) {
  if (!config || !Array.isArray(config.rules)) return config;

  const re = new RegExp(`,${FROM_POLICY}(?=,|$)`, "g");

  config.rules = config.rules.map((r) => {
    if (typeof r !== "string") return r;
    return r.replace(re, `,${TO_POLICY}`);
  });

  return config;
}

填写规则:

  • FROM_POLICY:你当前规则里实际在用的旧策略组名
  • TO_POLICY:第2步创建的 Residential-Exit
  • 名称必须完全一致(大小写、空格、符号)

最终链路(确认自己没配反)

业务流量 -> 规则命中 -> Residential-Exit(你手动选择) -> (若选家宽节点)节点内部通过 dialer-proxy 上游拨号 -> 家宽出口

验证清单

  1. UI 里能看到 Residential-Exit 并能手动切换
  2. 切到不同出口时,IP 检测结果会变化
  3. 切回“上游代理组”时,确认是非家宽路径
  4. 若连不上,先查:组名拼写、节点名拼写、dialer-proxy 是否存在