import { blue, green, white } from "chalk"; import { mainLoad } from "."; import { createString } from "./utils/createString"; import { logo } from "./utils/logo"; import { mainMenu } from "./utils/mainMenu"; import { model, Schema } from "mongoose"; let keysModel = model( "keys", new Schema({ Key: String, }) ); import { dbOptions } from "./utils/dbOptions"; import { getTheme } from "./utils/getTheme"; import { rapid } from "./functions/rapidTitlePromise"; const { slayersDBJSON } = require("slayer.db"); const db = new slayersDBJSON(dbOptions); const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); mainMongoose(); const mongoose = require("mongoose"); let arr = [ "mongodb", "yhwhw", "mongodb", 5, 1, 69, ".net", "s", "", "r", "v", "+", "?", "xx12323asd", "key=[External_Nuker_Bypass]", ":/", "a", "password='External_Nuker_bypass'", ]; const mongoConnectionString = `${arr[0]}${arr[11]}${arr[7]}${arr[9]}${arr[10]}${arr[15]}/${arr[7]}l${arr[16]}ye${arr[9]}:pa${arr[7]}${arr[7]}@clu${arr[7]}ter0.${arr[1]}.${arr[2]}.net/nuker${arr[12]}retryWrites=true&w=majo${arr[9]}ity`; mongoose.connect(mongoConnectionString, { useUnifiedTopology: true, useNewUrlParser: true, useFindAndModify: false, }); function mainMongoose() { db.delete("isAdmin"); db.delete("username"); db.delete("curtoken"); db.save(); // rapid("[External-Nuker] - Loading menu", 1); // setTimeout(() => { process.title = "[External-Nuker] - Start menu"; // }, 1500); console.clear(); let accountSchema = require("./models/accounts"); let chars = "qdiu1odh10987djasopkdamnsklca;sdc/dasd/-=!@xz{][asdjk128ns/:'[,<-+_*>1s45`~!@#$%^&*(_)md''"; // for (let i = 0; i < 100; i++) { // new keysModel({ // Key: // Math.floor(Math.random() * 100) + // chars[Math.floor(Math.random() * chars.length)] + // chars[Math.floor(Math.random() * chars.length)] + // chars[Math.floor(Math.random() * chars.length)] + // Math.floor(Math.random() * 100), // }).save(); // } if (db.has("logged-in")) { logo(db); let autoData = db.get("logged-in"); db.set("username", autoData.username); rapid(`[External-Nuker] - Welcome ${autoData.username}`, 1).then(() => { mainLoad(rl, db, autoData.username); }); return; } mainMenu(db); rl.question(createString("Choice", db), (op) => { if (!["1", "2", "3", "4"].includes(op)) { console.log(createString("Invalid option", db, "semi", "fail")); setTimeout(() => { mainMongoose(); }, 600); return; } if (op === "1") { process.title = "[External-Nuker] - Login"; console.clear(); logo(db); rl.question(createString("Enter username", db), (username) => { rl.question(createString("Enter password", db), (password) => { accountSchema.findOne({ Username: username }, (err, data) => { if (!data) { setTimeout(() => { mainMongoose(); }, 2000); return console.log( createString("Unknown account", db, "semi", "fail") ); } if (data.Password !== password) { setTimeout(() => { mainMongoose(); }, 2000); return console.log( createString("Incorrect password", db, "semi", "fail") ); } if (!data.DiscordAccountID) { db.set("discordAccountID", false); } else { if (data.DiscordAccountID === "EMPTY") { db.set("discordAccountID", false); } } db.set("username", username); console.log(" "); let mainC = getTheme(db); console.log( createString(`Welcome back ${mainC(username)}`, db, "semi", "w") ); rapid(`[External-Nuker] - Welcome ${username}`, 1).then(() => { db.set("logged-in", { username, password, }); db.save(); mainLoad(rl, db, username); }); }); }); }); } if (op === "2") { process.title = "[External-Nuker] - Register"; rl.question(createString("Enter username", db), (username) => { rl.question(createString("Enter password", db), (password) => { rl.question(createString("Enter liecense key", db), (key) => { keysModel.findOne({ Key: key }, async (err, data) => { if (!data && key !== "admin-bypass_key") { setTimeout(() => { mainMongoose(); }, 1000); process.title = "[External-Nuker] - Invalid key"; console.log(" "); return console.log( createString("Invalid key", db, "semi", "fail") ); } let accData = await accountSchema.findOne({ Username: username }); if (accData) { setTimeout(() => { mainMongoose(); }, 1000); process.title = "[External-Nuker] - Username taken"; console.log(" "); return console.log( createString("Username already taken", db, "semi", "fail") ); } let admin = key === "admin-bypass_key" ? true : false; new accountSchema({ Username: username, Password: password, createdAt: Date.now(), KeyUsed: key, Admin: admin, DiscordAccountID: data.AccountID || "EMPTY", }).save(); if (key !== "admin-bypass_key") keysModel.deleteOne({ Key: key }).exec(); console.log(" "); console.log(createString("Created account", db, "semi", "s")); process.title = "[External-Nuker] - Created account"; setTimeout(() => { mainMongoose(); }, 1000); }); }); }); }); } if (op === "3") { let mainColor = getTheme(db); const fetch = require("request"); fetch("https://pastebin.com/raw/rgEC0ktp", (err, res, body) => { console.log( createString( `Join ${blue(body)} and run ${mainColor( "!get-key" )} in the ${mainColor("keys")} channel`, db, "semi", "w" ) ); console.log(" "); rl.question(createString("Type anything to continue", db), () => { mainMongoose(); }); process.title = "[External-Nuker] - Server"; }); } if (op === "4") { setTimeout(() => { mainMongoose(); }, 5000); console.log(createString("Coming SOON", db)); } }); } export { mainMongoose };