46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
//All uppercase and [0,I,O] removed
|
|
const actionIdAlphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZ';
|
|
|
|
const regexDiscordSnowflake = /^\d{17,20}$/;
|
|
|
|
export default {
|
|
//Identifier stuff
|
|
regexValidHwidToken: /^[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{64}$/,
|
|
validIdentifiers: {
|
|
// https://github.com/discordjs/discord.js/pull/9144
|
|
// validated in txtracker dataset
|
|
discord: /^discord:\d{17,20}$/,
|
|
fivem: /^fivem:\d{1,8}$/,
|
|
license: /^license:[0-9A-Fa-f]{40}$/,
|
|
license2: /^license2:[0-9A-Fa-f]{40}$/,
|
|
live: /^live:\d{14,20}$/,
|
|
steam: /^steam:1100001[0-9A-Fa-f]{8}$/,
|
|
xbl: /^xbl:\d{14,20}$/,
|
|
},
|
|
validIdentifierParts: {
|
|
discord: regexDiscordSnowflake,
|
|
fivem: /^\d{1,8}$/,
|
|
license: /^[0-9A-Fa-f]{40}$/,
|
|
license2: /^[0-9A-Fa-f]{40}$/,
|
|
live: /^\d{14,20}$/,
|
|
steam: /^1100001[0-9A-Fa-f]{8}$/,
|
|
xbl: /^\d{14,20}$/,
|
|
},
|
|
|
|
// Database stuff
|
|
adminPasswordMinLength: 6,
|
|
adminPasswordMaxLength: 128,
|
|
regexValidFivemUsername: /^\w[\w.-]{1,18}\w$/, //also cant have repeated non-alphanum chars
|
|
regexActionID: new RegExp(`^[${actionIdAlphabet}]{4}-[${actionIdAlphabet}]{4}$`),
|
|
regexWhitelistReqID: new RegExp(`R[${actionIdAlphabet}]{4}`),
|
|
|
|
//Other stuff
|
|
regexDiscordSnowflake,
|
|
regexSvLicenseOld: /^\w{32}$/,
|
|
regexSvLicenseNew: /^cfxk_\w{1,60}_\w{1,20}$/,
|
|
regexValidIP: /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,
|
|
actionIdAlphabet,
|
|
nuiWebpipePath: 'https://monitor/WebPipe/',
|
|
regexCustomThemeName: /^[a-z0-9]+(-[a-z0-9]+)*$/
|
|
} as const;
|