mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-10 07:19:01 +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"
|
},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":
|
case "trojan":
|
||||||
return `trojan=${proxy.server}:${proxy.port},password=${proxy.password
|
return `trojan=${proxy.server}:${proxy.port},password=${proxy.password
|
||||||
}${proxy.sni ? ",tls-host=" + proxy.sni : ""
|
}${proxy.sni ? ",tls-host=" + proxy.sni : ""
|
||||||
@ -2563,8 +2567,12 @@ var ProxyUtils = (function () {
|
|||||||
obfs_opts += `${proxy.sni ? ",tls-name:" + proxy.sni : ""
|
obfs_opts += `${proxy.sni ? ",tls-name:" + proxy.sni : ""
|
||||||
},skip-cert-verify:${proxy["skip-cert-verify"] || "false"}`;
|
},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}`;
|
},"${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":
|
case "trojan":
|
||||||
return `${proxy.name}=trojan,${proxy.server},${proxy.port},"${proxy.password
|
return `${proxy.name}=trojan,${proxy.server},${proxy.port},"${proxy.password
|
||||||
}"${proxy.sni ? ",tls-name:" + proxy.sni : ""},skip-cert-verify:${proxy["skip-cert-verify"] || "false"
|
}"${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
|
result = `${proxy.name}=vmess,${proxy.server},${proxy.port
|
||||||
},username=${proxy.uuid},tls=${proxy.tls || "false"},tfo=${proxy.tfo || "false"
|
},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") {
|
if (proxy.network === "ws") {
|
||||||
const path = proxy["ws-path"] || "/";
|
const path = proxy["ws-path"] || "/";
|
||||||
const wsHeaders = Object.entries(proxy["ws-headers"]).map(
|
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-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-radio-group>
|
</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-item-group>
|
||||||
</v-form>
|
</v-form>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -369,7 +387,8 @@ export default {
|
|||||||
udp: "DEFAULT",
|
udp: "DEFAULT",
|
||||||
"skip-cert-verify": "DEFAULT",
|
"skip-cert-verify": "DEFAULT",
|
||||||
tfo: "DEFAULT",
|
tfo: "DEFAULT",
|
||||||
"surge-hybrid": "DEFAULT"
|
"surge-hybrid": "DEFAULT",
|
||||||
|
"vmess-aead": "DEFAULT",
|
||||||
},
|
},
|
||||||
process: [],
|
process: [],
|
||||||
selected: []
|
selected: []
|
||||||
@ -437,8 +456,8 @@ export default {
|
|||||||
type: "Useless Filter"
|
type: "Useless Filter"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// udp, tfo, scert
|
// udp, tfo, scert, surge-hybrid, vmess-aead
|
||||||
for (const opt of ['udp', 'tfo', 'skip-cert-verify', 'surge-hybrid']) {
|
for (const opt of ['udp', 'tfo', 'skip-cert-verify', 'surge-hybrid', 'vmess-aead']) {
|
||||||
if (this.options[opt] !== 'DEFAULT') {
|
if (this.options[opt] !== 'DEFAULT') {
|
||||||
output.process.push({
|
output.process.push({
|
||||||
type: "Set Property Operator",
|
type: "Set Property Operator",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user