From fac377735dd44a702f2f1e030d873c6ac62b64c1 Mon Sep 17 00:00:00 2001 From: Peng-YM <1048217874pengym@gmail.com> Date: Sun, 20 Sep 2020 09:56:40 +0800 Subject: [PATCH] Added two examples for script operators --- scripts/handle-duplicate.js | 4 ++- scripts/operator-complete.js | 70 ++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 scripts/operator-complete.js diff --git a/scripts/handle-duplicate.js b/scripts/handle-duplicate.js index c901c78..5d1750d 100644 --- a/scripts/handle-duplicate.js +++ b/scripts/handle-duplicate.js @@ -2,7 +2,9 @@ function operator(proxies) { const counter = {}; return proxies.map(p => { if (!counter[p.name]) counter[p.name] = 0; - p.name = p.name + " " + (++counter[p.name]).toString(); + const num = "00000" + counter[p.name]; + p.name = p.name + " " + num.substr(num.length-2); + counter[p.name]++; return p; }); } \ No newline at end of file diff --git a/scripts/operator-complete.js b/scripts/operator-complete.js new file mode 100644 index 0000000..05cf345 --- /dev/null +++ b/scripts/operator-complete.js @@ -0,0 +1,70 @@ +function operator(proxies) { + let procedure; + // useless proxies filter + procedure = $get("Useless Filter"); + proxies = $process(procedure, proxies); + + // region filter + procedure = $get("Region Filter", ["HK", "TW", "US", "SG", "JP"]); + proxies = $process(procedure, proxies); + + // keyword filter + procedure = $get("Keyword Filter", { + keywords: ["IPLC", "IEPL"], + keep: true, + }); + proxies = $process(procedure, proxies); + + // regex filter + procedure = $get("Regex Filter", { + regex: ["^.*港.*NF$", "^.*新.*NF$"], + keep: true, + }); + proxies = $process(procedure, proxies); + + // type filter + procedure = $get("Type Filter", ["Trojan"]) + proxies = $process(procedure, proxies); + + // set property operator + procedure = $get("Set Property Operator", { + "key": "scert", + "value": "false" + }); + proxies = $process(procedure, proxies); + + // sort operator + procedure = $get("Sort Operator", "asc"); // asc, desc, random + proxies = $process(procedure, proxies); + + // keyword sort operator + procedure = $get("Keyword Sort Operator", ["HK", "JP", "SG"]); + proxies = $process(procedure, proxies); + + // keyword rename operator + procedure = $get("Keyword Rename Operator", [ + { old: "A", now: "B" }, + { old: "C", now: "D"} + ]); + proxies = $process(procedure, proxies); + + // keyword delete operator + procedure = $get("Keyword Delete Operator", ["A", "B", "C"]); + proxies = $process(procedure, proxies); + + // regex rename operator + procedure = $get("Regex Rename Operator", [ + { expr: "A", now: "B" }, + { expr: "C", now: "D"} + ]) + proxies = $process(procedure, proxies); + + // regex delete operator + procedure = $get("Regex Delete Operator", ["A", "B", "C"]); + proxies = $process(procedure, proxies); + + // flag operator + procedure = $get("Flag Operator", true); + proxies = $process(procedure, proxies); + return proxies; +}