feat: Egern 增加 TUIC

This commit is contained in:
xream 2025-01-23 08:22:48 +08:00
parent b1874e510d
commit 6afec4f668
No known key found for this signature in database
GPG Key ID: 1D2C5225471789F9
2 changed files with 23 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "sub-store", "name": "sub-store",
"version": "2.16.19", "version": "2.16.20",
"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": {

View File

@ -14,6 +14,7 @@ export default function Egern_Producer() {
'hysteria2', 'hysteria2',
'vless', 'vless',
'vmess', 'vmess',
'tuic',
].includes(proxy.type) || ].includes(proxy.type) ||
(proxy.type === 'ss' && (proxy.type === 'ss' &&
((proxy.plugin === 'obfs' && ((proxy.plugin === 'obfs' &&
@ -71,7 +72,10 @@ export default function Egern_Producer() {
(typeof proxy.flow !== 'undefined' || (typeof proxy.flow !== 'undefined' ||
proxy['reality-opts'] || proxy['reality-opts'] ||
(!['http', 'ws', 'tcp'].includes(proxy.network) && (!['http', 'ws', 'tcp'].includes(proxy.network) &&
proxy.network))) proxy.network))) ||
(proxy.type === 'tuic' &&
proxy.token &&
proxy.token.length !== 0)
) { ) {
return false; return false;
} }
@ -152,6 +156,23 @@ export default function Egern_Producer() {
proxy.obfs = 'salamander'; proxy.obfs = 'salamander';
proxy.obfs_password = proxy['obfs-password']; proxy.obfs_password = proxy['obfs-password'];
} }
} else if (proxy.type === 'tuic') {
proxy = {
type: 'tuic',
name: proxy.name,
server: proxy.server,
port: proxy.port,
uuid: proxy.uuid,
password: proxy.password,
next_hop: proxy.next_hop,
sni: proxy.sni,
alpn: Array.isArray(proxy.alpn)
? proxy.alpn
: [proxy.alpn || 'h3'],
skip_tls_verify: proxy['skip-cert-verify'],
port_hopping: proxy.ports,
port_hopping_interval: proxy['hop-interval'],
};
} else if (proxy.type === 'trojan') { } else if (proxy.type === 'trojan') {
if (proxy.network === 'ws') { if (proxy.network === 'ws') {
proxy.websocket = { proxy.websocket = {