diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js index 80f2ac15..93bccc31 100644 --- a/web/assets/js/model/xray.js +++ b/web/assets/js/model/xray.js @@ -914,18 +914,20 @@ class RealityStreamSettings extends XrayCommonClass { minClient = '', maxClient = '', maxTimediff = 0, - shortIds = RandomUtil.randomShortId(), + shortIds = RandomUtil.randomShortIds(), settings = new RealityStreamSettings.Settings() ) { super(); this.show = show; this.xver = xver; this.dest = dest; + /** @type {string} */ this.serverNames = Array.isArray(serverNames) ? serverNames.join(",") : serverNames; this.privateKey = privateKey; this.minClient = minClient; this.maxClient = maxClient; this.maxTimediff = maxTimediff; + /** @type {string} */ this.shortIds = Array.isArray(shortIds) ? shortIds.join(",") : shortIds; this.settings = settings; } diff --git a/web/assets/js/util/utils.js b/web/assets/js/util/utils.js index f726e72e..46d1053a 100644 --- a/web/assets/js/util/utils.js +++ b/web/assets/js/util/utils.js @@ -99,13 +99,15 @@ class RandomUtil { return str; } - static randomShortId() { + /** @return {string} */ + static randomShortIds() { const lengths = [2, 4, 6, 8, 10, 12, 14, 16]; for (let i = lengths.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [lengths[i], lengths[j]] = [lengths[j], lengths[i]]; } + /** @type {string[]} */ let shortIds = []; for (let length of lengths) { let shortId = ''; @@ -114,7 +116,7 @@ class RandomUtil { } shortIds.push(shortId); } - return shortIds; + return shortIds.join(','); } static randomLowerAndNum(len) { diff --git a/web/html/xui/form/tls_settings.html b/web/html/xui/form/tls_settings.html index d6b0dd18..f743ea7b 100644 --- a/web/html/xui/form/tls_settings.html +++ b/web/html/xui/form/tls_settings.html @@ -189,7 +189,7 @@ Short ID + Short IDs