fix: proxy duplicate issue

This commit is contained in:
Peng-YM 2022-08-04 20:40:40 +08:00
parent f64e8ecfe4
commit 26820ea892
6 changed files with 25 additions and 18 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{
"name": "sub-store",
"version": "2.12.1",
"version": "2.12.2",
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
"main": "src/main.js",
"scripts": {

View File

@ -50,6 +50,7 @@ function parse(raw) {
lastParser = parser;
success = true;
$.info(`${parser.name} is activated`);
break;
}
}
}

View File

@ -112,8 +112,11 @@ function URI_SSR() {
line = line.split('/?')[1].split('&');
if (line.length > 1) {
for (const item of line) {
const [key, val] = item.split('=');
other_params[key] = val.trim();
let [key, val] = item.split('=');
val = val.trim();
if (val.length > 0) {
other_params[key] = val;
}
}
}
proxy = {
@ -242,14 +245,17 @@ function URI_Trojan() {
const name = decodeURIComponent(line.split('#')[1].trim());
let paramArr = line.split('?');
let scert = null;
let params;
const params = new Map();
if (paramArr.length > 1) {
paramArr = paramArr[1].split('#')[0].split('&');
params = new Map(
paramArr.map((item) => {
return item.split('=');
}),
);
for (const pair of paramArr) {
let [key, val] = pair.split('=');
// skip empty values
val = val.trim();
if (val.length > 0) {
params.set(key, val);
}
}
if (
params.get('allowInsecure') === '1' ||
params.get('allowInsecure') === 'true'

File diff suppressed because one or more lines are too long