irc(ergo): allow chrome-extension:// + irc domain origins for WS
Some checks are pending
CI / build (push) Waiting to run
deploy / deploy (push) Waiting to run
test / test (push) Waiting to run

TronBrowser's in-extension IRC client connects to the Ergo WebSocket from a
chrome-extension:// page; the ID is path-derived (differs per install) so use a
wildcard. Safe — the network is members-only and every WS client still passes
SASL, so Origin isn't the access gate. Also add the irc domain itself.

Needs deploy (push to main → setup.sh re-renders /etc/ergo/ircd.yaml + restarts
ergo) for the web/extension client to connect.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Anthony Ettinger 2026-06-30 16:24:02 +00:00
parent 105ff0ed8a
commit 28ad36834e

View file

@ -110,6 +110,12 @@ server:
# restrictions.
allowed-origins:
- "https://__DOMAIN__"
- "https://__IRC_DOMAIN__"
# TronBrowser's in-extension IRC client connects from a
# chrome-extension:// page (the ID is path-derived, so it differs per
# install — hence the wildcard). Safe: the network is members-only,
# every WS client must still pass SASL, so origin isn't the gate.
- "chrome-extension://*"
# - "https://ergo.chat"
# - "https://*.ergo.chat"
@ -156,8 +162,11 @@ server:
#password: "$2a$04$0123456789abcdef0123456789abcdef0123456789abcdef01234"
# motd filename
# if you change the motd, you should move it to ircd.motd
motd: ergo.motd
# ABSOLUTE path on purpose: Ergo resolves a relative motd path against its
# process working directory (the systemd unit sets WorkingDirectory=/opt/ergo),
# NOT the config dir — so a bare "ergo.motd" makes Ergo look in /opt/ergo and
# return "MOTD File is missing". refresh-motd.sh writes /etc/ergo/ergo.motd.
motd: /etc/ergo/ergo.motd
# motd formatting codes
# if this is true, the motd is escaped using formatting codes like $c, $b, and $i