From 562e2ffeb8ce2fc823f12825762ab67e84ad47df Mon Sep 17 00:00:00 2001 From: Orion Date: Mon, 15 Jun 2026 00:34:10 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(core):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20Iris=20Cloud=20=E8=8A=82=E7=82=B9=E9=87=8D?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 细化香港节点识别规则,支持识别包含 iCable 关键字的节点 * 调整兜底逻辑,无法识别落地地区的节点不再强制归类为香港 * 优化处理流程,未识别节点将原样放行且不参与全局排序与编号 * 同步更新文档中关于节点地区判定和原样放行机制的说明 --- substore/README.md | 4 ++-- substore/iriscloud-rename.js | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/substore/README.md b/substore/README.md index 06e2f67..4eef3c9 100644 --- a/substore/README.md +++ b/substore/README.md @@ -123,11 +123,11 @@ https://git.orionc.me/orion/script/raw/branch/main/substore/common.js?v=20260608 ## Iris Cloud 规则 -`iriscloud-rename.js` 建议挂在 Iris Cloud 单条订阅里使用。Iris Cloud 的节点名里 `HK` 可能只是入口或线路名,脚本会按落地关键词重新判断地区,压掉供应商/入口线路文案,并保留 `0.5x`、`2.69x` 这类倍率: +`iriscloud-rename.js` 建议挂在 Iris Cloud 单条订阅里使用。Iris Cloud 的节点名里 `HK` 可能只是入口或线路名,脚本会按落地关键词重新判断地区,压掉供应商/入口线路文案,并保留 `0.5x`、`2.69x` 这类倍率;无法识别为 Iris Cloud 节点的名称会原样放行,不参与排序和编号。 - 名称包含 `SG`:新加坡节点。 - 名称包含 `TYO` 或 `JP`:日本节点。 -- 其余节点:香港节点。 +- 明确包含 `HK` 或 `iCable`:香港节点。 ```text 🇭🇰 SZ 03 HK-DataCamp-SG - Iris Cloud diff --git a/substore/iriscloud-rename.js b/substore/iriscloud-rename.js index 5b3d2ee..7786d57 100644 --- a/substore/iriscloud-rename.js +++ b/substore/iriscloud-rename.js @@ -1,7 +1,8 @@ /** * Iris Cloud 专用节点清理脚本 * - Iris Cloud 名称里 HK 是入口/线路名的一部分,落地以尾部 SG、TYO、HKG 等标识为准 - * - 包含 SG 的节点归新加坡,包含 TYO/JP 的节点归日本,其余默认香港 + * - 包含 SG 的节点归新加坡,包含 TYO/JP 的节点归日本,明确 HK/iCable 的节点归香港 + * - 无法识别为 Iris Cloud 节点的名称原样放行,不参与排序和编号 * - 去掉 SZ/HZ/[Edge] 入口标签,保留倍率,压掉供应商和入口线路特征 */ // noinspection JSUnusedGlobalSymbols @@ -39,7 +40,8 @@ async function operator(proxies) { if (/(?:^|[-\s])TYO(?:$|[-\s])/i.test(name)) return 'JP TYO'; if (/(?:^|[-\s])JP(?:$|[-\s])/i.test(name)) return 'JP'; if (/(?:^|[-\s])HK(?:$|[-\s])/i.test(name)) return 'HK'; - return 'HK'; + if (/iCable/i.test(name)) return 'HK'; + return ''; }; const multiplierOf = name => { @@ -67,6 +69,14 @@ async function operator(proxies) { const coreName = cleanCoreName(proxy.name); const regionPrefix = landingPrefixOf(coreName); + if (!regionPrefix) { + return { + proxy, + originalIndex, + regionPrefix: '' + }; + } + const regionCode = regionPrefix.split(/\s+/)[0]; return {