X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=src%2Findex.js;h=82abb7565715783a1dd2ccef41d4965557cfef01;hb=2b1de44527123fab80901384e0f374367500ced8;hp=a2ece0ff141d633b6c994a144083b562eb139617;hpb=1f2664ee622668b8d63ea5aba76e574d56677c20;p=VSoRC%2F.git diff --git a/src/index.js b/src/index.js index a2ece0f..82abb75 100644 --- a/src/index.js +++ b/src/index.js @@ -1,8 +1,32 @@ const express = require('express'); // pide express sea requerido const path = require('path'); // pide que path sea requerido - +const pty = require('node-pty'); ////////////////ASKS FOR NODE-PTY // inicializaciones const app = express(); +const expressWs = require('express-ws')(app);///////////////////ASK FOR THE WEBSOCKET FROM EXPRESS +////////////////////////////////////////////////////////////////////////////////////////////////// +// Instantiate shell and set up data handlers +expressWs.app.ws('/shell', (ws, req) => { + // Spawn the shell + const shell = pty.spawn('/bin/bash', [], { + name: 'xterm-color', + cwd: process.env.PWD, + env: process.env + }); + // For all shell data send it to the websocket + shell.on('data', (data) => { + ws.send(data); + }); + // For all websocket data send it to the shell + ws.on('message', (msg) => { + shell.write(msg); + }); +}); +////////////////////////////////////////////////////////////////////////////////////////////////// + + + + //configuraciones app.set('port', process.env.PORT || 3000); @@ -17,6 +41,8 @@ app.use(express.json()); //para que la ruta de estilos y js sea visible app.use('/styles', express.static('styles')); app.use('/js', express.static('js')); +app.use('/img', express.static('img')); +app.use('/node_modules', express.static('node_modules')); //rutas app.use(require('./routes/index')); // Configurar cabeceras y cors