From 90a54edc0af5f3050dc3194e54da3f83d03fcbe6 Mon Sep 17 00:00:00 2001 From: Orion Date: Thu, 9 Apr 2026 09:14:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(core):=20=E2=9C=A8=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=90=8D=E7=A7=B0=20ISP=20=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 `sntp-rename.js` 脚本,用于根据节点名称中的线路标识符自动追加对应的中文运营商简称后缀。 脚本逻辑为:保留原始节点名称,在末尾添加“ [中文简称]”。匹配优先级依次为:广东系列线路 (S1-S4)、江苏/浙江系列线路 (E1-E2)、动态解析线路 (GTM)、测试线路 (TEST) 以及 Anytls 直连线路。添加后缀前会检查是否已存在,避免重复。 --- sntp-rename.js | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sntp-rename.js diff --git a/sntp-rename.js b/sntp-rename.js new file mode 100644 index 0000000..27eb935 --- /dev/null +++ b/sntp-rename.js @@ -0,0 +1,56 @@ +/** + * 节点名称追加 ISP 信息脚本 + * 逻辑:保留原名,在末尾添加 " [中文简称]" + * 优先级:先匹配具体的线路标识(S1-S4, E1-E2),最后匹配 GTM 或 TEST + */ +function operator(proxies) { + return proxies.map(p => { + let suffix = ""; + const name = p.name; + + // 1. 广东系列线路 (S1-S4) + // 使用正则匹配连字符或空格后的标识符,确保不会误触 (例如防止 US1 误匹配 S1) + if (/(?:^|[- ])S1\b/i.test(name) || /(?:^|[- ])S3\b/i.test(name)) { + suffix = "广移"; + } + else if (/(?:^|[- ])S2\b/i.test(name)) { + suffix = "广电"; + } + else if (/(?:^|[- ])S4\b/i.test(name)) { + suffix = "广联"; + } + + // 2. 江苏/浙江系列线路 (E1-E2) + else if (/(?:^|[- ])E1\b/i.test(name)) { + suffix = "苏移"; + } + else if (/(?:^|[- ])E2\b/i.test(name)) { + suffix = "浙移"; + } + + // 3. 动态解析线路 (GTM) + else if (/GTM/i.test(name)) { + suffix = "三网"; + } + + // 4. 测试线路 (TEST) + else if (/TEST/i.test(name)) { + suffix = "测试"; + } + + // 5. Anytls 直连线路 + else if (/Anytls/i.test(name)) { + suffix = "直连"; + } + + // 执行名称追加 + if (suffix) { + // 检查是否已经存在该后缀,避免重复添加 + if (!name.includes(`[${suffix}]`)) { + p.name = `${name} [${suffix}]`; + } + } + + return p; + }); +} \ No newline at end of file