68 lines
3.4 KiB
JavaScript
68 lines
3.4 KiB
JavaScript
/**
|
|
* Based on DiscordCrypt https://github.com/leogx9r/DiscordCrypt
|
|
*/
|
|
|
|
import { readFileSync } from "fs"
|
|
import { join } from "path"
|
|
import Utils from "./utils"
|
|
|
|
|
|
let searchModule = BDModules.get(e => e.search)[0]
|
|
export default new class DiscordCrypt {
|
|
constructor(){
|
|
if(!searchModule)searchModule = BDModules.get(e => e.search)[0]
|
|
this.searchUiClass = Utils.removeDa(`.${searchModule.search} .${searchModule.searchBar}`)
|
|
}
|
|
}
|
|
|
|
const Constants = {
|
|
ENCODED_MESSAGE_HEADER: "⢷⢸⢹⢺",
|
|
ENCODED_KEY_HEADER: "⢻⢼⢽⢾",
|
|
ENCRYPT_PARAMETER: Buffer.from('DiscordCrypt KEY GENERATION PARAMETER'),
|
|
AUTH_TAG_PARAMETER: new Uint8Array(Buffer.from('discordCrypt MAC')),
|
|
PRIMARY_KEY_PARAMETER: new Uint8Array(Buffer.from('discordCrypt-primary-secret')),
|
|
SECONDARY_KEY_PARAMETER: new Uint8Array(Buffer.from('discordCrypt-secondary-secret')),
|
|
KEY_IGNORE_TIMEOUT: 60 * 1000,
|
|
KEY_DELETE_TIMEOUT: 5,
|
|
ENCRYPT_MODES: [
|
|
/* Blowfish(Blowfish, AES, Camellia, IDEA, TripleDES) */
|
|
0, 1, 2, 3, 4,
|
|
/* AES(Blowfish, AES, Camellia, IDEA, TripleDES) */
|
|
5, 6, 7, 8, 9,
|
|
/* Camellia(Blowfish, AES, Camellia, IDEA, TripleDES) */
|
|
10, 11, 12, 13, 14,
|
|
/* IDEA(Blowfish, AES, Camellia, IDEA, TripleDES) */
|
|
15, 16, 17, 18, 19,
|
|
/* TripleDES(Blowfish, AES, Camellia, IDEA, TripleDES) */
|
|
20, 21, 22, 23, 24
|
|
],
|
|
ENCRYPT_BLOCK_MODES: [
|
|
'CBC', /* Cipher Block-Chaining */
|
|
'CFB', /* Cipher Feedback Mode */
|
|
'OFB', /* Output Feedback Mode */
|
|
],
|
|
PADDING_SCHEMES: [
|
|
'PKC7', /* PKCS #7 */
|
|
'ANS2', /* ANSI X.923 */
|
|
'ISO1', /* ISO-10126 */
|
|
'ISO9', /* ISO-97972 */
|
|
],
|
|
UP1_FILE_HOST: 'https://pastebin.synalabs.hosting',
|
|
UP1_FILE_HOST_API_KEY: '4034a170b4517897238b58ecbe902dee187bf890',
|
|
ED25519_SIGNING_KEY: 'GTs+VoJSQC6e0GDTVRcskIVBhdqphUwqwrxqp64gXEQ=',
|
|
UNLOCK_ICON: "PHN2ZyBjbGFzcz0iZGMtc3ZnIiBmaWxsPSJsaWdodGdyZXkiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwI" +
|
|
"DI0IDI0IiB3aWR0aD0iMjBweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIgMTdjMS4xI" +
|
|
"DAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem02LTloLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgN" +
|
|
"yA2aDEuOWMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMSAxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXYySDZjLTEuMSAwLTIgLjktMiAyd" +
|
|
"jEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6bTAgMTJINlYxMGgxMnYxMHoiPjwvc" +
|
|
"GF0aD48L3N2Zz4=",
|
|
LOCK_ICON: "PHN2ZyBjbGFzcz0iZGMtc3ZnIiBmaWxsPSJsaWdodGdyZXkiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDI" +
|
|
"0IDI0IiB3aWR0aD0iMjBweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48cGF0aCBkPSJNMCAwaDI" +
|
|
"0djI0SDBWMHoiIGlkPSJhIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSBvdmVyZmxvdz0idmlzaWJsZSIgeGxpbms6aHJ" +
|
|
"lZj0iI2EiLz48L2NsaXBQYXRoPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTEyIDE3YzEuMSAwIDItLjkgMi0ycy0uOS0" +
|
|
"yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptNi05aC0xVjZjMC0yLjc2LTIuMjQtNS01LTVTNyAzLjI0IDcgNnYySDZjLTEuMSAwLTI" +
|
|
"gLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6TTguOSA2YzAtMS43MSA" +
|
|
"xLjM5LTMuMSAzLjEtMy4xczMuMSAxLjM5IDMuMSAzLjF2Mkg4LjlWNnpNMTggMjBINlYxMGgxMnYxMHoiLz48L3N2Zz4=",
|
|
DICEWARE_WORD_LIST: readFileSync(join(__dirname, "..", "assets", "diceware.list"), "utf8").split( '\r' ).join( '' ).split( '\n' ),
|
|
BLACKLISTED_GUILDS: JSON.parse(readFileSync(join(__dirname, "..", "assets", "blacklist.json")))
|
|
} |