Files
script/substore/README.md
Orion 0ef15bfd3b refactor(core): ♻️ 重构节点重命名脚本变量命名与文档
对 sntp-rename.js 进行代码重构,通过更具描述性的变量名(如 featureKeyword,
proxyName)提高代码可读性。同时更新项目文档,明确该脚本专用于“守候网络”
节点命名,并对默认规则和使用说明进行了优化。

- 优化变量命名以更清晰地表达业务逻辑
- 更新 README 完善守候网络节点的命名说明
- 格式化代码逻辑以增强可维护性
2026-05-09 15:36:04 +08:00

99 lines
2.5 KiB
Markdown

# 守候网络节点命名脚本
`sntp-rename.js` 是一个专用于守候网络节点命名的 Sub-Store 处理脚本。它会根据节点名称中的线路关键词,自动注入统一的线路标签,让节点列表更容易筛选、分组和识别。
## 功能
脚本会遍历传入的 `proxies` 数组,检查每个代理节点的 `name` 字段。命中关键词后,会把对应标签追加到节点名中:
- 如果节点名带有 `- SNTP...` 后缀,标签会插入到 `- SNTP` 之前。
- 如果节点名没有该后缀,标签会追加到名称末尾。
- 如果已经包含同样标签,不会重复注入。
脚本只处理节点名称,不会修改协议、地址、端口或其他连接参数。
## 默认规则
| 命中关键词 | 注入标签 |
| --- | --- |
| `GTM 0.5x` | `[三网]` |
| `GTM` | `[三网]` |
| `S1` | `[广移]` |
| `S2` | `[广电]` |
| `S3` | `[广移]` |
| `S4` | `[广联]` |
| `BGP` | `[cn2]` |
| `Anytls` | `[直连]` |
## 示例
输入:
```text
香港 GTM 0.5x - SNTP 01
广州 S1 - SNTP 02
日本 BGP 01
深圳 Anytls - SNTP 03
普通节点 01
```
输出:
```text
香港 GTM 0.5x [三网] - SNTP 01
广州 S1 [广移] - SNTP 02
日本 BGP 01 [cn2]
深圳 Anytls [直连] - SNTP 03
普通节点 01
```
## 在 Sub-Store 中使用
1. 打开 Sub-Store。
2. 进入订阅或节点处理配置。
3. 添加 JavaScript 脚本处理器。
4. 粘贴 [sntp-rename.js](sntp-rename.js) 内容。
5. 保存并刷新订阅。
脚本暴露的入口函数为:
```javascript
function operator(proxies) {
// ...
}
```
## 修改规则
只需要编辑脚本顶部的 `featureMap`。左侧是节点名称中要识别的关键词,右侧是要注入的标签内容:
```javascript
const featureMap = {
"GTM 0.5x": "三网",
"GTM": "三网",
"S1": "广移",
"S2": "广电",
"S3": "广移",
"S4": "广联",
"BGP": "cn2",
"Anytls": "直连"
};
```
新增规则示例:
```javascript
"IEPL": "专线"
```
## 匹配逻辑
- 关键词匹配不区分大小写。
- 关键词会按长度从长到短生成正则,避免 `GTM` 先抢走 `GTM 0.5x` 的匹配。
- 纯字母数字关键词会自动加单词边界,避免 `S1` 错误匹配到 `US1`
- 映射时会忽略关键词中的空格,例如 `GTM 0.5x``GTM0.5X` 会映射到同一个标签。
## 注意事项
- 如果节点命中多个关键词,只会按当前正则排序匹配第一个。
- 如需支持更多后缀位置,可修改脚本中的 `suffixRegex`