Files
yt-dlp-webui/server.js
2021-11-29 22:13:15 +01:00

45 lines
1.1 KiB
JavaScript

const Koa = require('koa');
const serve = require('koa-static');
const path = require('path');
const { Server } = require('socket.io');
const { createServer } = require('http');
const cors = require('@koa/cors');
const logger = require('./lib/logger');
const { download, abortDownload } = require('./lib/downloader');
const { ytdlpUpdater } = require('./lib/updater');
const app = new Koa()
const server = createServer(app.callback())
const io = new Server(server, {
cors: {
origin: "*",
methods: ["GET", "POST"]
}
})
io.on('connection', socket => {
logger('ws', 'connesso')
socket.on('send-url', args => {
logger('ws', args)
download(socket, args)
})
socket.on('abort', () => {
abortDownload(socket)
})
socket.on('update-bin', () => {
ytdlpUpdater(socket)
})
})
io.on('disconnect', () => {
logger('ws', 'disconnesso')
})
app
.use(cors())
.use(serve(path.join(__dirname, 'dist')))
console.log('[koa] Server started port', process.env.PORT || 3022)
server.listen(process.env.PORT || 3022)