SubHub v5.9+

轻量 JavaScript 工作流指南

标准 JavaScript 语法、VS Code Monaco 编辑器,以及面向节点处理的安全 helpers。

最小示例

return nodes
  .filter(node => !/流量|到期|官网/.test(node.name))
  .map(node => ({ ...node, name: node.name.replace(/香港/g, "HK") }));

可用数据

nodes 是当前节点数组,节点含 name、protocol、server、port、region、raw、TCP/Mihomo 测试结果和落地 IP 地理字段。variables 提供事件流变量。

国家地区识别

helpers.detectCountry(node) 先识别原节点名;失败后读取落地 IP 国家、地区与城市;都没有才返回 Unknown。完整 ISO 国家/地区库同时支持常见中文、英文、旗帜、ISO2/ISO3 和机房别名。

内置 helpers

helpers.normalizeNames(nodes, { style: "flag_zh_seq", unknownLabel: "未知" }):统一节点名。

helpers.sortNames(nodes, { mode: "country_city", direction: "asc", unknownLast: true }):自然、国家、城市或数字排序。

helpers.clone(value):深复制;console.log():写入执行日志。

安全限制

不开放文件、网络、进程、系统命令、require、fetch、WebSocket 或动态代码生成。脚本最多 64 KiB,单次最多 20,000 个节点,超过 1000 ms 自动停止。