Updated scripts

This commit is contained in:
Peng-YM 2022-05-25 10:33:54 +08:00
parent b56f17606e
commit c389aa19a2
5 changed files with 15 additions and 90 deletions

View File

@ -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;
});
}

View File

@ -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;
}

View File

@ -1,3 +1,6 @@
/**
* 为节点添加 tls 证书指纹
*/
function operator(proxies, targetPlatform) {
const {fingerprint} = $arguments;
proxies.forEach(proxy => {

View File

@ -1,3 +1,6 @@
/**
* 过滤 UDP 节点
*/
function filter(proxies) {
return proxies.map(p => p.udp);
}

View File

@ -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;
}
});