grandekos.com
IRC

KosIrcBouncer

IRC BNC — persistent multi-network bouncer • HexChat/irssi • Web dashboard • 2026 revival

Like old IrcBNC reborn for 2026 ;) Connect your IRC client to the BNC (:6667), the BNC stays on IRC while you’re offline — message buffering, channel replay, auto-op, hooks, IPv6/TLS.

View on GitHub ↗ Hooks Docs BNC Commands
🌐 Multi-network
Libera/EFnet/OFC • IPv6 dual-stack • SSL
💬 Playback
Missed messages, modes, topics, userlists replay
🪝 Hooks
PRIVMSG/JOIN/MODE etc → external scripts, can send back
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   HexChat   │────▶│  BNC :6667  │────▶│ IRC Network │
└─────────────┘     └──────┬──────┘     └─────────────┘
                    ┌──────┴──────┐
                    │ Web :8080   │
                    └─────────────┘

Quick Start

pip install -r requirements.txt
python main.py  # BNC on :6667, Web on :8080

# config.json: bnc_server {bind_host "::", port 6667}, networks[], users[]{password_hash}
python generate_hashed_password.py mysecret  # put hash in config, connect with plain password
# HexChat: /server add BNC localhost/6667 + server password → /BNC STATUS

Commands & Auto-Op

/BNC LOGIN <user> <pass>  CONNECT <net>  STATUS  JUMP  NETWORKS  DEBUG
/BNC AUTOOP ADD #chan nick!~ident@host  DEL  LIST
Docker: docker build -t irc-bnc . && docker run -p 6667:6667 -p 8080:8080 -v $(pwd)/data:/data irc-bnc
Systemd: /etc/systemd/system/irc-bnc.service → systemctl enable --now irc-bnc

License: © 2026 Blaž Kos — Modified Apache 2.0 • LICENSE — request copy via w4d4f4k@gmail.com
Commercial use: notification within 30 days + invoiced fee • Audit & termination clauses • Governing law Canary Islands, Spain (Slovenian consumer fallback) • mediation


Comments

0 comments