♻️ refactor: 优化 iriscloud 重命名脚本逻辑
* 移除对 SoftBank, iCable, DataCamp, DMIT 等供应商特征的识别 * 修改重命名逻辑以压掉供应商和入口线路特征文案 * 简化 multiplierOf 函数,统一通过正则表达式提取倍率 * 更新 README 文档中的脚本描述及输出示例以匹配最新逻辑 * 保持节点旗帜、地区前缀和序号的重组逻辑不变
This commit is contained in:
+6
-6
@@ -30,7 +30,7 @@ https://git.orionc.me/orion/script/raw/branch/main/substore/common.js?v=20260608
|
|||||||
| `yuetong-rename.js` | YueTong 单订阅 | 去掉 `悦·`、`💎`,把 `AI解锁` 压成 `AI` |
|
| `yuetong-rename.js` | YueTong 单订阅 | 去掉 `悦·`、`💎`,把 `AI解锁` 压成 `AI` |
|
||||||
| `peiqian-rename.js` | PeiQian 单订阅 | 压短 `电信联通推荐`、`移动联通推荐`、`高速专线`、`hy2`、倍率和用途描述 |
|
| `peiqian-rename.js` | PeiQian 单订阅 | 压短 `电信联通推荐`、`移动联通推荐`、`高速专线`、`hy2`、倍率和用途描述 |
|
||||||
| `alphaair-rename.js` | Alpha Air 单订阅 | 去掉提供者/三网/家宽文案,普通节点保留地区,高级非倍率节点保留供应商,倍率节点保留倍率并连续编号 |
|
| `alphaair-rename.js` | Alpha Air 单订阅 | 去掉提供者/三网/家宽文案,普通节点保留地区,高级非倍率节点保留供应商,倍率节点保留倍率并连续编号 |
|
||||||
| `iriscloud-rename.js` | Iris Cloud 单订阅 | 按 `SG`、`TYO`/`JP`、其余香港的专属规则重判落地地区,去掉 `SZ`、`HZ`、`[Edge]` 入口标签并保留倍率 |
|
| `iriscloud-rename.js` | Iris Cloud 单订阅 | 按 `SG`、`TYO`/`JP`、其余香港的专属规则重判落地地区,去掉入口线路和供应商文案并保留倍率 |
|
||||||
| `liangxin-rename.js` | LiangXin 单订阅 | 去掉 `高速`、`BGP`、`CMCU`、`CM`、`CU`、`CT` 等线路描述 |
|
| `liangxin-rename.js` | LiangXin 单订阅 | 去掉 `高速`、`BGP`、`CMCU`、`CM`、`CU`、`CT` 等线路描述 |
|
||||||
| `rename.js` | 整合订阅 | 统一国家/城市短码,移动国旗到首部,追加 `- _subName`,处理重名编号 |
|
| `rename.js` | 整合订阅 | 统一国家/城市短码,移动国旗到首部,追加 `- _subName`,处理重名编号 |
|
||||||
| `common.js` | 公共依赖 | 被各处理脚本远程加载,不需要单独配置为处理器 |
|
| `common.js` | 公共依赖 | 被各处理脚本远程加载,不需要单独配置为处理器 |
|
||||||
@@ -123,7 +123,7 @@ 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` 这类倍率:
|
||||||
|
|
||||||
- 名称包含 `SG`:新加坡节点。
|
- 名称包含 `SG`:新加坡节点。
|
||||||
- 名称包含 `TYO` 或 `JP`:日本节点。
|
- 名称包含 `TYO` 或 `JP`:日本节点。
|
||||||
@@ -131,16 +131,16 @@ https://git.orionc.me/orion/script/raw/branch/main/substore/common.js?v=20260608
|
|||||||
|
|
||||||
```text
|
```text
|
||||||
🇭🇰 SZ 03 HK-DataCamp-SG - Iris Cloud
|
🇭🇰 SZ 03 HK-DataCamp-SG - Iris Cloud
|
||||||
=> 🇸🇬 SG 01 DataCamp
|
=> 🇸🇬 SG 01
|
||||||
|
|
||||||
🇭🇰 HZ 01 HK-DMIT-TYO - Iris Cloud
|
🇭🇰 HZ 01 HK-DMIT-TYO - Iris Cloud
|
||||||
=> 🇯🇵 JP TYO 01 DMIT
|
=> 🇯🇵 JP TYO 01
|
||||||
|
|
||||||
🏴☠️ [Edge] iCable - Iris Cloud
|
🏴☠️ [Edge] iCable - Iris Cloud
|
||||||
=> 🇭🇰 HK 01 iCable
|
=> 🇭🇰 HK 01
|
||||||
|
|
||||||
🇭🇰 HK DMIT | 2.69x | HZBGP Aliyun
|
🇭🇰 HK DMIT | 2.69x | HZBGP Aliyun
|
||||||
=> 🇭🇰 HK 01 DMIT 2.69X
|
=> 🇭🇰 HK 01 2.69X
|
||||||
```
|
```
|
||||||
|
|
||||||
## LiangXin 规则
|
## LiangXin 规则
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Iris Cloud 专用节点清理脚本
|
* Iris Cloud 专用节点清理脚本
|
||||||
* - Iris Cloud 名称里 HK 是入口/线路名的一部分,落地以尾部 SG、TYO、HKG 等标识为准
|
* - Iris Cloud 名称里 HK 是入口/线路名的一部分,落地以尾部 SG、TYO、HKG 等标识为准
|
||||||
* - 包含 SG 的节点归新加坡,包含 TYO/JP 的节点归日本,其余默认香港
|
* - 包含 SG 的节点归新加坡,包含 TYO/JP 的节点归日本,其余默认香港
|
||||||
* - 去掉 SZ/HZ/[Edge] 入口标签,保留 DMIT、DataCamp、iCable、SoftBank、SG.GS 等供应商特征和倍率
|
* - 去掉 SZ/HZ/[Edge] 入口标签,保留倍率,压掉供应商和入口线路特征
|
||||||
*/
|
*/
|
||||||
// noinspection JSUnusedGlobalSymbols
|
// noinspection JSUnusedGlobalSymbols
|
||||||
const COMMON_SCRIPT_VERSION = '20260608-1';
|
const COMMON_SCRIPT_VERSION = '20260608-1';
|
||||||
@@ -42,16 +42,6 @@ async function operator(proxies) {
|
|||||||
return 'HK';
|
return 'HK';
|
||||||
};
|
};
|
||||||
|
|
||||||
const providerOf = name => {
|
|
||||||
if (/SoftBank\s+Home/i.test(name)) return 'SoftBank Home';
|
|
||||||
if (/iCable\s+Home/i.test(name)) return 'iCable Home';
|
|
||||||
if (/DataCamp/i.test(name)) return 'DataCamp';
|
|
||||||
if (/iCable/i.test(name)) return 'iCable';
|
|
||||||
if (/SG\.GS/i.test(name)) return 'SG.GS';
|
|
||||||
if (/DMIT/i.test(name)) return 'DMIT';
|
|
||||||
return '';
|
|
||||||
};
|
|
||||||
|
|
||||||
const multiplierOf = name => {
|
const multiplierOf = name => {
|
||||||
const match = name.match(/\b(\d+(?:\.\d+)?)(?:\s*[xX]|倍)\b/i);
|
const match = name.match(/\b(\d+(?:\.\d+)?)(?:\s*[xX]|倍)\b/i);
|
||||||
return match ? `${match[1]}X` : '';
|
return match ? `${match[1]}X` : '';
|
||||||
@@ -71,8 +61,7 @@ async function operator(proxies) {
|
|||||||
return {
|
return {
|
||||||
proxy,
|
proxy,
|
||||||
originalIndex,
|
originalIndex,
|
||||||
regionPrefix: '',
|
regionPrefix: ''
|
||||||
provider: ''
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +74,6 @@ async function operator(proxies) {
|
|||||||
originalIndex,
|
originalIndex,
|
||||||
regionPrefix,
|
regionPrefix,
|
||||||
regionCode,
|
regionCode,
|
||||||
provider: providerOf(coreName),
|
|
||||||
multiplier: multiplierOf(coreName),
|
multiplier: multiplierOf(coreName),
|
||||||
flag: utils.regionCodeToFlag(regionCode)
|
flag: utils.regionCodeToFlag(regionCode)
|
||||||
};
|
};
|
||||||
@@ -118,7 +106,6 @@ async function operator(proxies) {
|
|||||||
item.flag,
|
item.flag,
|
||||||
item.regionPrefix,
|
item.regionPrefix,
|
||||||
String(regionCount[item.regionPrefix]).padStart(2, '0'),
|
String(regionCount[item.regionPrefix]).padStart(2, '0'),
|
||||||
item.provider,
|
|
||||||
item.multiplier
|
item.multiplier
|
||||||
].filter(Boolean).join(' ').trim();
|
].filter(Boolean).join(' ').trim();
|
||||||
return item.proxy;
|
return item.proxy;
|
||||||
|
|||||||
Reference in New Issue
Block a user