Compare commits

...

4 commits

Author SHA1 Message Date
mhsanaei
73a5722cca
v2.6.3
Some checks are pending
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
2025-08-03 12:22:28 +02:00
mhsanaei
30264043f8
Xray core: old version removed 2025-08-03 12:22:06 +02:00
mhsanaei
c6062eb15c
outbound: mldsa65Verify 2025-08-03 12:09:37 +02:00
mhsanaei
f1b7944828
pqv: mldsa65Verify 2025-08-03 12:01:49 +02:00
5 changed files with 16 additions and 6 deletions

View file

@ -1 +1 @@
2.6.2 2.6.3

View file

@ -725,8 +725,8 @@ class RealityStreamSettings extends XrayCommonClass {
constructor( constructor(
show = false, show = false,
xver = 0, xver = 0,
dest = 'yahoo.com:443', dest = 'google.com:443',
serverNames = 'yahoo.com,www.yahoo.com', serverNames = 'google.com,www.google.com',
privateKey = '', privateKey = '',
minClientVer = '', minClientVer = '',
maxClientVer = '', maxClientVer = '',
@ -1385,6 +1385,7 @@ class Inbound extends XrayCommonClass {
params.set("security", "reality"); params.set("security", "reality");
params.set("pbk", this.stream.reality.settings.publicKey); params.set("pbk", this.stream.reality.settings.publicKey);
params.set("fp", this.stream.reality.settings.fingerprint); params.set("fp", this.stream.reality.settings.fingerprint);
params.set("pqv", this.stream.reality.settings.mldsa65Verify);
if (!ObjectUtil.isArrEmpty(this.stream.reality.serverNames)) { if (!ObjectUtil.isArrEmpty(this.stream.reality.serverNames)) {
params.set("sni", this.stream.reality.serverNames.split(",")[0]); params.set("sni", this.stream.reality.serverNames.split(",")[0]);
} }
@ -1559,6 +1560,7 @@ class Inbound extends XrayCommonClass {
params.set("security", "reality"); params.set("security", "reality");
params.set("pbk", this.stream.reality.settings.publicKey); params.set("pbk", this.stream.reality.settings.publicKey);
params.set("fp", this.stream.reality.settings.fingerprint); params.set("fp", this.stream.reality.settings.fingerprint);
params.set("pqv", this.stream.reality.settings.mldsa65Verify);
if (!ObjectUtil.isArrEmpty(this.stream.reality.serverNames)) { if (!ObjectUtil.isArrEmpty(this.stream.reality.serverNames)) {
params.set("sni", this.stream.reality.serverNames.split(",")[0]); params.set("sni", this.stream.reality.serverNames.split(",")[0]);
} }

View file

@ -388,7 +388,8 @@ class RealityStreamSettings extends CommonClass {
fingerprint = '', fingerprint = '',
serverName = '', serverName = '',
shortId = '', shortId = '',
spiderX = '/' spiderX = '',
mldsa65Verify = ''
) { ) {
super(); super();
this.publicKey = publicKey; this.publicKey = publicKey;
@ -396,6 +397,7 @@ class RealityStreamSettings extends CommonClass {
this.serverName = serverName; this.serverName = serverName;
this.shortId = shortId this.shortId = shortId
this.spiderX = spiderX; this.spiderX = spiderX;
this.mldsa65Verify = mldsa65Verify;
} }
static fromJson(json = {}) { static fromJson(json = {}) {
return new RealityStreamSettings( return new RealityStreamSettings(
@ -404,6 +406,7 @@ class RealityStreamSettings extends CommonClass {
json.serverName, json.serverName,
json.shortId, json.shortId,
json.spiderX, json.spiderX,
json.mldsa65Verify
); );
} }
toJson() { toJson() {
@ -413,6 +416,7 @@ class RealityStreamSettings extends CommonClass {
serverName: this.serverName, serverName: this.serverName,
shortId: this.shortId, shortId: this.shortId,
spiderX: this.spiderX, spiderX: this.spiderX,
mldsa65Verify: this.mldsa65Verify
}; };
} }
}; };
@ -787,7 +791,8 @@ class Outbound extends CommonClass {
let sni = url.searchParams.get('sni') ?? ''; let sni = url.searchParams.get('sni') ?? '';
let sid = url.searchParams.get('sid') ?? ''; let sid = url.searchParams.get('sid') ?? '';
let spx = url.searchParams.get('spx') ?? ''; let spx = url.searchParams.get('spx') ?? '';
stream.reality = new RealityStreamSettings(pbk, fp, sni, sid, spx); let pqv = url.searchParams.get('pqv') ?? '';
stream.reality = new RealityStreamSettings(pbk, fp, sni, sid, spx, pqv);
} }
const regex = /([^@]+):\/\/([^@]+)@(.+):(\d+)(.*)$/; const regex = /([^@]+):\/\/([^@]+)@(.+):(\d+)(.*)$/;

View file

@ -452,6 +452,9 @@
<a-form-item label="Public Key"> <a-form-item label="Public Key">
<a-input v-model.trim="outbound.stream.reality.publicKey"></a-input> <a-input v-model.trim="outbound.stream.reality.publicKey"></a-input>
</a-form-item> </a-form-item>
<a-form-item label="mldsa65 Verify">
<a-input v-model.trim="outbound.stream.reality.mldsa65Verify"></a-input>
</a-form-item>
</template> </template>
</template> </template>

View file

@ -329,7 +329,7 @@ func (s *ServerService) GetXrayVersions() ([]string, error) {
continue continue
} }
if major > 25 || (major == 25 && minor > 6) || (major == 25 && minor == 6 && patch >= 8) { if major > 25 || (major == 25 && minor > 7) || (major == 25 && minor == 7 && patch >= 26) {
versions = append(versions, release.TagName) versions = append(versions, release.TagName)
} }
} }