bombo/scripts/relay-server.mjs
Vibe Kanban 4653f662d1 yeah
2026-01-30 23:47:47 +01:00

24 lines
712 B
JavaScript

#!/usr/bin/env node
/**
* Minimal WebSocket relay for lobby + signaling.
* Broadcasts every message to all connected clients (clients filter by topic).
*/
import { createServer } from 'http';
import { WebSocketServer } from 'ws';
const PORT = Number(process.env.PORT) || 9090;
const server = createServer();
const wss = new WebSocketServer({ server });
wss.on('connection', (ws) => {
ws.on('message', (raw) => {
const msg = raw.toString();
wss.clients.forEach((client) => {
if (client !== ws && client.readyState === 1) client.send(msg);
});
});
});
server.listen(PORT, '0.0.0.0', () => {
console.log('Bombo relay server running at ws://0.0.0.0:' + PORT + ' (all interfaces)');
});