const net = require("net") const {spawn} = require("child_process"); const portlist = [21,1433,7777] const host = "0.0.0.0"; servermap = new Map() portlist.forEach(i => { // create server server = net.createServer() // listen on port server.listen(i, host, () => { console.log(`TCP Server listening on ${host}:${i}`); }) // defining connection event server.on("connection", a => { console.log(`incomming connection from : ${a.remoteAddress} on port ${i}`) // handle error even on socket instance (prevents the econnreset error) a.on("error", () => {}) // Handle banning ip const output = spawn("echo", [`-A INPUT -s ${a.remoteAddress} -j DROP`]); output.stdout.on("data", () => {console.log(data);}) }) servermap.set(i, server) }) process.on('uncaughtException', function (err) { console.log(err); });