IRC Bridge
Relays one MRC room to one external IRC server + channel.
Each bridge is its own row and its own running process — there's no
web admin page for this, and it's a completely different feature
from the per-user IRC Client at /irc/.
Configure
There's no web UI. A sysop creates a row in the mrc_irc_bridges
table directly (a one-off script, flask shell, or a small admin
tool you write yourself). The fields on a bridge row:
| Field | Meaning |
|---|---|
name |
Label for the bridge (your own reference) |
mrc_room |
Which local MRC room to relay |
mrc_handle |
The name the bridge uses on the MRC side (default ircbridge) |
mrc_ws_url |
WebSocket URL of the local MRC bridge service |
irc_server / irc_port |
Target IRC server |
irc_use_ssl |
TLS toggle |
irc_nick |
Nick the bridge uses on IRC (default ANETBridge) |
irc_channel / irc_channel_key |
Target channel + key if it's locked |
sasl_user / sasl_pass |
SASL PLAIN credentials, if the network needs them |
is_active |
Whether the bridge should be running |
Running it
Each bridge row runs as its own instance of the systemd template unit:
systemctl enable --now anetbbs-mrc-irc-bridge@<id>.service
where <id> is the bridge row's primary key. %i in the unit
expands to that ID, so anetbbs.features.mrc_irc_bridge --bridge-id
<id> knows which row's config to load. One bridge = one systemd
instance = one MRC room ↔ one IRC channel.
How it works
- The process opens a WebSocket to the local MRC bridge service and
a plain TCP (or TLS) socket to the configured IRC server, joining
the one configured channel. - Messages posted in the MRC room are relayed to IRC prefixed
[mrc:<user>]. - Messages said in the IRC channel are relayed into the MRC room
prefixed[irc:<nick>].
Limits
- One MRC room, one IRC channel, per bridge row — for more mappings,
run more bridge instances (more rows, more@<id>units). - The bridge appears as a single bot on both sides; it doesn't proxy
per-user identity beyond the message-text prefix.
See also
- Chat
- MRC
- IRC Client — the unrelated personal/per-user IRC feature