Merge pull request #115 from xeefei/3x-ui

3X UI
This commit is contained in:
心隨緣動 2025-08-03 19:00:27 +08:00 committed by GitHub
commit 1edb182bc9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 14 additions and 4 deletions

View File

@ -1 +1 @@
2.6.2 2.6.3

View File

@ -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)
} }
} }