fix(outbound): default VLESS encryption to "none"

A blank encryption field caused Xray to reject the outbound config with
'VLESS users: please add/set "encryption":"none"'. Default the
constructor parameter, coerce empty values, and final-guard toJson so
every code path emits a valid encryption value.
This commit is contained in:
MHSanaei 2026-05-10 23:06:28 +02:00
parent 30469fcd10
commit 737300b14b
No known key found for this signature in database
GPG key ID: 7E4060F2FBE5AB7A

View file

@ -1926,13 +1926,13 @@ Outbound.VmessSettings = class extends CommonClass {
} }
}; };
Outbound.VLESSSettings = class extends CommonClass { Outbound.VLESSSettings = class extends CommonClass {
constructor(address, port, id, flow, encryption, reverseTag = '', reverseSniffing = new ReverseSniffing(), testpre = 0, testseed = []) { constructor(address, port, id, flow, encryption = 'none', reverseTag = '', reverseSniffing = new ReverseSniffing(), testpre = 0, testseed = []) {
super(); super();
this.address = address; this.address = address;
this.port = port; this.port = port;
this.id = id; this.id = id;
this.flow = flow; this.flow = flow;
this.encryption = encryption; this.encryption = encryption || 'none';
this.reverseTag = reverseTag; this.reverseTag = reverseTag;
this.reverseSniffing = reverseSniffing; this.reverseSniffing = reverseSniffing;
this.testpre = testpre; this.testpre = testpre;
@ -1966,7 +1966,7 @@ Outbound.VLESSSettings = class extends CommonClass {
port: this.port, port: this.port,
id: this.id, id: this.id,
flow: this.flow, flow: this.flow,
encryption: this.encryption, encryption: this.encryption || 'none',
}; };
if (!ObjectUtil.isEmpty(this.reverseTag)) { if (!ObjectUtil.isEmpty(this.reverseTag)) {
const reverseSniffing = this.reverseSniffing ? this.reverseSniffing.toJson() : {}; const reverseSniffing = this.reverseSniffing ? this.reverseSniffing.toJson() : {};