6.9 KiB
本教程用于说明相关项目地址、扩展更新方式,以及 Clash Verge 的 🔁 非港轮询 配置方法。
适用场景
- 需要拉取并部署
cpa或sub2api项目 - 已经安装本扩展,想更新到最新版本
- 想用更方便的方式长期同步扩展更新
- 需要在
Clash Verge中启用🔁 非港轮询
准备内容
- 可以访问
GitHub - 已安装好的扩展文件夹
- 可以打开浏览器的
扩展程序管理页面 - 如需部署
cpa,部署环境必须可以访问OpenAI - 已安装
Clash Verge,并已导入可用订阅
操作步骤
第一部分:相关项目地址与部署说明
-
查看项目地址
cpa项目地址:https://github.com/router-for-me/CLIProxyAPI
sub2api项目地址:https://github.com/Wei-Shaw/sub2api -
拉取项目到本地
先将你需要的项目拉取到本地目录。
可以使用git clone,也可以直接下载项目压缩包后解压。 -
让 AI 直接协助部署
部署教程这里不单独展开。
将项目拉取下来后,直接让 AI 帮你部署即可。 -
确认
cpa的部署环境
如果你部署的是cpa,部署所在环境必须可以访问OpenAI。
否则可能会出现第十步显示认证成功,但实际上没有生成认证文件的情况。
第二部分:更新扩展
-
使用
GitHub Desktop更新
先安装GitHub Desktop。
把当前扩展仓库交给GitHub Desktop管理后,之后就可以随时更新。
GitHub Desktop的具体使用方法本教程不展开,需要时可直接询问豆包。 -
使用
git pull更新(最方便,最推荐)
先在本地安装git。
打开终端后执行cd 扩展文件夹路径进入当前扩展目录。
接着执行git pull拉取最新更新。
这是最方便、最推荐的更新方式。 -
手动下载最新版本覆盖更新
点击左上角的版本号或更新按钮。
下载最新版本到本地后,直接覆盖现有扩展文件夹即可。 -
更新完成后重新加载扩展
不论使用哪种更新方式,更新完成后都必须打开浏览器的扩展程序管理页面。
找到该扩展后,手动点击一次重新加载。
这一步一定要做,否则浏览器可能仍在使用旧版本。
第三部分:配置 Clash Verge 的 🔁 非港轮询
第一步:添加扩展脚本
- 打开
Clash Verge,进入左侧的订阅(Profiles)界面。 - 在右上角或对应位置找到并双击打开
全局扩展脚本(Merge/Script)。 - 将里面的内容全部清空,替换为下方脚本代码。
- 点击保存,使用右上角保存按钮或按
Ctrl+S。
💻 脚本代码(如果遇到格式错误,可让豆包帮你修复后再粘贴)
function uniqPrepend(arr, items) {
if (!Array.isArray(arr)) arr = [];
for (var i = items.length - 1; i >= 0; i--) {
var item = items[i];
var exists = false;
for (var j = 0; j < arr.length; j++) {
if (arr[j] === item) {
exists = true;
break;
}
}
if (!exists) arr.unshift(item);
}
return arr;
}
function upsertGroup(groups, group) {
for (var i = 0; i < groups.length; i++) {
if (groups[i] && groups[i].name === group.name) {
groups[i] = group;
return groups;
}
}
groups.unshift(group);
return groups;
}
function main(config, profileName) {
if (!config) return config;
if (!Array.isArray(config["proxy-groups"])) {
config["proxy-groups"] = [];
}
var groups = config["proxy-groups"];
var LB_NAME = "🔁 非港轮询";
var excludeRegex =
"(?i)(" +
"香港|hong[ -]?kong|\\bhk\\b|\\bhkg\\b|🇭🇰" +
"|剩余流量|套餐到期|下次重置剩余|重置剩余|到期时间|流量重置" +
"|traffic|expire|expiration|subscription|subscribe|reset|plan" +
")";
groups = upsertGroup(groups, {
name: LB_NAME,
type: "load-balance",
strategy: "round-robin",
"include-all-proxies": true,
"exclude-filter": excludeRegex,
url: "https://www.gstatic.com/generate_204",
interval: 300,
lazy: true,
"expected-status": 204
});
var injected = false;
var entryNameRegex = /节点选择|代理|Proxy|PROXY|默认|GLOBAL|全局|选择/i;
for (var i = 0; i < groups.length; i++) {
var g = groups[i];
if (!g || g.type !== "select") continue;
if (entryNameRegex.test(g.name || "")) {
if (!Array.isArray(g.proxies)) g.proxies = [];
g.proxies = uniqPrepend(g.proxies, [LB_NAME]);
injected = true;
}
}
if (!injected) {
for (var k = 0; k < groups.length; k++) {
var g2 = groups[k];
if (g2 && g2.type === "select") {
if (!Array.isArray(g2.proxies)) g2.proxies = [];
g2.proxies = uniqPrepend(g2.proxies, [LB_NAME]);
break;
}
}
}
config["proxy-groups"] = groups;
return config;
}
第二步:应用设置
- 切换到左侧的
代理(Proxies)界面,也就是首页。 - 在顶部的分类中,通常会看到
节点选择、Proxy或当前节点之类的分组。 - 在对应下拉框中选择
🔁 非港轮询。 - 确认右上角的
代理模式(Mode)已经设置为规则模式(Rule)。 - 确认左侧
设置中的系统代理(System Proxy)已经开启。
常见问题
为什么第十步显示认证成功,但没有认证文件?
这通常是因为 cpa 部署所在环境无法访问 OpenAI。请先确认部署环境可以正常访问 OpenAI,然后再重新执行相关认证步骤。
为什么更新完扩展后还是旧版本?
如果你只是替换了本地文件,但没有去浏览器的 扩展程序管理 页面点击 重新加载,浏览器不会立即启用新版本。请更新完成后手动重新加载一次该扩展。
git pull 提示不是 Git 仓库怎么办?
这通常说明你进入的不是正确目录,或者当前文件夹不是通过 git 管理的版本。此时可以改用 GitHub Desktop,或者直接使用手动下载覆盖的方式更新。
为什么没有看到 🔁 非港轮询?
请先确认脚本已经完整粘贴并保存,然后回到 代理 页面重新查看。若仍未出现,请继续确认当前订阅可用、代理模式 为 规则模式,并且 系统代理 已开启。
注意事项
- 不论使用哪种方式更新扩展,更新完成后都必须在浏览器的
扩展程序管理页面重新加载一次该扩展。 - 如需部署
cpa,请先确认部署环境可以访问OpenAI,否则可能出现第十步认证成功但没有认证文件的问题。 - 如果你长期更新扩展,优先使用
git pull,这是最方便、最推荐的方式。 - 使用手动覆盖更新时,请直接覆盖当前扩展文件夹,避免同时保留多份不同版本的目录。
- 在
Clash Verge中粘贴脚本时,请先清空旧内容,再完整粘贴新代码并保存。