clash使用全局脚本自定义规则demo

const rules = [
];

function main(config, profileName) {
  try {
    // 遍历并更新规则
    var updated_rules = rules.map(rule => {
      // 使用逗号分割规则字符串
      let parts = rule.split(',');

      if (parts.length === 3) {
        var type = parts[2].toUpperCase();
        if (type !== 'DIRECT' && type !== 'REJECT') {
          parts[2] = config["proxy-groups"][0]["proxies"][0];
        }
        else{
          parts[2] = type;
        }
      }

      // 重新组合规则字符串
      return parts.join(',');
    });

    // 获取配置文件中的原始规则
    var orig_rules = config["rules"];

    // 将更新后的规则与原有的规则合并
    var merge_rules = updated_rules.concat(orig_rules);

    // 将合并后的规则赋值回配置文件中
    config["rules"] = merge_rules;

    // 返回更新后的配置文件
    return config;
  }
  catch (e) {
    console.log(e);
    return config;
  }
}

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注