diff --git a/scripts/handle-duplicate.js b/scripts/handle-duplicate.js deleted file mode 100644 index 2388708..0000000 --- a/scripts/handle-duplicate.js +++ /dev/null @@ -1,16 +0,0 @@ -function operator(proxies) { - const counter = {}; - const increment = {}; - proxies.forEach((p) => { - if (typeof counter[p.name] === 'undefined') counter[p.name] = 1; - else counter[p.name]++; - }); - return proxies.map((p) => { - if (counter[p.name] > 1) { - if (typeof increment[p.name] === "undefined") increment[p.name] = 1; - const num = "00000" + increment[p.name]++; - p.name = p.name + " " + num.substr(num.length - 2); - } - return p; - }); -} diff --git a/scripts/operator-complete.js b/scripts/operator-complete.js deleted file mode 100644 index 1acdc66..0000000 --- a/scripts/operator-complete.js +++ /dev/null @@ -1,72 +0,0 @@ -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); - - procedure = $get("Flag Operator", true); - return proxies; -} diff --git a/scripts/tls-fingerprint.js b/scripts/tls-fingerprint.js index 2b534a6..bcdc356 100644 --- a/scripts/tls-fingerprint.js +++ b/scripts/tls-fingerprint.js @@ -1,3 +1,6 @@ +/** + * 为节点添加 tls 证书指纹 + */ function operator(proxies, targetPlatform) { const {fingerprint} = $arguments; proxies.forEach(proxy => { diff --git a/scripts/udp-filter.js b/scripts/udp-filter.js index ebf8432..7bd76af 100644 --- a/scripts/udp-filter.js +++ b/scripts/udp-filter.js @@ -1,3 +1,6 @@ +/** + * 过滤 UDP 节点 + */ function filter(proxies) { return proxies.map(p => p.udp); } diff --git a/scripts/vmess-ws-obfs-host.js b/scripts/vmess-ws-obfs-host.js index c048dc2..ca13234 100644 --- a/scripts/vmess-ws-obfs-host.js +++ b/scripts/vmess-ws-obfs-host.js @@ -1,7 +1,14 @@ +/** + * 为 VMess WebSocket 节点修改混淆 host + * 示例 + * #host=google.com + */ function operator(proxies) { - const host = $arguments.host; + const host = 'baidu.com'; proxies.forEach(p => { - if (p.type === 'vmess') { + if (p.type === 'vmess' && p.network === 'ws') { + p["ws-opts"] = p["ws-opts"] || {}; + p["ws-opts"]["headers"] = p["ws-opts"]["headers"] || {}; p["ws-opts"]["headers"]["Host"] = host; } });