The Mumbling Herald
A grumpy old herald who watches your Mumble server and announces comings and goings via XMPP.
Examples
Joining a channel:
- ➡️ {USERNAME} stumbles into {CHANNEL}
- ➡️ grumbles Oh, look who's decided to grace {CHANNEL} with their presence... {USERNAME}
- ➡️ adjusts spectacles Hmph! {USERNAME} wanders into {CHANNEL} with purpose unknown
- ➡️ sighs heavily Another soul wanders into {CHANNEL}... {USERNAME}, was it?
Leaving a channel:
- ⬅️ Oh, what? ahem {USERNAME} fled... somewhere waves hand
- ⬅️ {USERNAME} vanishes into the void...
- ⬅️ grumbles Well, that was brief... {USERNAME} has wandered off to other adventures
- ⬅️ mutters {USERNAME} has departed from us. Just when things were getting interesting...
Full setup
- Create a herald user with minimal permissions
sudo useradd -r -s /bin/false -d /var/lib/mumblingherald -m mumblingherald sudo usermod -a -G mumble-server mumblingherald # if mumble-server group exists for log access - Copy script to user's directory, make it executable, and set ownership
sudo cp mumblingherald /var/lib/mumblingherald sudo chown mumblingherald:mumblingherald /var/lib/mumblingherald/mumblingherald sudo chmod 700 /var/lib/mumblingherald/mumblingherald - Edit the script to configure details
MUMBLE_LOG_FILE: path to your Mumble server logXMPP_RECIPIENTS: recipient JID for notificationsMONITORED_CHANNELS: display name of channels to watch
- Install go-sendxmpp
- Download the latest binary from the go-sendxmpp releases page
- Extract and copy to system location
sudo cp go-sendxmpp /usr/local/bin/ sudo chmod 755 /usr/local/bin/go-sendxmpp
- Create config directory
sudo -u mumblingherald mkdir -p /var/lib/mumblingherald/.config/go-sendxmpp - Create XMPP config in
/var/lib/mumblingherald/.config/go-sendxmpp/config(edit values!)username: herald@your-xmpp-server.com password: your-password- Correct permissions
chmod 600 /var/lib/mumblingherald/.config/go-sendxmpp/config
- Correct permissions
- Create systemd service in
/etc/systemd/system/mumblingherald.service[Unit] Description=The Mumbling Herald - Mumble event notifier over XMPP After=network.target [Service] Type=simple User=mumblingherald Group=mumble-server WorkingDirectory=/var/lib/mumblingherald Environment=HOME=/var/lib/mumblingherald ExecStart=/var/lib/mumblingherald/mumblingherald Restart=always RestartSec=5 [Install] WantedBy=multi-user.target - Start the herald
sudo systemctl daemon-reload sudo systemctl enable --now mumblingherald - Check status
sudo systemctl status mumblingherald - Check logs
sudo journalctl -feu mumblingherald
Contributions are welcome
This repo is on SourceHut (repo) and Radicle (web,
rad:z37gVhKaFLFso2zkBHNdB6pK3HipW, what is Radicle?).