Stresstest Script

This commit is contained in:
TimSchweiz 2021-12-09 17:35:51 +01:00
parent 99bec56ec2
commit 2338495268
9 changed files with 141 additions and 0 deletions

3
api/scripts/stresstest/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/node_modules
config.json
accounts.json

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
{
"url": "",
"text-channel": "",
"invite": ""
}

View File

@ -0,0 +1,38 @@
const register = require("./src/register");
const login = require("./src/login/index");
const config = require("./config.json");
const figlet = require("figlet");
const sendMessage = require("./src/message/send");
const fs = require("fs");
figlet("Fosscord Stress Test :)", function (err, data) {
if (err) {
console.log("Something went wrong...");
console.dir(err);
return;
}
console.log("\x1b[32m", data);
});
setInterval(() => {
generate();
}, 1000 * 5);
setInterval(() => {
getUsers();
}, 60 * 1000);
async function generate() {
var accounts = await JSON.parse(fs.readFileSync("accounts.json"));
console.log(accounts);
var account = await register();
accounts.push(account);
fs.writeFileSync("accounts.json", JSON.stringify(accounts));
console.log(accounts.length);
var y = await login(account);
sendMessage(y);
}
async function getUsers() {
var accounts = await JSON.parse(fs.readFileSync("accounts.json"));
accounts.forEach(async (x) => {
var y = await login(x);
console.log(y);
sendMessage(y);
});
}

BIN
api/scripts/stresstest/package-lock.json generated Normal file

Binary file not shown.

View File

@ -0,0 +1,17 @@
{
"name": "stresstest",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ."
},
"author": "",
"license": "ISC",
"dependencies": {
"figlet": "^1.5.2",
"node-fetch": "^2.6.6",
"request": "^2.88.2"
}
}

View File

@ -0,0 +1,20 @@
const fetch = require("node-fetch");
const fs = require("fs");
var config = require("./../../config.json");
module.exports = login;
async function login(account) {
var body = {
fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
login: account.email,
password: account.password
};
var x = await fetch(config.url + "/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body)
});
console.log(x);
x = await x.json();
console.log(x);
return x;
}

View File

@ -0,0 +1,23 @@
const fetch = require("node-fetch");
const fs = require("fs");
var config = require("./../../config.json");
module.exports = sendMessage;
async function sendMessage(account) {
var body = {
fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
content: "Test",
tts: false
};
var x = await fetch(config.url + "/channels/" + config["text-channel"] + "/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: account.token
},
body: JSON.stringify(body)
});
console.log(x);
x = await x.json();
console.log(x);
return x;
}

View File

@ -0,0 +1,34 @@
const fetch = require("node-fetch");
const fs = require("fs");
var config = require("./../../config.json");
module.exports = generate;
async function generate() {
var mail = (Math.random() + 10).toString(36).substring(2);
mail = mail + "." + (Math.random() + 10).toString(36).substring(2) + "@stresstest.com";
var password =
(Math.random() * 69).toString(36).substring(-7) +
(Math.random() * 69).toString(36).substring(-7) +
(Math.random() * 69).toString(36).substring(-8);
console.log(mail);
console.log(password);
var body = {
fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw",
email: mail,
username: "Fosscord Stress Test",
password: password,
invite: config.invite,
consent: true,
date_of_birth: "2000-04-04",
gift_code_sku_id: null,
captcha_key: null
};
var x = await fetch(config.url + "/auth/register", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body)
});
console.log(x);
x = await x.json();
console.log(x);
return { email: mail, password: password };
}