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:
Diffstat (limited to 'web/assets')
-rw-r--r--web/assets/js/model/inbound.js45
-rw-r--r--web/assets/js/model/outbound.js8
2 files changed, 39 insertions, 14 deletions
diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js
index c91dbd11..1fc8ea19 100644
--- a/web/assets/js/model/inbound.js
+++ b/web/assets/js/model/inbound.js
@@ -1301,6 +1301,7 @@ class Inbound extends XrayCommonClass {
const security = forceTls == 'same' ? this.stream.security : forceTls;
const params = new Map();
params.set("type", this.stream.network);
+ params.set("encryption", this.settings.encryption);
switch (type) {
case "tcp":
const tcp = this.stream.tcp;
@@ -1859,13 +1860,16 @@ Inbound.VLESSSettings = class extends Inbound.Settings {
constructor(
protocol,
vlesses = [new Inbound.VLESSSettings.VLESS()],
- decryption = 'none',
- fallbacks = []
+ decryption = "none",
+ encryption = "",
+ fallbacks = [],
) {
super(protocol);
this.vlesses = vlesses;
this.decryption = decryption;
+ this.encryption = encryption;
this.fallbacks = fallbacks;
+ this.selectedAuth = "X25519, not Post-Quantum";
}
addFallback() {
@@ -1876,22 +1880,43 @@ Inbound.VLESSSettings = class extends Inbound.Settings {
this.fallbacks.splice(index, 1);
}
- // decryption should be set to static value
static fromJson(json = {}) {
- return new Inbound.VLESSSettings(
+ const obj = new Inbound.VLESSSettings(
Protocols.VLESS,
- json.clients.map(client => Inbound.VLESSSettings.VLESS.fromJson(client)),
- json.decryption || 'none',
- Inbound.VLESSSettings.Fallback.fromJson(json.fallbacks),);
+ (json.clients || []).map(client => Inbound.VLESSSettings.VLESS.fromJson(client)),
+ json.decryption,
+ json.encryption,
+ Inbound.VLESSSettings.Fallback.fromJson(json.fallbacks || [])
+ );
+ obj.selectedAuth = json.selectedAuth || "X25519, not Post-Quantum";
+ return obj;
}
+
toJson() {
- return {
+ const json = {
clients: Inbound.VLESSSettings.toJsonArray(this.vlesses),
- decryption: this.decryption,
- fallbacks: Inbound.VLESSSettings.toJsonArray(this.fallbacks),
};
+
+ if (this.decryption) {
+ json.decryption = this.decryption;
+ }
+
+ if (this.encryption) {
+ json.encryption = this.encryption;
+ }
+
+ if (this.fallbacks && this.fallbacks.length > 0) {
+ json.fallbacks = Inbound.VLESSSettings.toJsonArray(this.fallbacks);
+ }
+ if (this.selectedAuth) {
+ json.selectedAuth = this.selectedAuth;
+ }
+
+ return json;
}
+
+
};
Inbound.VLESSSettings.VLESS = class extends XrayCommonClass {
diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js
index ee78795f..2d5660fb 100644
--- a/web/assets/js/model/outbound.js
+++ b/web/assets/js/model/outbound.js
@@ -813,7 +813,7 @@ class Outbound extends CommonClass {
var settings;
switch (protocol) {
case Protocols.VLESS:
- settings = new Outbound.VLESSSettings(address, port, userData, url.searchParams.get('flow') ?? '');
+ settings = new Outbound.VLESSSettings(address, port, userData, url.searchParams.get('flow') ?? '', url.searchParams.get('encryption') ?? 'none');
break;
case Protocols.Trojan:
settings = new Outbound.TrojanSettings(address, port, userData);
@@ -1046,13 +1046,13 @@ Outbound.VmessSettings = class extends CommonClass {
}
};
Outbound.VLESSSettings = class extends CommonClass {
- constructor(address, port, id, flow, encryption = 'none') {
+ constructor(address, port, id, flow, encryption) {
super();
this.address = address;
this.port = port;
this.id = id;
this.flow = flow;
- this.encryption = encryption
+ this.encryption = encryption;
}
static fromJson(json = {}) {
@@ -1071,7 +1071,7 @@ Outbound.VLESSSettings = class extends CommonClass {
vnext: [{
address: this.address,
port: this.port,
- users: [{ id: this.id, flow: this.flow, encryption: 'none', }],
+ users: [{ id: this.id, flow: this.flow, encryption: this.encryption }],
}],
};
}