mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-10 00:09:01 +08:00
Add script demo
This commit is contained in:
parent
d8129de848
commit
535a20bd90
@ -236,7 +236,6 @@ async function parseSub(sub, platform) {
|
||||
} else {
|
||||
proxies = processFilter(filter(item.args), proxies);
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
$.error(`Failed to apply filter "${item.type}"!\n REASON: ${err}`);
|
||||
}
|
||||
@ -940,7 +939,7 @@ function URI_VMess() {
|
||||
}
|
||||
|
||||
// handle scert
|
||||
if (proxy.tls && params['"tls-verification"'] === 'false') {
|
||||
if (proxy.tls && params['"tls-verification"'] === "false") {
|
||||
proxy.scert = true;
|
||||
}
|
||||
|
||||
@ -1719,14 +1718,22 @@ function Surge_Producer() {
|
||||
}`;
|
||||
}
|
||||
if (proxy.tls) {
|
||||
config += `${typeof proxy.scert !== 'undefined' ? ",skip-cert-verify=" + proxy.scert : ""}`
|
||||
config += `${
|
||||
typeof proxy.scert !== "undefined"
|
||||
? ",skip-cert-verify=" + proxy.scert
|
||||
: ""
|
||||
}`;
|
||||
config += proxy.sni ? `,sni=${proxy.sni}` : "";
|
||||
}
|
||||
return config;
|
||||
case "trojan":
|
||||
return `${proxy.name}=trojan,${proxy.server},${proxy.port},password=${
|
||||
proxy.password
|
||||
}${typeof proxy.scert !== "undefined" ? ",skip-cert-verify=" + proxy.scert : ""}${proxy.sni ? ",sni=" + proxy.sni : ""},tfo=${proxy.tfo || "false"}`;
|
||||
}${
|
||||
typeof proxy.scert !== "undefined"
|
||||
? ",skip-cert-verify=" + proxy.scert
|
||||
: ""
|
||||
}${proxy.sni ? ",sni=" + proxy.sni : ""},tfo=${proxy.tfo || "false"}`;
|
||||
case "http":
|
||||
tls_opts = ",tls=false";
|
||||
if (proxy.tls) {
|
||||
@ -2010,7 +2017,7 @@ function ScriptOperator(script) {
|
||||
} else if (item.name.indexOf("Operator") !== -1) {
|
||||
return processFilter(item, proxies);
|
||||
}
|
||||
}
|
||||
};
|
||||
eval(script);
|
||||
output = operator(proxies);
|
||||
})();
|
||||
|
@ -1,10 +1,17 @@
|
||||
function operator(proxies) {
|
||||
const counter = {};
|
||||
return proxies.map(p => {
|
||||
if (!counter[p.name]) counter[p.name] = 0;
|
||||
++counter[p.name];
|
||||
const num = "00000" + counter[p.name];
|
||||
p.name = p.name + " " + num.substr(num.length-2);
|
||||
return p;
|
||||
});
|
||||
}
|
||||
const counter = {};
|
||||
const increment = {};
|
||||
proxies.forEach((p) => {
|
||||
if (typeof counter[p.name] === 'undefined') counter[p.name] = 1;
|
||||
else counter[p.name]++;
|
||||
});
|
||||
console.log(counter);
|
||||
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;
|
||||
});
|
||||
}
|
||||
|
3
scripts/udp-filter.js
Normal file
3
scripts/udp-filter.js
Normal file
@ -0,0 +1,3 @@
|
||||
function filter(proxies) {
|
||||
return proxies.map(p => p.udp);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user