fix: protocol checking during random uuidv4 generation

fixes the https://github.com/MHSanaei/3x-ui/issues/2750 issue
This commit is contained in:
Shishkevich D. 2025-03-10 22:09:51 +07:00 committed by GitHub
parent 1893c3814d
commit a811225610
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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() {