Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlireza Ahmadi <alireza7@gmail.com>2023-12-08 18:46:44 +0300
committerAlireza Ahmadi <alireza7@gmail.com>2023-12-08 18:46:44 +0300
commit549f230221d7139270efefd76ac81f37e1a747f9 (patch)
treea685e494fc145d8b46b6fb9e6bc2fbe36291d9f5 /web/assets/js
parent4ee986aa718aecaad45c9eda03ff57aea0f535cf (diff)
optimize security in front codes #1300
Diffstat (limited to 'web/assets/js')
-rw-r--r--web/assets/js/model/xray.js89
1 files changed, 10 insertions, 79 deletions
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 {