# Codex 注册扩展更新与 Clash Verge 非港轮询配置教程 本教程用于说明如何更新 `Codex 注册扩展`,以及如何在 `Clash Verge` 中配置 `🔁 非港轮询`。 ## 适用场景 - 已经安装本扩展,想更新到最新版本 - 想用更方便的方式长期同步扩展更新 - 需要在 `Clash Verge` 中启用 `🔁 非港轮询` ## 准备内容 - 已安装好的扩展文件夹 - 可以打开浏览器的 `扩展程序管理` 页面 - 如需使用 `git pull`,本地已安装 `git` - 如需使用 `GitHub Desktop`,本地已安装 `GitHub Desktop` - 已安装 `Clash Verge`,并已导入可用订阅 ## 操作步骤 ### 第一部分:更新扩展 1. 使用 `GitHub Desktop` 更新 先安装 `GitHub Desktop`。 把当前扩展仓库交给 `GitHub Desktop` 管理后,之后就可以随时更新。 `GitHub Desktop` 的具体使用方法本教程不展开,需要时可直接询问豆包。 2. 使用 `git pull` 更新(最方便,最推荐) 先在本地安装 `git`。 打开终端后执行 `cd 扩展文件夹路径` 进入当前扩展目录。 接着执行 `git pull` 拉取最新更新。 这是最方便、最推荐的更新方式。 3. 手动下载最新版本覆盖更新 点击左上角的版本号或 `更新` 按钮。 下载最新版本到本地后,直接覆盖现有扩展文件夹即可。 4. 更新完成后重新加载扩展 不论使用哪种更新方式,更新完成后都必须打开浏览器的 `扩展程序管理` 页面。 找到该扩展后,手动点击一次 `重新加载`。 这一步一定要做,否则浏览器可能仍在使用旧版本。 ### 第二部分:配置 `Clash Verge` 的 `🔁 非港轮询` #### 第一步:添加扩展脚本 1. 打开 `Clash Verge`,进入左侧的 `订阅`(`Profiles`)界面。 2. 在右上角或对应位置找到并双击打开 `全局扩展脚本`(`Merge/Script`)。 3. 将里面的内容全部清空,替换为下方格式化好的代码。 4. 点击保存,使用右上角保存按钮或按 `Ctrl+S`。 💻 格式化后的代码(如果遇到格式错误,则让豆包修复一下) ```javascript 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; } ``` #### 第二步:应用设置 1. 切换到左侧的 `代理`(`Proxies`)界面,也就是首页。 2. 在顶部的分类中,通常会看到 `节点选择`、`Proxy` 或 `当前节点` 之类的分组。 3. 在对应下拉框中选择 `🔁 非港轮询`。 4. 确认右上角的 `代理模式`(`Mode`)已经设置为 `规则模式`(`Rule`)。 5. 确认左侧 `设置` 中的 `系统代理`(`System Proxy`)已经开启。 ## 注意事项 - 不论使用哪种方式更新扩展,更新完成后都必须在浏览器的 `扩展程序管理` 页面重新加载一次该扩展。 - 如果你长期更新扩展,优先使用 `git pull`,这是最方便、最推荐的方式。 - 使用手动覆盖更新时,请直接覆盖当前扩展文件夹,避免同时保留多份不同版本的目录。 - 在 `Clash Verge` 中粘贴脚本时,请先清空旧内容,再完整粘贴新代码并保存。