针对 校园网 / 文献下载 / AI 分流 / Steam & 游戏加速器 / CF风控绕过 共存场景的 Clash Verge Rev 覆盖脚本。
A Clash Verge Rev override script for CN campus network, academic databases, AI routing, game accelerator coexistence & Cloudflare challenge bypass.
VPS-Builder - 🚀 一键部署 VPS 的 Windows 命令行工具 | A Windows CLI tool to bootstrap VPS
- 🆕 v2.0 更新说明
⚠️ 使用前必读- ✨ 功能特性
- 🚀 快速开始
- 🔧 使用环境
- 🏗️ 架构概览
- 📘 功能模块详解
- 📑 规则优先级顺序
- 🛠️ 自建节点配置
- 🔁 切换到其他协议(SS / VMess / VLESS / Trojan 等)
- 🚫 不想自建节点?直接使用订阅节点
- 🔧 维护指南
- ❓ 常见问题排查
- 📎 快速检查清单
- 🤝 贡献
- 📄 License
⚠️ 免责声明
发布于 2026-05-11
| 更新项 | 说明 |
|---|---|
| 🔒 CF 风控域名分流 | 新增 Cloudflare Turnstile / Google reCAPTCHA 等验证码域名的独立分流规则,走 VPS 出口避免国别检测冲突,置顶规则压过订阅内误匹配 |
| 📚 文献数据库翻倍扩展 | 新增 PNAS、皇家学会、冷泉港、Karger、Hindawi、De Gruyter、Emerald、Cell Press、JAMA Network、Rockefeller 等 20+ 学术出版平台 |
| ⚡ 规则优先级重组 | CF 风控域名升至最高优先级(优于局域网),确保不被订阅规则覆盖 |
| 🧹 代码结构化优化 | 分模块 12 步编号,注释更清晰,方便按模块查找和维护 |
1. CF 风控 & 验证码域名分流(新增)
问题:订阅规则常将 challenges.cloudflare.com 误分配到 🐟 Copilot 等规则,导致 CF Turnstile 验证码加载异常,部分海外网站无限循环人机验证。
方案:新增 cfChallengeDomains 数组(7 个域名),覆盖 Cloudflare Turnstile、CF Telemetry、Google reCAPTCHA 及 gstatic.com 依赖资源,统一走 🤖 AI专属分流(VPS 出口),规则置顶优先于订阅所有规则。
const cfChallengeDomains = [
"challenges.cloudflare.com", // Cloudflare Turnstile
"nel.cloudflare.com", // CF 遥测(参与风控指纹)
"cloudflareinsights.com", // CF 遥测
"recaptcha.net", // Google reCAPTCHA
"www.recaptcha.net",
"gstatic.com", // reCAPTCHA 依赖资源
"www.gstatic.com"
];2. 文献数据库扩展(v1 → v2)
新增 20+ 顶级学会及中型出版平台域名:
PNAS (pnas.org) · 皇家学会 (royalsocietypublishing.org)
生理学会 (physiology.org) · 微生物学会 (asm.org)
综述期刊 (annualreviews.org) · 数学学会 (ams.org)
经济学会 (aeaweb.org) · Karger · Hindawi
De Gruyter · Emerald · 冷泉港 (cshlp.org / cshlpress.com)
洛克菲勒出版社 (rupress.org)
v1 文献域名 ~70 个 → v2 文献域名 ~95 个,覆盖从预印本(arxiv / biorxiv)到顶级期刊(Nature / Science / Cell / NEJM / Lancet / JAMA / PNAS)的完整学术链路。
3. 规则优先级重组
v1: 局域网 → 教育 → 文献 → Steam → 进程 → 国产AI → 海外AI
v2: CF验证 ⚡ → 局域网 → 教育 → 文献 → Steam → 进程 → 国产AI → 海外AI
CF 风控规则升至最顶层,避免被订阅内 DOMAIN-SUFFIX,challenges.cloudflare.com,🐟 Copilot 等规则覆盖。
本脚本中的自建节点信息已脱敏:
server: "YOUR_SERVER_IP_HERE",
password: "YOUR_PASSWORD_HERE",在使用前,你需要任选一种方案:
- 方案 A:替换为你自己的 Hysteria2 VPS 信息(默认模板)
- 方案 B:把节点注入改成 其他协议(SS / VMess / VLESS / Trojan 等,见下文模板)
- 方案 C:完全不自建,只用现用订阅里的节点(见下文"不想自建节点?"章节)
🔐 安全提示:真实服务器信息切勿提交到任何公开仓库!
| 场景 | 需求 | 解决方案 |
|---|---|---|
| 🔒 CF 风控绕过 | Turnstile / reCAPTCHA 国别检测 | VPS 出口统一分流,置顶规则 |
| 🎓 校园网 & 文献下载 | 需走校园 IP 出口才能识别授权 | 域名直连 + 系统 DNS |
| 🤖 海外 AI 服务 | ChatGPT / Claude / Gemini 等被封锁 | 走自建或订阅节点 |
| 🐉 国产 AI | DeepSeek / Kimi / 豆包 等 | 直连,避免绕路 |
| 🎮 Steam & 游戏加速器 | 避免与 TUN 冲突 | 进程排除 + 域名直连 |
| 🏠 内网设备 | 访问 NAS / 打印机 / 路由器 | 局域网 CIDR 直连 |
| 🔒 隐私保护 | 防 IPv6 泄漏、hosts 污染 | 强制关闭 IPv6 DNS |
点击仓库中的 override.js → 右上角 Raw → 全选复制(Ctrl+A、Ctrl+C)。
- 打开 Clash Verge Rev
- 进入 「订阅」 页面
- 右键 「全局扩展脚本 Script」 编辑文件
- 粘贴覆盖脚本内容
根据你的情况任选其一:
- ✅ 用 Hysteria2 VPS:替换脚本中的
YOUR_SERVER_IP_HERE和YOUR_PASSWORD_HERE - 🔁 用其他协议:参考下文 切换到其他协议
- 🚫 不自建:参考下文 不想自建节点
- 保存 「全局扩展脚本 Script」 即可自动启用
- 客户端:Clash Verge Rev
- 模式:规则模式 + TUN(虚拟网卡)
- 建议开启:开机自启
- 默认节点协议:Hysteria2(可替换为任意协议,见下文)
┌──────────────────────────────────────────────────┐
│ 全局覆盖脚本(main 函数)v2.0 │
├──────────────────────────────────────────────────┤
│ 1. 基础优化(store-selected / DNS) │
│ 2. TUN 排除进程(游戏加速器) │
│ 3. 注入自建节点(默认 Hysteria2) │
│ 4. 创建 AI 专属策略组 │
│ 5. 域名清单定义(海外AI / 国产AI / 教育 / 文献) │
│ 6. CF 风控域名分流(🆕) │
│ 7. Steam & 加速器直连(域名 + 进程名) │
│ 8. 局域网保护(CIDR 直连) │
│ 9. 规则优先级合并 → 订阅规则 │
│ 10. DNS 增强(fake-ip-filter + nameserver-policy) │
└──────────────────────────────────────────────────┘
config.profile["store-selected"] = true; // 记住节点选择
config.dns["use-system-hosts"] = false; // 防 hosts 污染
config.dns.ipv6 = false; // 禁用 IPv6 DNS,防泄漏让游戏加速器、Steam等自带虚拟网卡的软件完全绕开 Clash 的 TUN,避免双网卡冲突:
- Steam 全家桶:
Steam.exe、steamwebhelper.exe等 - 加速器:网易 UU、腾讯加速器、迅游、奇游、雷神、海豚
- 工具:Steam++ / Watt Toolkit
通过 unshift 把自建节点塞到节点列表最前面,方便快速选择。默认使用 Hysteria2,其他协议见下文。
名称:🤖 AI专属分流
类型:select(手动选择)
可选:AI-MyVPS / REJECT
💡 不含 DIRECT,避免因误选导致 AI 请求走本地泄漏身份;
REJECT提供紧急熔断。
为什么需要? 订阅规则常将 challenges.cloudflare.com 误分配到 🐟 Copilot 等不相关的规则,导致 CF Turnstile 验证码加载异常,部分海外网站出现无限循环人机验证。
解决方案: 将 Cloudflare Turnstile / Google reCAPTCHA 及其依赖资源从订阅规则中独立出来,统一走 VPS 出口,且规则置顶(高于局域网)确保不会被订阅规则覆盖。
| 域名 | 用途 |
|---|---|
challenges.cloudflare.com |
Cloudflare Turnstile 验证 |
nel.cloudflare.com / cloudflareinsights.com |
CF 遥测(参与风控指纹) |
recaptcha.net / www.recaptcha.net |
Google reCAPTCHA 服务 |
gstatic.com / www.gstatic.com |
reCAPTCHA 静态资源依赖 |
| 列表 | 走向 | 域名数 | 说明 |
|---|---|---|---|
cfChallengeDomains 🆕 |
🤖 AI专属分流 | 7 | CF Turnstile / reCAPTCHA 风控域名 |
aiDomainsOverseas |
🤖 AI专属分流 | ~40 | OpenAI / Claude / Gemini / Grok / Perplexity / HuggingFace 等 |
aiDomainsCN |
DIRECT | ~35 | DeepSeek / Kimi / 通义 / 文心 / 豆包 / 混元 等 |
eduDomains |
DIRECT + 系统 DNS | 5 | edu.cn / cernet 等教育网 |
literatureDomains |
DIRECT + 系统 DNS | ~95 | 知网、万方、WOS、Elsevier、Springer、IEEE、PubMed、PNAS、Cell、JAMA 等 |
steamDomains |
DIRECT | 9 | Steam 平台域名(含 DOMAIN-KEYWORD,steam) |
directProcesses |
DIRECT | 17 | 游戏加速器进程名 |
lanCIDRs / lanCIDRs6 |
DIRECT(no-resolve) | 6 / 3 | 内网 IPv4/IPv6 段 |
fake-ip-filter → 教育 / 文献 / Steam 域名跳过 fake-ip
nameserver-policy → 教育 / 文献域名强制使用「系统 DNS」
⚠️ 关键点:文献库通过 IP 识别校园授权,必须让校园网 DHCP 下发的 DNS 去解析,拿到校内解析结果,出口才能被识别为校内 IP。
脚本使用 concat 把自定义规则放在订阅规则最前面,压过订阅尾部的 MATCH 兜底规则:
① CF 风控 & 验证码 → 🤖 AI专属分流 🆕 置顶!压过订阅规则
② 局域网 IP-CIDR(no-resolve)
③ 教育网域名 DIRECT
④ 文献库域名 DIRECT
⑤ Steam 域名 DIRECT + DOMAIN-KEYWORD,steam
⑥ 进程名直连(Steam + 加速器)
⑦ 国产 AI DIRECT
⑧ 海外 AI → 🤖 AI专属分流
⑨ ────── 以下为订阅原规则 ──────
脚本默认使用 Hysteria2 协议模板:
config.proxies.unshift({
name: "AI-MyVPS",
type: "hysteria2",
server: "YOUR_SERVER_IP_HERE",
port: 8443,
password: "YOUR_PASSWORD_HERE",
sni: "bing.com",
"skip-cert-verify": true
});| 字段 | 占位符 / 默认值 | 说明 | 是否必填 |
|---|---|---|---|
name |
AI-MyVPS |
节点显示名,可自定义 | ✅ |
type |
hysteria2 |
协议类型,不可省略 | ✅ |
server |
YOUR_SERVER_IP_HERE |
VPS 的 IP 或域名 | ✅ |
port |
8443 |
端口号,按服务端配置填写 | ✅ |
password |
YOUR_PASSWORD_HERE |
认证密码 | ✅ |
sni |
bing.com |
TLS 伪装域名,可自定义 | |
skip-cert-verify |
true |
自签证书填 true,正式证书填 false |
- 打开
override.js,定位到config.proxies.unshift({ ... })代码块 - 把
YOUR_SERVER_IP_HERE替换为你的 VPS 公网 IP 或域名 - 把
YOUR_PASSWORD_HERE替换为 Hysteria2 认证密码 - 按需调整
port/sni/skip-cert-verify - 保存 → 订阅页「重新应用」
脚本默认模板仅适用于 Hysteria2。如果你的服务器使用其他协议,请完整替换 config.proxies.unshift({ ... }) 这段代码为下方对应模板。
💡 所有模板都保持
name: "AI-MyVPS",这样 AI 策略组无需修改即可识别。
config.proxies.unshift({
name: "AI-MyVPS",
type: "ss",
server: "YOUR_SERVER_IP",
port: 8388,
cipher: "aes-256-gcm",
password: "YOUR_PASSWORD",
udp: true
});config.proxies.unshift({
name: "AI-MyVPS",
type: "ssr",
server: "YOUR_SERVER_IP",
port: 8388,
cipher: "aes-256-cfb",
password: "YOUR_PASSWORD",
obfs: "plain",
protocol: "origin"
});config.proxies.unshift({
name: "AI-MyVPS",
type: "vmess",
server: "YOUR_SERVER_IP",
port: 443,
uuid: "YOUR_UUID_HERE",
alterId: 0,
cipher: "auto",
tls: true,
servername: "your.domain.com",
network: "ws",
"ws-opts": {
path: "/path",
headers: { Host: "your.domain.com" }
}
});config.proxies.unshift({
name: "AI-MyVPS",
type: "vless",
server: "YOUR_SERVER_IP",
port: 443,
uuid: "YOUR_UUID_HERE",
tls: true,
servername: "your.domain.com",
network: "ws",
"ws-opts": {
path: "/path",
headers: { Host: "your.domain.com" }
}
});config.proxies.unshift({
name: "AI-MyVPS",
type: "trojan",
server: "YOUR_SERVER_IP",
port: 443,
password: "YOUR_PASSWORD",
sni: "your.domain.com",
"skip-cert-verify": false
});config.proxies.unshift({
name: "AI-MyVPS",
type: "hysteria",
server: "YOUR_SERVER_IP",
port: 8443,
"auth-str": "YOUR_AUTH",
protocol: "udp",
up: "30 Mbps",
down: "200 Mbps",
sni: "bing.com",
"skip-cert-verify": true
});config.proxies.unshift({
name: "AI-MyVPS",
type: "tuic",
server: "YOUR_SERVER_IP",
port: 443,
uuid: "YOUR_UUID",
password: "YOUR_PASSWORD",
sni: "your.domain.com",
"skip-cert-verify": false,
"congestion-controller": "bbr"
});config.proxies.unshift({
name: "AI-MyVPS",
type: "wireguard",
server: "YOUR_SERVER_IP",
port: 51820,
"private-key": "YOUR_PRIVATE_KEY",
"public-key": "SERVER_PUBLIC_KEY",
ip: "10.0.0.2",
udp: true
});📚 协议字段完整参考:Mihomo Wiki - configuration
如果你没有 VPS,只想使用订阅里的节点,请按以下步骤修改:
在 override.js 中找到并整段删除:
config.proxies.unshift({
name: "AI-MyVPS",
type: "hysteria2",
server: "YOUR_SERVER_IP_HERE",
port: 8443,
password: "YOUR_PASSWORD_HERE",
sni: "bing.com",
"skip-cert-verify": true
});把 proxies: ["AI-MyVPS", "REJECT"] 改为你订阅中的节点名:
config["proxy-groups"].unshift({
name: "🤖 AI专属分流",
type: "select",
proxies: [
"你订阅里的节点名-1",
"你订阅里的节点名-2",
"你订阅里的节点名-3",
"REJECT"
]
});- Clash Verge Rev → 代理 页面
- 点击每个节点,节点名就是策略组需要填入的内容
- 完全复制(包括 emoji 和空格),大小写敏感
如果你订阅里已经有 🚀 节点选择 之类的分组,可以直接引用:
proxies: ["🚀 节点选择", "♻️ 自动选择", "REJECT"]这样切换订阅分组时,AI 分流会自动跟随。
在 aiDomainsOverseas 数组末尾添加域名即可:
const aiDomainsOverseas = [
// ...已有内容
"newai.com" // ← 新增
];在 literatureDomains 中添加:
"newdb.com", "newdb.cn"
⚠️ 添加后会自动进入fake-ip-filter和nameserver-policy,无需其他操作。
需要在两处同步添加进程名:
config.tun["exclude-process-name"](TUN 层排除)directProcesses(规则层直连)
在 🤖 AI专属分流 策略组中,手动选择其他订阅节点即可(store-selected 会记住选择)。
修改脚本中 unshift 部分的 server / port / password 字段。如需切换协议,参考上文 切换到其他协议。
原因:出口 IP 不是校园 IP。 排查:
- 确认校园网已连接(Wi-Fi / 宽带)
- 在 Clash 的 连接 页搜索文献域名,查看是否匹配到
DIRECT - 在 cmd 执行
nslookup www.cnki.net,确认返回的是校园网 DNS 解析结果
排查:
- 面板 → 代理 →
🤖 AI专属分流选择了节点(不是REJECT) - 测试节点延迟是否正常
- 检查
chatgpt.com规则是否匹配到该策略组
原因:challenges.cloudflare.com 被订阅规则误分配到国内出口,CF 检测到国别不一致导致拒绝。
排查:
- Clash 的 连接 页搜索
challenges.cloudflare,确认是否匹配到🤖 AI专属分流 - 确认
🤖 AI专属分流选择了海外节点(非 REJECT) - 若仍异常,检查订阅规则中是否有
DOMAIN,challenges.cloudflare.com覆盖了脚本规则(脚本已置顶,理论上不会)
排查:
- 确认
type字段与你的协议匹配(hysteria2≠hysteria≠vmess) - 检查必填字段是否齐全(不同协议字段不同)
- Clash 日志页查看具体错误信息
排查:
- 任务管理器查看 Steam 进程名是否与
directProcesses一致 - 确认 TUN 的
exclude-process-name已生效(重启 Clash) - 必要时在 GUI 内开启 TUN Bypass 增强
原因:TUN 劫持了局域网流量。
验证:脚本已内置 lanCIDRs 直连规则,若仍无法访问,请确认 Clash Verge 的 "绕过局域网" 开关已打开。
- 打开 Clash Verge → 设置 → 日志 查看报错信息
- 检查是否有语法错误(逗号、引号、括号)
- 点击订阅右上角 "重新应用" 按钮刷新覆盖脚本
- 开机自启已开启
- TUN 模式已开启
- "绕过局域网"已开启
- 订阅已更新到最新
- 覆盖脚本已启用
- 节点占位符已替换(或已切换到订阅节点方案)
- AI 策略组已选中节点
- 系统 DNS 为校园网自动获取(非手动 8.8.8.8)
欢迎 Issue / PR 补充:
- 新增文献数据库域名
- 新增 AI 服务域名
- 新增 CF 风控相关域名
- 新增游戏加速器进程名
- 其他协议模板 / 分流场景
本项目采用 MIT License 开源协议。
作者:Sehaie
- 本脚本仅供个人学习、研究、科研与合法场景使用
- 使用本脚本所产生的任何后果由使用者自行承担
- 请遵守所在地的法律法规及所在学校 / 机构的网络使用条款
- 切勿将本脚本用于任何违法活动