sábado, 15 de octubre de 2011

sencillo servidor telnet con node.js

Completamente funcional, admite conexiones simultaneas; eso si, no autenticado...
Únicamente se conectan entradas y salidas del socket y del proceso shell convenientemente y ya está.


var net = require('net');
var spawn = require('child_process').spawn;
var server = net.createServer(function(sock){
   console.log("nuevo cliente: " + sock.remoteAddress + ":" + sock.remotePort);
   var bash  = spawn('/bin/bash', ["-i"], { env: process.env, setsid: true});//unix
   //var bash  = spawn('cmd.exe', []);//guindors
   bash.stdout.on('data', function (data) {
      sock.write(data);
   });
   bash.stderr.on('data', function (data) {
      sock.write(data);
   });
   bash.on('exit', function (code) {
      sock.end(code);
   });
   sock.on('data', function(dd){
      bash.stdin.write(dd);
   });
});
server.listen(5555);
console.log("escuchando en el puerto 5555");