diff --git a/sub/subService.go b/sub/subService.go index 9ea634aa..d9698729 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -429,6 +429,11 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { params["fp"] = fp } } + if pqvValue, ok := searchKey(realitySettings, "mldsa65Verify"); ok { + if pqv, ok := pqvValue.(string); ok && len(pqv) > 0 { + params["pqv"] = pqv + } + } params["spx"] = "/" + random.Seq(15) } @@ -619,6 +624,11 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string params["fp"] = fp } } + if pqvValue, ok := searchKey(realitySettings, "mldsa65Verify"); ok { + if pqv, ok := pqvValue.(string); ok && len(pqv) > 0 { + params["pqv"] = pqv + } + } params["spx"] = "/" + random.Seq(15) } } diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js index 14570eb1..9e4d8e2d 100644 --- a/web/assets/js/model/inbound.js +++ b/web/assets/js/model/inbound.js @@ -1385,6 +1385,9 @@ class Inbound extends XrayCommonClass { if (!ObjectUtil.isEmpty(this.stream.reality.settings.spiderX)) { params.set("spx", this.stream.reality.settings.spiderX); } + if (!ObjectUtil.isEmpty(this.stream.reality.settings.mldsa65Verify)) { + params.set("pqv", this.stream.reality.settings.mldsa65Verify); + } if (type == 'tcp' && !ObjectUtil.isEmpty(flow)) { params.set("flow", flow); } @@ -1565,6 +1568,9 @@ class Inbound extends XrayCommonClass { if (!ObjectUtil.isEmpty(this.stream.reality.settings.spiderX)) { params.set("spx", this.stream.reality.settings.spiderX); } + if (!ObjectUtil.isEmpty(this.stream.reality.settings.mldsa65Verify)) { + params.set("pqv", this.stream.reality.settings.mldsa65Verify); + } } else {