view analytics
This commit is contained in:
33
index.js
33
index.js
@ -32,8 +32,8 @@ const port = process.env.PORT || 3000;
|
|||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
// why the fuck does this have to exist?
|
// why the fuck does this have to exist?
|
||||||
app.use("/resources/semag/hotline-miami/", (req,res,next) => {
|
app.use("/resources/semag/hotline-miami/", (req, res, next) => {
|
||||||
if(req.method == "HEAD") {
|
if (req.method == "HEAD") {
|
||||||
req.socket.destroy();
|
req.socket.destroy();
|
||||||
}
|
}
|
||||||
next();
|
next();
|
||||||
@ -41,13 +41,13 @@ app.use("/resources/semag/hotline-miami/", (req,res,next) => {
|
|||||||
|
|
||||||
|
|
||||||
app.use("/osu/", await minoProxy)
|
app.use("/osu/", await minoProxy)
|
||||||
app.use("/resources/semag/portal/", (req,res,next) => {
|
app.use("/resources/semag/portal/", (req, res, next) => {
|
||||||
res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
|
res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
|
||||||
res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
app.use("/resources/semag/terraria/", (req,res,next) => {
|
app.use("/resources/semag/terraria/", (req, res, next) => {
|
||||||
res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
|
res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
|
||||||
res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
|
||||||
next();
|
next();
|
||||||
@ -75,9 +75,9 @@ wss.on("connection", function connection(ws, req, res) {
|
|||||||
|
|
||||||
server.on("message", async function message(data) {
|
server.on("message", async function message(data) {
|
||||||
let message = Buffer.from(data).toString();
|
let message = Buffer.from(data).toString();
|
||||||
if(message.startsWith("online")) {
|
if (message.startsWith("online")) {
|
||||||
ws.send(message);
|
ws.send(message);
|
||||||
} else if(message.startsWith("annc")) {
|
} else if (message.startsWith("annc")) {
|
||||||
ws.send(message);
|
ws.send(message);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -98,7 +98,7 @@ wss.on("connection", function connection(ws, req, res) {
|
|||||||
}
|
}
|
||||||
} else if (message.startsWith("annc")) {
|
} else if (message.startsWith("annc")) {
|
||||||
let splitMessage = message.split(";;");
|
let splitMessage = message.split(";;");
|
||||||
if(await isAdmin(splitMessage[1])) {
|
if (await isAdmin(splitMessage[1])) {
|
||||||
// wss.clients.forEach(client => {
|
// wss.clients.forEach(client => {
|
||||||
// client.send(`annc;;${splitMessage[2]};;${splitMessage[3]}`);
|
// client.send(`annc;;${splitMessage[2]};;${splitMessage[3]}`);
|
||||||
// })
|
// })
|
||||||
@ -107,7 +107,7 @@ wss.on("connection", function connection(ws, req, res) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ws.on("close", () => {server.close()});
|
ws.on("close", () => { server.close() });
|
||||||
});
|
});
|
||||||
app.post(
|
app.post(
|
||||||
"/api/event",
|
"/api/event",
|
||||||
@ -124,7 +124,7 @@ app.post(
|
|||||||
res.send(response.status);
|
res.send(response.status);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
app.post("/register", async (req, res) => {
|
app.post("/register", async (req, res) => {
|
||||||
let status = await createAccount(req.body.username, req.body.password, req.body["h-captcha-response"]);
|
let status = await createAccount(req.body.username, req.body.password, req.body["h-captcha-response"]);
|
||||||
if (status["success"]) {
|
if (status["success"]) {
|
||||||
@ -178,7 +178,7 @@ app.post("/api/account/upload", async (req, res, next) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.post("/api/analytics/game", async (req, res) => {
|
app.post("/api/analytics/game", async (req, res) => {
|
||||||
if(req.body && req.body.path.length < 16) {
|
if (req.body && req.body.path.length < 16) {
|
||||||
const query = top.prepare(`
|
const query = top.prepare(`
|
||||||
INSERT INTO stats (game, plays)
|
INSERT INTO stats (game, plays)
|
||||||
VALUES ($id, 1)
|
VALUES ($id, 1)
|
||||||
@ -193,6 +193,13 @@ app.post("/api/analytics/game", async (req, res) => {
|
|||||||
return;
|
return;
|
||||||
})
|
})
|
||||||
|
|
||||||
|
app.use("/api/analytics/get", async(req, res) => {
|
||||||
|
const query = top.prepare(`SELECT * FROM stats ORDER BY plays DESC`);
|
||||||
|
let data = query.all();
|
||||||
|
res.send(data);
|
||||||
|
return;
|
||||||
|
})
|
||||||
|
|
||||||
app.post("/api/ai/sendMessage", async (req, res) => {
|
app.post("/api/ai/sendMessage", async (req, res) => {
|
||||||
// take in chat id and message
|
// take in chat id and message
|
||||||
// stream back reply
|
// stream back reply
|
||||||
@ -219,10 +226,10 @@ app.use("/api/music/download", async (req, res, next) => {
|
|||||||
res.end();
|
res.end();
|
||||||
});
|
});
|
||||||
app.post("/api/recat", async (req, res) => {
|
app.post("/api/recat", async (req, res) => {
|
||||||
if(isAdmin(req.cookies.token)) {
|
if (isAdmin(req.cookies.token)) {
|
||||||
let domain = JSON.parse(req.body)["domain"];
|
let domain = JSON.parse(req.body)["domain"];
|
||||||
let message;
|
let message;
|
||||||
if(recatters.includes(domain)) {
|
if (recatters.includes(domain)) {
|
||||||
recatters.pop(domain);
|
recatters.pop(domain);
|
||||||
message = `Successfully set ${domain} to Selenite.`
|
message = `Successfully set ${domain} to Selenite.`
|
||||||
} else {
|
} else {
|
||||||
@ -307,7 +314,7 @@ app.use("/api/stats", async (req, res, next) => {
|
|||||||
.send({
|
.send({
|
||||||
"users": accs.query(`SELECT COUNT(*) FROM accounts`).get()["COUNT(*)"],
|
"users": accs.query(`SELECT COUNT(*) FROM accounts`).get()["COUNT(*)"],
|
||||||
// "cpu": os.cpus(),
|
// "cpu": os.cpus(),
|
||||||
"ram": `${(os.totalmem()-os.freemem())/1000000000}GB / ${os.totalmem()/1000000000}GB`,
|
"ram": `${(os.totalmem() - os.freemem()) / 1000000000}GB / ${os.totalmem() / 1000000000}GB`,
|
||||||
"cpuUsage": os.loadavg(),
|
"cpuUsage": os.loadavg(),
|
||||||
"uptime": `${os.uptime()}s`
|
"uptime": `${os.uptime()}s`
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user