mirror of
https://github.com/spacebarchat/server.git
synced 2026-10-27 05:52:50 +00:00
scripts n shit
This commit is contained in:
13 files changed
+53
-328
No files matched your search
@@ -1,82 +0,0 @@
|
||||
/*
|
||||
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
|
||||
Copyright (C) 2023 Spacebar and Spacebar Contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
require("dotenv").config();
|
||||
const cluster = require("cluster");
|
||||
const WebSocket = require("ws");
|
||||
const endpoint = process.env.GATEWAY || "ws://localhost:3001";
|
||||
const connections = Number(process.env.CONNECTIONS) || 50;
|
||||
const token = process.env.TOKEN;
|
||||
var cores = 1;
|
||||
try {
|
||||
cores = Number(process.env.THREADS) || os.cpus().length;
|
||||
} catch {
|
||||
console.log("[Bundle] Failed to get thread count! Using 1...");
|
||||
}
|
||||
|
||||
if (!token) {
|
||||
console.error("TOKEN env var missing");
|
||||
process.exit();
|
||||
}
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (let i = 0; i < cores; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
cluster.on("exit", (worker, code, signal) => {
|
||||
console.log(`worker ${worker.process.pid} died`);
|
||||
});
|
||||
} else {
|
||||
for (let i = 0; i < connections; i++) {
|
||||
connect();
|
||||
}
|
||||
}
|
||||
|
||||
function connect() {
|
||||
const client = new WebSocket(endpoint);
|
||||
client.on("message", (data) => {
|
||||
data = JSON.parse(data);
|
||||
|
||||
switch (data.op) {
|
||||
case 10:
|
||||
client.interval = setInterval(() => {
|
||||
client.send(JSON.stringify({ op: 1 }));
|
||||
}, data.d.heartbeat_interval);
|
||||
|
||||
client.send(
|
||||
JSON.stringify({
|
||||
op: 2,
|
||||
d: {
|
||||
token,
|
||||
properties: {},
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
break;
|
||||
}
|
||||
});
|
||||
client.once("close", (code, reason) => {
|
||||
clearInterval(client.interval);
|
||||
connect();
|
||||
});
|
||||
client.on("error", (err) => {
|
||||
// console.log(err);
|
||||
});
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
|
||||
Copyright (C) 2023 Spacebar and Spacebar Contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
require("dotenv").config();
|
||||
|
||||
require("./connections");
|
||||
require("./messages");
|
||||
@@ -0,0 +1,53 @@
|
||||
/* eslint-env node */
|
||||
|
||||
require("dotenv").config();
|
||||
const { OPCODES } = require("../../dist/gateway/util/Constants.js");
|
||||
const WebSocket = require("ws");
|
||||
const ENDPOINT = `ws://localhost:3002?v=9&encoding=json`;
|
||||
const TOKEN =
|
||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwOTMxMTgwMjgzNjA1MzYxMDYiLCJpYXQiOjE2ODA2OTE5MDB9.9ByCqDvC4mIutW8nM7WhVCtGuKW08UimPnmBeNw-K0E";
|
||||
const TOTAL_ITERATIONS = 500;
|
||||
|
||||
const doTimedIdentify = () =>
|
||||
new Promise((resolve) => {
|
||||
let start;
|
||||
const ws = new WebSocket(ENDPOINT);
|
||||
ws.on("message", (data) => {
|
||||
const parsed = JSON.parse(data);
|
||||
|
||||
switch (parsed.op) {
|
||||
case OPCODES.Hello:
|
||||
// send identify
|
||||
start = performance.now();
|
||||
ws.send(
|
||||
JSON.stringify({
|
||||
op: OPCODES.Identify,
|
||||
d: {
|
||||
token: TOKEN,
|
||||
properties: {},
|
||||
},
|
||||
}),
|
||||
);
|
||||
break;
|
||||
case OPCODES.Dispatch:
|
||||
if (parsed.t == "READY") {
|
||||
ws.close();
|
||||
return resolve(performance.now() - start);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
(async () => {
|
||||
const perfs = [];
|
||||
while (perfs.length < TOTAL_ITERATIONS) {
|
||||
const ret = await doTimedIdentify();
|
||||
perfs.push(ret);
|
||||
// console.log(`${perfs.length}/${TOTAL_ITERATIONS} - this: ${Math.floor(ret)}ms`)
|
||||
}
|
||||
|
||||
const avg = perfs.reduce((prev, curr) => prev + curr) / (perfs.length - 1);
|
||||
console.log(`Average identify time: ${Math.floor(avg * 100) / 100}ms`);
|
||||
})();
|
||||
File renamed without changes.
@@ -1,3 +0,0 @@
|
||||
/node_modules
|
||||
config.json
|
||||
accounts.json
|
||||
@@ -1 +0,0 @@
|
||||
[{"email":"org11ncxa8.wi732t9b4o@spacebar.chat","password":"x.ibahfyqwle.ne4hajbzp11.gpc4lcup4"},{"email":"rek6kyprik.i5hldol255@spacebar.chat","password":"1.o3w16haor2y.0e1ey2yk1x.1r0gn5o5h"},{"email":"07o37povsi.uk5q9dtxbp@spacebar.chat","password":"8.6z64gcjavp1n.uar3qqymwfi.g0sfmmbd9m"},{"email":"94di5zaie4.n1vhzdfsj@spacebar.chat","password":"1e.k3ijylxme1u.e9xr9yqbrk.3tir7qnvh"},{"email":"zbrqft4chj.yl73e5puq3@spacebar.chat","password":"5.nkc3g8cvwl15.dmp8ywmkka.m79e9t4wij"},{"email":"br1wknv7k.6hw6yl69e@spacebar.chat","password":"3.gimzx06u7mh.6rjrdflo9j1t.h3d8k2f5t"},{"email":"cdehs12h6h.iexxvg16xf@spacebar.chat","password":"1i.5ab7e9rtwl1n.31qtfv7cz9.e1k313py9"},{"email":"pazx37jpra.mgsb8k50ip@spacebar.chat","password":"d.eg5dwqvd981e.5qobehiyffe.6k5pb4fqm"},{"email":"vs6k62ak2o.xo1v4w0rj@spacebar.chat","password":"c.hrkcrnlxlg1d.w18ztd39d1p.eycgehb49"},{"email":"u5d27rbewm.3p0wa7s899@spacebar.chat","password":"s.1r7o1ur8o9k.puzbm1uuta9.an5m8bhh0a"},{"email":"vyp6x66fr.yv74eftomo@spacebar.chat","password":"m.w0c7h21asf.pq2lj3uot6a.xnhv9ftqii"},{"email":"da0k6sra2n.qts4gs9ufg@spacebar.chat","password":"h.8e42ud5f6r5.896sp1t8y6e.shwe0d8no9"},{"email":"l093koc05n.81vt1v8tsx@spacebar.chat","password":"11.zhkv1jbhdf.0ub2po3mnu.no4lq8l4"},{"email":"115tfo7ct.muvy04u0tf@spacebar.chat","password":"1c.4bpk2a17z1p.gw2h6qmvhez.57drs0quz"},{"email":"dq6bk1hjch.huw092gkhr@spacebar.chat","password":"1l.kp28mclrtee.5i4dmacbpc1j.hcqgemsni"},{"email":"8g8q9v3wmk.l2frwpuds8@spacebar.chat","password":"1n.i0wwg0njmv.teaiqjqalt1g.ib6551nh4"},{"email":"5b3y3neqxa.mmi0ex2hxd@spacebar.chat","password":"8.tvz7q9uw0hm.6ufz6fu65c1a.88vp9di6e"},{"email":"mg28g3krsp.35h1akxrqj@spacebar.chat","password":"s.y8j2n19iffr.qyecyrgo6ig.6hgrc5vy9"},{"email":"ehtumcok2j.2oozlhiq97@spacebar.chat","password":"11.uq0up8g8h1q.ofvjsx29yd.pfwen3kr38"},{"email":"le98rah1uc.au4ug9tpnt@spacebar.chat","password":"t.q15zsc0q2mt.2nj3jsdxhfc.leb9ba1xku"},{"email":"hrroex9f5n.6cl98h3jsi@spacebar.chat","password":"17.qnqqhg2us4.kh92v74atg19.49ufgil7g"},{"email":"w95wrrn48.6gfnue7dcq@spacebar.chat","password":"b.jnqgbi89oj1k.8rn0llovbll.kcblui80th"},{"email":"rqo4n0il5w.4gl1u8hlyc@spacebar.chat","password":"17.41d1lpjmi0.d8ijhslby11w.sjn7sqhi9"},{"email":"6dv3yp4kon.pk7ye6q1r6@spacebar.chat","password":"0.j70py6yysjz.sf56ebpp2gp.z68yo9hiim"},{"email":"knmi9qkige.5v1bg6h09w@spacebar.chat","password":"1d.7n58xntwg1s.umnglex7h13.c5xrsfkosm"},{"email":"cefymgc7te.dd81jabws4@spacebar.chat","password":"1u.73ea7dde1o.0i1fhyaird.sjk30nky1e"},{"email":"33xcwiqf73.r6khs46a7j@spacebar.chat","password":"b.5p5gdmh1891f.11g4590n5a.vfoek6qjb9"},{"email":"9zcgmr84s6.utnlygoubi@spacebar.chat","password":"8.g4v53t7kcl16.wgaiufzgg1u.pusdfdneb"},{"email":"26vpzekrdw.3bwq27wla@spacebar.chat","password":"11.yxey8293lj1d.nxhkju2eke.hl86mcvswd"},{"email":"vvq6w36r84.lr1auhpfc@spacebar.chat","password":"y.7vlqbpftom.6xfrtozd11k.ycf9ifi7o"},{"email":"6ejeiq64yo.zorve5saw4@spacebar.chat","password":"o.eue50qp1frq.qi0rwphg3dv.psph7va2fb"},{"email":"6s0hu88ro8.hsckrmud1i@spacebar.chat","password":"16.fc836nhb91a.ul37503ppg.l62wgser4i"},{"email":"h8qwchz2x9.5br1kcw1iv@spacebar.chat","password":"l.iw1041wgy.6azyc9h6vb.br9cr0dmn8"},{"email":"yx13rst2hu.ybisfdwgv@spacebar.chat","password":"8.5yasf5ba619.ir0toxu251p.tbgwjd18f"},{"email":"1j7vrr1trh.wqj0ozl357@spacebar.chat","password":"1m.iucscoe7b0.6ca1jfaag361.c2trc36mnvk"},{"email":"9w2w572pzr.fv1rk360pp@spacebar.chat","password":"t.labzw6qw8t3.33k42uvhgd1s.e1gj71h14"},{"email":"yf5e43ol4.6509owbcxa@spacebar.chat","password":"12.jewy0uvx1m1m.ce28kht6dk.v2p0bzlvz"},{"email":"gzny2o1re.1xrl0ua7yd@spacebar.chat","password":"h.3valf7r8jh.6bzfr4ions.r4b2mt0l0g"},{"email":"bc77a5kw9v.hu5barps6q@spacebar.chat","password":"1a.jt11azsa81j.4v70jvm9d1o.hflrb1tigk"},{"email":"ltoezpefev.hrvnxmq9ee@spacebar.chat","password":"b.v4f5lqrlc912.dx4dd4xq91v.zj345to03"},{"email":"svcpsuoenk.b8mfqxpbzg@spacebar.chat","password":"1a.7aobev8b4r.xqqfybkcs1t.cjuswku0a"},{"email":"n0mroewqq.svq5iq57pe@spacebar.chat","password":"1l.zxm1xhlavp.65rp7bz57x.01vjajdsc"},{"email":"trly6yupd.dt37kh07dn@spacebar.chat","password":"1i.o2ieg72fz1j.er031tzerx.2ngg4dcvlh"},{"email":"ickkf14cqv.9pu2pnmx7n@spacebar.chat","password":"18.pyhd9ruatl1k.erfchcjc95.wfd67r5e8x"},{"email":"5o4ornfwy9.yabymb8e2k@spacebar.chat","password":"1g.117kmei8df10.cedozr4vee.08te5d44nb"},{"email":"p0ulegfi3.dgmar6qc2v@spacebar.chat","password":"1h.tle7s3ed82.un20o5nv3dk.wnz4w802h8"},{"email":"58gejpvr6v.jolxrsl83p@spacebar.chat","password":"e.ksw14117hbo.f0pgufr3na.ssrjys23al"},{"email":"vf349zeoja.r8bjel59kd@spacebar.chat","password":"1o.79kh6e6glm9.d76d86g1jp16.u37p4jhf7"},{"email":"uc786nn0go.n9ygun6owj@spacebar.chat","password":"m.xo4bwhct5be.lpokbj59w8p.z4l52dzv1r"},{"email":"5jgx24s87u.odlx0bfo0r@spacebar.chat","password":"1k.ni9jyfol7h1g.vczzsa8dbg.r4bhoh5op"},{"email":"2v44408x8l.unfspunnnm@spacebar.chat","password":"16.63njhji5b4.r4xkcf672f1a.x389dr603g"},{"email":"ityj8kcvrm.9djzaLine truncated
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"url": "",
|
||||
"text-channel": "",
|
||||
"invite": ""
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
/*
|
||||
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
|
||||
Copyright (C) 2023 Spacebar and Spacebar Contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* eslint-env node */
|
||||
|
||||
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("Spacebar 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);
|
||||
});
|
||||
}
|
||||
Generated
BIN
Binary file not shown.
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
/*
|
||||
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
|
||||
Copyright (C) 2023 Spacebar and Spacebar Contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
|
||||
Copyright (C) 2023 Spacebar and Spacebar Contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
/*
|
||||
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
|
||||
Copyright (C) 2023 Spacebar and Spacebar Contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* eslint-env node */
|
||||
|
||||
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: "Spacebar 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 };
|
||||
}
|
||||
Reference in new issue
Block a user