refactor(core): ♻️ 移除订阅名依赖并优化节点重命名规则
优化 substore 脚本逻辑,移除 peiqian-rename.js 和 yuetong-rename.js 中对 _subName 的硬编码判断,使其更适合在单条订阅中复用。 同时在 rename.js 中新增流媒体文案清理规则,并同步更新 README.md 文档,说明各脚本在单订阅与整合订阅中的最佳实践建议。
This commit is contained in:
+6
-5
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
单订阅脚本先跑,整合订阅最后跑:
|
单订阅脚本先跑,整合订阅最后跑:
|
||||||
|
|
||||||
1. `sntp-rename.js`:只给 SNTP 节点注入线路标签。
|
1. `sntp-rename.js`:放在 SNTP 单订阅里,注入线路标签。
|
||||||
2. `yuetong-rename.js`:只清理 YueTong 的品牌前缀和装饰符号。
|
2. `yuetong-rename.js`:只清理 YueTong 的品牌前缀和装饰符号。
|
||||||
3. `peiqian-rename.js`:只清理 PeiQian 的推荐/用途描述。
|
3. `peiqian-rename.js`:只清理 PeiQian 的推荐/用途描述。
|
||||||
4. `rename.js`:整合订阅最终重命名,负责国家短码、国旗归位、订阅后缀和去重。
|
4. `rename.js`:整合订阅最终重命名,负责国家短码、国旗归位、订阅后缀和去重。
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
## SNTP 规则
|
## SNTP 规则
|
||||||
|
|
||||||
`sntp-rename.js` 只建议用于 SNTP。像 `BGP`、`D`、`CT` 这类关键词比较短,全局使用容易误伤其他订阅。
|
`sntp-rename.js` 建议挂在 SNTP 的单条订阅里使用。它不依赖 `_subName`,方便分享和复用;但像 `BGP`、`D`、`CT` 这类关键词比较短,不建议直接放到整合订阅里全局运行。
|
||||||
|
|
||||||
| 命中关键词 | 注入标签 |
|
| 命中关键词 | 注入标签 |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
## YueTong 规则
|
## YueTong 规则
|
||||||
|
|
||||||
`yuetong-rename.js` 只处理 `_subName === 'YueTong'`:
|
`yuetong-rename.js` 建议挂在 YueTong 单条订阅里使用,不依赖 `_subName`:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
🇯🇵 悦·日本专属2💎 - YueTong
|
🇯🇵 悦·日本专属2💎 - YueTong
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
## PeiQian 规则
|
## PeiQian 规则
|
||||||
|
|
||||||
`peiqian-rename.js` 只处理 `_subName === 'PeiQian'`:
|
`peiqian-rename.js` 建议挂在 PeiQian 单条订阅里使用,不依赖 `_subName`:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
🇯🇵 日本东京03-0.1倍 | 电信联通推荐 - PeiQian
|
🇯🇵 日本东京03-0.1倍 | 电信联通推荐 - PeiQian
|
||||||
@@ -115,6 +115,7 @@ Pro-🇭🇰 Sharon|守夜人 - Alpha 8K Snell
|
|||||||
|
|
||||||
## 注意事项
|
## 注意事项
|
||||||
|
|
||||||
- 专属脚本都带 `_subName` 判断,放错位置通常也不会处理其他订阅。
|
- `sntp-rename.js` 不带 `_subName` 判断,适合挂在 SNTP 单订阅里;如果放进整合订阅,可能会误伤其他带 `BGP`、`D`、`CT` 的节点。
|
||||||
|
- `yuetong-rename.js` 和 `peiqian-rename.js` 也不带 `_subName` 判断,适合挂在对应单订阅里;如果放进整合订阅,需要确认规则不会误伤其他订阅。
|
||||||
- `rename.js` 会剥离并重新追加 `- _subName`,重复运行不会叠加订阅后缀。
|
- `rename.js` 会剥离并重新追加 `- _subName`,重复运行不会叠加订阅后缀。
|
||||||
- 如果新增订阅里出现很短、很泛的关键词,例如 `D`、`CT`、`BGP`、`S1`,优先拆成单订阅脚本,不建议放进全局 `rename.js`。
|
- 如果新增订阅里出现很短、很泛的关键词,例如 `D`、`CT`、`BGP`、`S1`,优先拆成单订阅脚本,不建议放进全局 `rename.js`。
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
/**
|
/**
|
||||||
* PeiQian 专用节点清理脚本
|
* PeiQian 专用节点清理脚本
|
||||||
* 只处理 _subName 为 PeiQian 的节点,避免把“推荐/用途/hy2”等文案规则误伤到其他订阅。
|
* 负责清理推荐、用途、hy2、倍率等 PeiQian 节点文案。
|
||||||
*/
|
*/
|
||||||
function operator(proxies) {
|
function operator(proxies) {
|
||||||
return proxies.map(proxy => {
|
return proxies.map(proxy => {
|
||||||
if (proxy._subName !== 'PeiQian' || typeof proxy.name !== 'string') {
|
if (typeof proxy.name !== 'string') {
|
||||||
return proxy;
|
return proxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -263,6 +263,7 @@ function operator(proxies) {
|
|||||||
return name
|
return name
|
||||||
.replace(/[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}\uFE0F]/gu, '')
|
.replace(/[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}\uFE0F]/gu, '')
|
||||||
.replace(/\u200d/g, '')
|
.replace(/\u200d/g, '')
|
||||||
|
.replace(/\s*\|\s*流媒体/gi, '')
|
||||||
.replace(/-\s*(\d+(?:\.\d+)?)倍/gi, ' $1x')
|
.replace(/-\s*(\d+(?:\.\d+)?)倍/gi, ' $1x')
|
||||||
.replace(/(\d+(?:\.\d+)?)倍/gi, '$1x')
|
.replace(/(\d+(?:\.\d+)?)倍/gi, '$1x')
|
||||||
.replace(/\b(\d+(?:\.\d+)?)X\b/g, '$1x')
|
.replace(/\b(\d+(?:\.\d+)?)X\b/g, '$1x')
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
/**
|
/**
|
||||||
* YueTong 专用节点清理脚本
|
* YueTong 专用节点清理脚本
|
||||||
* 只处理 _subName 为 YueTong 的节点,负责去掉“悦·”品牌前缀、钻石等装饰,以及压短 AI 解锁文案。
|
* 负责去掉“悦·”品牌前缀、钻石等装饰,以及压短 AI 解锁文案。
|
||||||
*/
|
*/
|
||||||
function operator(proxies) {
|
function operator(proxies) {
|
||||||
return proxies.map(proxy => {
|
return proxies.map(proxy => {
|
||||||
if (proxy._subName !== 'YueTong' || typeof proxy.name !== 'string') {
|
if (typeof proxy.name !== 'string') {
|
||||||
return proxy;
|
return proxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user