♻️ refactor(core): 优化 Iris Cloud 节点重命名逻辑
* 细化香港节点识别规则,支持识别包含 iCable 关键字的节点 * 调整兜底逻辑,无法识别落地地区的节点不再强制归类为香港 * 优化处理流程,未识别节点将原样放行且不参与全局排序与编号 * 同步更新文档中关于节点地区判定和原样放行机制的说明
This commit is contained in:
+2
-2
@@ -123,11 +123,11 @@ https://git.orionc.me/orion/script/raw/branch/main/substore/common.js?v=20260608
|
|||||||
|
|
||||||
## Iris Cloud 规则
|
## 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`:新加坡节点。
|
- 名称包含 `SG`:新加坡节点。
|
||||||
- 名称包含 `TYO` 或 `JP`:日本节点。
|
- 名称包含 `TYO` 或 `JP`:日本节点。
|
||||||
- 其余节点:香港节点。
|
- 明确包含 `HK` 或 `iCable`:香港节点。
|
||||||
|
|
||||||
```text
|
```text
|
||||||
🇭🇰 SZ 03 HK-DataCamp-SG - Iris Cloud
|
🇭🇰 SZ 03 HK-DataCamp-SG - Iris Cloud
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* Iris Cloud 专用节点清理脚本
|
* Iris Cloud 专用节点清理脚本
|
||||||
* - Iris Cloud 名称里 HK 是入口/线路名的一部分,落地以尾部 SG、TYO、HKG 等标识为准
|
* - Iris Cloud 名称里 HK 是入口/线路名的一部分,落地以尾部 SG、TYO、HKG 等标识为准
|
||||||
* - 包含 SG 的节点归新加坡,包含 TYO/JP 的节点归日本,其余默认香港
|
* - 包含 SG 的节点归新加坡,包含 TYO/JP 的节点归日本,明确 HK/iCable 的节点归香港
|
||||||
|
* - 无法识别为 Iris Cloud 节点的名称原样放行,不参与排序和编号
|
||||||
* - 去掉 SZ/HZ/[Edge] 入口标签,保留倍率,压掉供应商和入口线路特征
|
* - 去掉 SZ/HZ/[Edge] 入口标签,保留倍率,压掉供应商和入口线路特征
|
||||||
*/
|
*/
|
||||||
// noinspection JSUnusedGlobalSymbols
|
// noinspection JSUnusedGlobalSymbols
|
||||||
@@ -39,7 +40,8 @@ async function operator(proxies) {
|
|||||||
if (/(?:^|[-\s])TYO(?:$|[-\s])/i.test(name)) return 'JP TYO';
|
if (/(?:^|[-\s])TYO(?:$|[-\s])/i.test(name)) return 'JP TYO';
|
||||||
if (/(?:^|[-\s])JP(?:$|[-\s])/i.test(name)) return 'JP';
|
if (/(?:^|[-\s])JP(?:$|[-\s])/i.test(name)) return 'JP';
|
||||||
if (/(?:^|[-\s])HK(?:$|[-\s])/i.test(name)) return 'HK';
|
if (/(?:^|[-\s])HK(?:$|[-\s])/i.test(name)) return 'HK';
|
||||||
return 'HK';
|
if (/iCable/i.test(name)) return 'HK';
|
||||||
|
return '';
|
||||||
};
|
};
|
||||||
|
|
||||||
const multiplierOf = name => {
|
const multiplierOf = name => {
|
||||||
@@ -67,6 +69,14 @@ async function operator(proxies) {
|
|||||||
|
|
||||||
const coreName = cleanCoreName(proxy.name);
|
const coreName = cleanCoreName(proxy.name);
|
||||||
const regionPrefix = landingPrefixOf(coreName);
|
const regionPrefix = landingPrefixOf(coreName);
|
||||||
|
if (!regionPrefix) {
|
||||||
|
return {
|
||||||
|
proxy,
|
||||||
|
originalIndex,
|
||||||
|
regionPrefix: ''
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
const regionCode = regionPrefix.split(/\s+/)[0];
|
const regionCode = regionPrefix.split(/\s+/)[0];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user