mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-06-04 11:13:59 +08:00
feat: Hysteria2 URI 输入输出支持 hop-interval 和 keepalive 参数, 为保证兼容性, 输出时多端口暂时保持使用 mport 参数
This commit is contained in:
parent
29525b3e22
commit
cef931fa5d
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sub-store",
|
"name": "sub-store",
|
||||||
"version": "2.17.7",
|
"version": "2.17.8",
|
||||||
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
|
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -775,6 +775,7 @@ function URI_Hysteria2() {
|
|||||||
] = /^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(
|
] = /^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(
|
||||||
line,
|
line,
|
||||||
);
|
);
|
||||||
|
|
||||||
/* eslint-enable no-unused-vars */
|
/* eslint-enable no-unused-vars */
|
||||||
if (/^\d+$/.test(port)) {
|
if (/^\d+$/.test(port)) {
|
||||||
port = parseInt(`${port}`, 10);
|
port = parseInt(`${port}`, 10);
|
||||||
@ -818,12 +819,23 @@ function URI_Hysteria2() {
|
|||||||
if (params.obfs && params.obfs !== 'none') {
|
if (params.obfs && params.obfs !== 'none') {
|
||||||
proxy.obfs = params.obfs;
|
proxy.obfs = params.obfs;
|
||||||
}
|
}
|
||||||
|
if (params.mport) {
|
||||||
proxy.ports = params.mport;
|
proxy.ports = params.mport;
|
||||||
|
}
|
||||||
proxy['obfs-password'] = params['obfs-password'];
|
proxy['obfs-password'] = params['obfs-password'];
|
||||||
proxy['skip-cert-verify'] = /(TRUE)|1/i.test(params.insecure);
|
proxy['skip-cert-verify'] = /(TRUE)|1/i.test(params.insecure);
|
||||||
proxy.tfo = /(TRUE)|1/i.test(params.fastopen);
|
proxy.tfo = /(TRUE)|1/i.test(params.fastopen);
|
||||||
proxy['tls-fingerprint'] = params.pinSHA256;
|
proxy['tls-fingerprint'] = params.pinSHA256;
|
||||||
|
let hop_interval = params['hop-interval'] || params['hop_interval'];
|
||||||
|
|
||||||
|
if (/^\d+$/.test(hop_interval)) {
|
||||||
|
proxy['hop-interval'] = parseInt(`${hop_interval}`, 10);
|
||||||
|
}
|
||||||
|
let keepalive = params['keepalive'];
|
||||||
|
|
||||||
|
if (/^\d+$/.test(keepalive)) {
|
||||||
|
proxy['keepalive'] = parseInt(`${keepalive}`, 10);
|
||||||
|
}
|
||||||
|
|
||||||
return proxy;
|
return proxy;
|
||||||
};
|
};
|
||||||
|
@ -387,6 +387,14 @@ export default function URI_Producer() {
|
|||||||
break;
|
break;
|
||||||
case 'hysteria2':
|
case 'hysteria2':
|
||||||
let hysteria2params = [];
|
let hysteria2params = [];
|
||||||
|
if (proxy['hop-interval']) {
|
||||||
|
hysteria2params.push(
|
||||||
|
`hop-interval=${proxy['hop-interval']}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (proxy['keepalive']) {
|
||||||
|
hysteria2params.push(`keepalive=${proxy['keepalive']}`);
|
||||||
|
}
|
||||||
if (proxy['skip-cert-verify']) {
|
if (proxy['skip-cert-verify']) {
|
||||||
hysteria2params.push(`insecure=1`);
|
hysteria2params.push(`insecure=1`);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user