mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-10 04:49:03 +08:00
Added support for Vmess AEAD (including Loon/QX/Surge), closes 70
This commit is contained in:
parent
a981763982
commit
265a88fc5f
@ -2492,10 +2492,14 @@ var ProxyUtils = (function () {
|
||||
}`;
|
||||
}
|
||||
}
|
||||
return `vmess=${proxy.server}:${proxy.port},method=${proxy.cipher === "auto" ? "none" : proxy.cipher
|
||||
let result = `vmess=${proxy.server}:${proxy.port},method=${proxy.cipher === "auto" ? "none" : proxy.cipher
|
||||
},password=${proxy.uuid}${obfs_opts}${proxy.tfo ? ",fast-open=true" : ",fast-open=false"
|
||||
}${proxy.udp ? ",udp-relay=true" : ",udp-relay=false"},tag=${proxy.name
|
||||
}`;
|
||||
}${proxy.udp ? ",udp-relay=true" : ",udp-relay=false"}`;
|
||||
if (typeof proxy['vmess-aead'] !== "undefined") {
|
||||
result += `,aead=${proxy['vmess-aead']}`;
|
||||
}
|
||||
result += `,tag=${proxy.name}`;
|
||||
return result;
|
||||
case "trojan":
|
||||
return `trojan=${proxy.server}:${proxy.port},password=${proxy.password
|
||||
}${proxy.sni ? ",tls-host=" + proxy.sni : ""
|
||||
@ -2563,8 +2567,12 @@ var ProxyUtils = (function () {
|
||||
obfs_opts += `${proxy.sni ? ",tls-name:" + proxy.sni : ""
|
||||
},skip-cert-verify:${proxy["skip-cert-verify"] || "false"}`;
|
||||
}
|
||||
return `${proxy.name}=vmess,${proxy.server},${proxy.port},${proxy.cipher === "auto" ? "none" : proxy.cipher
|
||||
let result = `${proxy.name}=vmess,${proxy.server},${proxy.port},${proxy.cipher === "auto" ? "none" : proxy.cipher
|
||||
},"${proxy.uuid}",over-tls:${proxy.tls || "false"}${obfs_opts}`;
|
||||
if (typeof proxy['vmess-aead'] !== "undefined") {
|
||||
result += `,vmess-aead=${proxy['vmess-aead']}`;
|
||||
}
|
||||
return result;
|
||||
case "trojan":
|
||||
return `${proxy.name}=trojan,${proxy.server},${proxy.port},"${proxy.password
|
||||
}"${proxy.sni ? ",tls-name:" + proxy.sni : ""},skip-cert-verify:${proxy["skip-cert-verify"] || "false"
|
||||
@ -2615,6 +2623,9 @@ var ProxyUtils = (function () {
|
||||
result = `${proxy.name}=vmess,${proxy.server},${proxy.port
|
||||
},username=${proxy.uuid},tls=${proxy.tls || "false"},tfo=${proxy.tfo || "false"
|
||||
}`;
|
||||
if (typeof proxy['vmess-aead'] !== "undefined") {
|
||||
result += `,vmess-aead=${proxy['vmess-aead']}`;
|
||||
}
|
||||
if (proxy.network === "ws") {
|
||||
const path = proxy["ws-path"] || "/";
|
||||
const wsHeaders = Object.entries(proxy["ws-headers"]).map(
|
||||
|
4
backend/sub-store.min.js
vendored
4
backend/sub-store.min.js
vendored
File diff suppressed because one or more lines are too long
@ -185,6 +185,24 @@
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-radio-group>
|
||||
<v-radio-group
|
||||
v-model="options['vmess-aead']"
|
||||
class="mt-0 mb-0"
|
||||
dense
|
||||
>
|
||||
Vmess AEAD
|
||||
<v-row>
|
||||
<v-col>
|
||||
<v-radio label="默认" value="DEFAULT"/>
|
||||
</v-col>
|
||||
<v-col>
|
||||
<v-radio label="强制开启" value="FORCE_OPEN"/>
|
||||
</v-col>
|
||||
<v-col>
|
||||
<v-radio label="强制关闭" value="FORCE_CLOSE"/>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-radio-group>
|
||||
</v-item-group>
|
||||
</v-form>
|
||||
</v-card>
|
||||
@ -369,7 +387,8 @@ export default {
|
||||
udp: "DEFAULT",
|
||||
"skip-cert-verify": "DEFAULT",
|
||||
tfo: "DEFAULT",
|
||||
"surge-hybrid": "DEFAULT"
|
||||
"surge-hybrid": "DEFAULT",
|
||||
"vmess-aead": "DEFAULT",
|
||||
},
|
||||
process: [],
|
||||
selected: []
|
||||
@ -437,8 +456,8 @@ export default {
|
||||
type: "Useless Filter"
|
||||
});
|
||||
}
|
||||
// udp, tfo, scert
|
||||
for (const opt of ['udp', 'tfo', 'skip-cert-verify', 'surge-hybrid']) {
|
||||
// udp, tfo, scert, surge-hybrid, vmess-aead
|
||||
for (const opt of ['udp', 'tfo', 'skip-cert-verify', 'surge-hybrid', 'vmess-aead']) {
|
||||
if (this.options[opt] !== 'DEFAULT') {
|
||||
output.process.push({
|
||||
type: "Set Property Operator",
|
||||
|
Loading…
x
Reference in New Issue
Block a user