diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js index d183b882..0418540a 100644 --- a/web/assets/js/model/xray.js +++ b/web/assets/js/model/xray.js @@ -8,13 +8,6 @@ const Protocols = { HTTP: 'http', }; -const VmessMethods = { - AES_128_GCM: 'aes-128-gcm', - CHACHA20_POLY1305: 'chacha20-poly1305', - AUTO: 'auto', - NONE: 'none', -}; - const SSMethods = { AES_256_GCM: 'aes-256-gcm', AES_128_GCM: 'aes-128-gcm', @@ -91,7 +84,6 @@ const SNIFFING_OPTION = { }; Object.freeze(Protocols); -Object.freeze(VmessMethods); Object.freeze(SSMethods); Object.freeze(XTLS_FLOW_CONTROL); Object.freeze(TLS_FLOW_CONTROL); @@ -422,7 +414,7 @@ class HttpStreamSettings extends XrayCommonClass { } class QuicStreamSettings extends XrayCommonClass { - constructor(security=VmessMethods.NONE, + constructor(security='none', key=RandomUtil.randomSeq(10), type='none') { super(); this.security = security; @@ -1163,95 +1155,34 @@ class Inbound extends XrayCommonClass { } canEnableTls() { - switch (this.protocol) { - case Protocols.VMESS: - case Protocols.VLESS: - case Protocols.TROJAN: - break; - default: - return false; - } - - switch (this.network) { - case "tcp": - case "ws": - case "http": - case "quic": - case "grpc": - return true; - default: - return false; - } + if(![Protocols.VMESS, Protocols.VLESS, Protocols.TROJAN].includes(this.protocol)) return false; + return ["tcp", "ws", "http", "quic", "grpc"].includes(this.network); } canEnableReality() { - switch (this.protocol) { - case Protocols.VLESS: - case Protocols.TROJAN: - break; - default: - return false; - } - switch (this.network) { - case "tcp": - case "http": - case "grpc": - return true; - default: - return false; - } + if(![Protocols.VLESS, Protocols.TROJAN].includes(this.protocol)) return false; + return ["tcp", "http", "grpc"].includes(this.network); } //this is used for xtls-rprx-vision canEnableTlsFlow() { if (((this.stream.security === 'tls') || (this.stream.security === 'reality')) && (this.network === "tcp")) { - switch (this.protocol) { - case Protocols.VLESS: - return true; - default: - return false; - } + return this.protocol === Protocols.VLESS; } return false; } - canSetTls() { - return this.canEnableTls(); - } - canEnableXtls() { - switch (this.protocol) { - case Protocols.VLESS: - case Protocols.TROJAN: - break; - default: - return false; - } + if(![Protocols.VLESS, Protocols.TROJAN].includes(this.protocol)) return false; return this.network === "tcp"; } canEnableStream() { - switch (this.protocol) { - case Protocols.VMESS: - case Protocols.VLESS: - case Protocols.TROJAN: - case Protocols.SHADOWSOCKS: - return true; - default: - return false; - } + return [Protocols.VMESS, Protocols.VLESS, Protocols.TROJAN, Protocols.SHADOWSOCKS].includes(this.protocol); } canSniffing() { - switch (this.protocol) { - case Protocols.VMESS: - case Protocols.VLESS: - case Protocols.TROJAN: - case Protocols.SHADOWSOCKS: - return true; - default: - return false; - } + return [Protocols.VMESS, Protocols.VLESS, Protocols.TROJAN, Protocols.SHADOWSOCKS].includes(this.protocol); } reset() { @@ -1691,7 +1622,7 @@ class Inbound extends XrayCommonClass { toJson() { let streamSettings; - if (this.canEnableStream() || this.protocol === Protocols.TROJAN) { + if (this.canEnableStream()) { streamSettings = this.stream.toJson(); } return { diff --git a/web/html/xui/form/tls_settings.html b/web/html/xui/form/tls_settings.html index 493aef75..eb201862 100644 --- a/web/html/xui/form/tls_settings.html +++ b/web/html/xui/form/tls_settings.html @@ -1,34 +1,24 @@ {{define "form/tlsSettings"}} - + - - - - - - - Reality - - - - - - - - - - XTLS + + + {{ i18n "none" }} + TLS - + XTLS - - + + + Reality + + diff --git a/web/html/xui/inbound_modal.html b/web/html/xui/inbound_modal.html index 99cb05fe..df42225c 100644 --- a/web/html/xui/inbound_modal.html +++ b/web/html/xui/inbound_modal.html @@ -93,7 +93,7 @@ }, methods: { streamNetworkChange() { - if (!inModal.inbound.canSetTls()) { + if (!inModal.inbound.canEnableTls()) { this.inModal.inbound.stream.security = 'none'; } if (!inModal.inbound.canEnableReality()) {