# 守候网络节点命名脚本 `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`。