From a811225610e27710b62b7a9b9cb43e448ee3130f Mon Sep 17 00:00:00 2001 From: "Shishkevich D." <135337715+shishkevichd@users.noreply.github.com> Date: Mon, 10 Mar 2025 22:09:51 +0700 Subject: [PATCH] fix: protocol checking during random uuidv4 generation fixes the https://github.com/MHSanaei/3x-ui/issues/2750 issue --- web/assets/js/util/index.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/web/assets/js/util/index.js b/web/assets/js/util/index.js index 44af6630..85d53352 100644 --- a/web/assets/js/util/index.js +++ b/web/assets/js/util/index.js @@ -124,7 +124,18 @@ class RandomUtil { } static randomUUID() { - return window.crypto.randomUUID(); + if (window.location.protocol === "https:") { + return window.crypto.randomUUID(); + } else { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' + .replace(/[xy]/g, function (c) { + const randomValues = new Uint8Array(1); + window.crypto.getRandomValues(randomValues); + let randomValue = randomValues[0] % 16; + let calculatedValue = (c === 'x') ? randomValue : (randomValue & 0x3 | 0x8); + return calculatedValue.toString(16); + }); + } } static randomShadowsocksPassword() {