websocket: native RFC 6455 transport (ws:// + wss://) — handshake, framing, ping/pong keepalive, idle timeout, origin/proxy flags, via_websocket

This commit is contained in:
Jean Chevronnet 2026-08-09 18:45:12 +00:00
parent 97b0d8ad89
commit 19157e0722
7 changed files with 633 additions and 0 deletions

View file

@ -104,6 +104,9 @@ fn main() {
// optional JSON-RPC-over-HTTP control interface (see crate::modules::rpc)
echoircd::modules::rpc::maybe_start(&cfg, tx.clone());
// optional WebSocket transport for browser IRC clients (see crate::websocket)
echoircd::websocket::maybe_start(&cfg, tx.clone(), counter.clone());
// dial any autoconnect uplinks (after a short delay so the peer can boot)
for block in cfg.links.iter().filter(|b| b.autoconnect) {
let addr = format!("{}:{}", block.ip, block.port);