简介

脚本操作允许用户使用一段脚本操作节点。

实现功能

  1. 过滤
  2. 重命名
  3. 自定义排序
  4. 等等(待开发)

示例

下面展示了一个例子,脚本操作的函数的名称必须为 operator,否则无法生效***。***

function operator(proxies) {
	
}

其中参数 proxies 为输入的节点列表,输出修改后的 proxiesproxies 参数的介绍参考「脚本过滤器」一章。脚本操作灵活度是最高的,可以随意修改节点的任何字段

注意事项

假设

假设用户有一组节点,经过过滤和重命名操作之后,可能节点中会存在重复的节点名称,用户可能会希望对重复的节点添加序号进行标识。

示例代码 A

function operator(proxies) {
	const counter = {};
	return proxies.map(p => {
		if (!counter[p.name]) counter[p.name] = 0;
		p.name = `${p.name} ${++counter[p.name]}`;
		return p;
	});
}

/* 重复节点添加标识效果
 香港1
 香港2
 香港3
*/

示例代码 B

function operator(proxies) {
    const counter = {};
    return proxies.map(p => {
      if (!counter[p.name]) counter[p.name] = 0;
      p.name = p.name +(('000'+ ++counter[p.name]).slice(-2)).toString();
      return p;
    });
}

/* 重复节点添加标识效果
 香港01
 香港02
 香港03
*/

目录