require('dotenv').config() const express = require('express') const app = express() const io = require('socket.io')(server) const ss = require('socket.io-stream') const client = io.of('/client') const relay = io.of('/relay') client.on('connect', socket => { console.log('Client connected') socket.on('cmd', data => { relay.emit('cmd', data) }) socket.on('disconnect', () => { console.log("Client disconnected") }) }) relay.on('connect', socket => { console.log('Relay connected') socket.on('params', data => { client.emit('params', data) }) ss(relay).on('frame', (stream, data) => { console.log(data) Object.values(client.connected).map(socket => { ss(socket).emit('frame', stream, data) }) }) socket.on('disconnect', () => { console.log("Relay disconnected") }) }) app.use(express.static('public', { extensions: ['html'] })) // app.get('/images', site.images) // app.post('/print', bodyParser.urlencoded({ extended: false }), site.print) // app.use("/upload", require('./upload')) let server; if (process.env.USE_HTTPS === 'true') { credentials = { key: fs.readFileSync('ssl/key.nocrypt.pem', 'utf8'), cert: fs.readFileSync('ssl/cert.pem', 'utf8') } server = https.createServer(credentials, app).listen(8443, function () { var port = server.address().port; console.log('Cortex remote listening at https://lvh.me:%s', port); }); } else { const server = require('http').createServer(app) server.listen(process.env.EXPRESS_PORT, () => { console.log("Cortex remote listening on http://localhost:" + process.env.EXPRESS_PORT) }) } ws.init(server)