Lightcord/BetterDiscordApp/src/modules/DiscordCrypt.js

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")))
}