Appearance
本次 Clash 配置需求整理
你的目标
你在使用 Clash Verge Rev,并且有多个订阅。
你希望做到的是:
- 不去每个订阅里分别手动写规则。
- 用一个“全局”的方式,对所有订阅统一生效。
- 既保留订阅原本的内容,又把你自己的节点、代理组、规则追加进去。
- 让你自己的规则排在前面,优先生效。
为什么不用“编辑规则”
编辑规则 适合单个订阅做精细化调整。
但如果你有多个订阅,那么每个订阅都要点进去配一遍,维护起来很麻烦。
所以这次选择的是:
- 用
全局扩展脚本
它的好处是:
- 对所有订阅统一生效
- 更新订阅后仍然保留
- 可以做到“保留原配置 + 插入个人配置”
- 比单纯的 YAML 覆写更灵活
这次追加了什么
1. 追加一个节点
需求原文:
text
socks5://127.0.0.1:1080#公司内网脚本里会把它转换成 Clash 能识别的节点对象:
- 名称:
公司内网 - 类型:
socks5 - 地址:
127.0.0.1 - 端口:
1080
这个节点通常表示:
- 本机
127.0.0.1 - 本地已经有一个 SOCKS5 代理在
1080端口监听
2. 追加一个代理组
需求原文:
text
company
- 公司内网
- DIRECT脚本里会新增一个叫 company 的 select 代理组。
它的意思是:
- 访问命中
company规则的流量 - 交给
company这个代理组处理 - 而这个组里有两个可选项:
公司内网DIRECT
所以你可以在 Clash 界面里手动切换:
- 走公司内网
- 或者直接直连
3. 追加一组前置规则
你给出的规则是:
yaml
prepend:
- DOMAIN-SUFFIX,company.com,company
- DOMAIN-SUFFIX,company.cn,company
- DOMAIN-SUFFIX,company-internal.com,company
- IP-CIDR,10.x.x.x/32,company,no-resolve
- IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,company,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- DST-PORT,39000,company
- DOMAIN,ssh.jumpserver.example.com,company脚本会把这些规则插到原订阅规则前面。
这样做的结果是:
- 先匹配你的个人规则
- 没匹配到时,再继续走订阅原来的规则
这就是“前置规则”的意思。
“保留原来的,又合并个人配置”到底是什么意思
这次脚本不是替换整份订阅,而是:
- 先拿到订阅原本的配置
- 再往里面加你的节点
- 再往里面加你的代理组
- 再把你的规则插到最前面
- 最后把修改后的完整配置交给 Clash Verge Rev 使用
所以:
- 订阅原本的节点还在
- 订阅原本的代理组还在
- 订阅原本的规则还在
只是额外多了你自己的内容。
脚本里额外做的保护
为了避免每次更新订阅都重复追加同样的内容,脚本做了几层处理:
1. 节点去重
如果已经存在一个名字叫 公司内网 的节点,就不再重复新增。
2. 代理组去重
如果已经存在一个叫 company 的代理组:
- 不会再创建第二个同名组
- 而是尽量把
公司内网和DIRECT合并到这个已有组里
3. 规则去重
如果规则已经存在,就不会重复塞进去。
规则里的几个关键点
company
这不是节点名,而是“代理组名”。
规则里写:
text
DOMAIN-SUFFIX,company.com,company意思是:
- 如果访问目标域名匹配
company.com - 那么就把流量交给
company这个代理组处理
DIRECT
意思是直连,不经过代理。
no-resolve
用于部分 IP-CIDR 规则,表示不再额外做 DNS 解析。
一般用于:
- 已经明确是 IP 段
- 不希望多做一次域名解析
当前规则中一个值得你确认的地方
你给的规则里,内网 IP 的走向并不完全一致:
text
10.0.0.0/8 -> company
172.16.0.0/12 -> DIRECT
192.168.0.0/16 -> DIRECT
100.64.0.0/10 -> DIRECT这意味着:
10.x.x.x的流量会进company代理组- 但
172.16.x.x、192.168.x.x、100.64.x.x会直接直连
这不是错误,只是策略选择。
如果你的目标是“所有公司内网地址都统一走公司内网代理”,那后面可以再改。
使用步骤
- 打开 Clash Verge Rev
- 找到
全局扩展脚本 - 把
global-extend-script-company.js的全部内容粘进去 - 保存
- 更新订阅,或者重新应用配置
- 检查是否出现:
- 节点
公司内网 - 代理组
company - 对应规则生效
- 节点
后续可以继续优化的方向
如果你后面还想继续增强,这个脚本还可以继续做这些事:
- 只对指定订阅名生效
- 自动把
company塞进某些总代理组 - 按网络环境自动切换策略
- 把规则拆成“公司内网规则”和“通用规则”
- 把组名、节点名、IP 段提到配置区,方便以后改