32 lines
883 B
JavaScript
32 lines
883 B
JavaScript
const net = require("net")
|
|
const {spawn} = require("child_process");
|
|
const portlist = [21,1433,7777]
|
|
const host = "127.0.0.1";
|
|
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`]);
|
|
// console.log(output.stdout);
|
|
})
|
|
servermap.set(i, server)
|
|
})
|
|
|
|
|
|
|
|
process.on('uncaughtException', function (err) {
|
|
console.log(err);
|
|
}); |