Skip to content

Commit

Permalink
feat: Loon 正式支持 Shadow-TLS
Browse files Browse the repository at this point in the history
  • Loading branch information
xream committed Feb 3, 2025
1 parent 2a76eb6 commit 74ec133
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 22 deletions.
2 changes: 1 addition & 1 deletion backend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "sub-store",
"version": "2.16.24",
"version": "2.16.25",
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
"main": "src/main.js",
"scripts": {
Expand Down
24 changes: 3 additions & 21 deletions backend/src/core/proxy-utils/producers/loon.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ export default function Loon_Producer() {
const produce = (proxy, type, opts = {}) => {
switch (proxy.type) {
case 'ss':
return shadowsocks(proxy, opts['include-unsupported-proxy']);
return shadowsocks(proxy);
case 'ssr':
return shadowsocksr(proxy, opts['include-unsupported-proxy']);
return shadowsocksr(proxy);
case 'trojan':
return trojan(proxy);
case 'vmess':
Expand All @@ -40,7 +40,7 @@ export default function Loon_Producer() {
return { produce };
}

function shadowsocks(proxy, includeUnsupportedProxy) {
function shadowsocks(proxy) {
const result = new Result(proxy);
if (
![
Expand Down Expand Up @@ -74,8 +74,6 @@ function shadowsocks(proxy, includeUnsupportedProxy) {
`${proxy.name}=shadowsocks,${proxy.server},${proxy.port},${proxy.cipher},"${proxy.password}"`,
);

let isShadowTLS;

// obfs
if (isPresent(proxy, 'plugin')) {
if (proxy.plugin === 'obfs') {
Expand Down Expand Up @@ -107,7 +105,6 @@ function shadowsocks(proxy, includeUnsupportedProxy) {
);
// udp-port
result.appendIfPresent(`,udp-port=${proxy['udp-port']}`, 'udp-port');
isShadowTLS = true;
} else if (['shadow-tls'].includes(proxy.plugin) && proxy['plugin-opts']) {
const password = proxy['plugin-opts'].password;
const host = proxy['plugin-opts'].host;
Expand All @@ -130,7 +127,6 @@ function shadowsocks(proxy, includeUnsupportedProxy) {
`,udp-port=${proxy['udp-port']}`,
'udp-port',
);
isShadowTLS = true;
}
}

Expand All @@ -142,11 +138,6 @@ function shadowsocks(proxy, includeUnsupportedProxy) {
result.append(`,udp=true`);
}

if (!includeUnsupportedProxy && isShadowTLS) {
throw new Error(
`shadow-tls is not supported(请使用 includeUnsupportedProxy 参数)`,
);
}
const ip_version = ipVersions[proxy['ip-version']] || proxy['ip-version'];
result.appendIfPresent(`,ip-mode=${ip_version}`, 'ip-version');

Expand All @@ -170,8 +161,6 @@ function shadowsocksr(proxy, includeUnsupportedProxy) {
result.appendIfPresent(`,obfs=${proxy.obfs}`, 'obfs');
result.appendIfPresent(`,obfs-param=${proxy['obfs-param']}`, 'obfs-param');

let isShadowTLS;

// shadow-tls
if (isPresent(proxy, 'shadow-tls-password')) {
result.append(`,shadow-tls-password=${proxy['shadow-tls-password']}`);
Expand All @@ -186,7 +175,6 @@ function shadowsocksr(proxy, includeUnsupportedProxy) {
);
// udp-port
result.appendIfPresent(`,udp-port=${proxy['udp-port']}`, 'udp-port');
isShadowTLS = true;
} else if (['shadow-tls'].includes(proxy.plugin) && proxy['plugin-opts']) {
const password = proxy['plugin-opts'].password;
const host = proxy['plugin-opts'].host;
Expand All @@ -209,7 +197,6 @@ function shadowsocksr(proxy, includeUnsupportedProxy) {
`,udp-port=${proxy['udp-port']}`,
'udp-port',
);
isShadowTLS = true;
}
}

Expand All @@ -221,11 +208,6 @@ function shadowsocksr(proxy, includeUnsupportedProxy) {
result.append(`,udp=true`);
}

if (!includeUnsupportedProxy && isShadowTLS) {
throw new Error(
`shadow-tls is not supported(请使用 includeUnsupportedProxy 参数)`,
);
}
const ip_version = ipVersions[proxy['ip-version']] || proxy['ip-version'];
result.appendIfPresent(`,ip-mode=${ip_version}`, 'ip-version');

Expand Down

0 comments on commit 74ec133

Please sign in to comment.