fix: generating shortIds for vless reality (#2745)

This commit is contained in:
Shishkevich D. 2025-03-09 19:37:53 +07:00 committed by GitHub
parent c35179d924
commit ad13ce6cde
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -81,11 +81,20 @@ class PromiseUtil {
}
class RandomUtil {
static getSeq({ hasNumbers = true, hasLowercase = true, hasUppercase = true } = {}) {
static getSeq({ type = "default", hasNumbers = true, hasLowercase = true, hasUppercase = true } = {}) {
let seq = '';
if (hasNumbers) seq += "0123456789";
if (hasLowercase) seq += "abcdefghijklmnopqrstuvwxyz";
if (hasUppercase) seq += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
switch (type) {
case "hex":
seq += "0123456789abcdef";
break;
default:
if (hasNumbers) seq += "0123456789";
if (hasLowercase) seq += "abcdefghijklmnopqrstuvwxyz";
if (hasUppercase) seq += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
break;
}
return seq;
}
@ -107,7 +116,7 @@ class RandomUtil {
static randomShortIds() {
const lengths = [2, 4, 6, 8, 10, 12, 14, 16].sort(() => Math.random() - 0.5);
return lengths.map(len => this.randomSeq(len)).join(',');
return lengths.map(len => this.randomSeq(len, { type: "hex" })).join(',');
}
static randomLowerAndNum(len) {