About ~vern’s Matrix Instance
We run a Matrix homeserver of our own, which
means you can communicate to from other Matrix
servers (and even XMPP servers using bridges)
with your ~vern account, your username will
appear as @USER:vern.cc
Our matrix instance runs locally built debian packages of tulir’s fork of synapse under monolith mode.
Bots
We have an instance of maubot which runs the following:
- sedbot (@sedbot:vern.cc)
- rssbot (@rss:vern.cc)
- weatherbot (@weather:vern.cc)
- ping/echobot (@ping:vern.cc)
- XKCDBot (@xkcd:vern.cc)
- reminderbot(@reminder:vern.cc)
- urbandictionary (@urbdict:vern.cc)
- serverchecker (@servers:vern.cc)
- translate (@tl:vern.cc)
- imperial -> metric (@metric:vern.cc).
XMPP Bridge
We host bifrost, a XMPP bridge.
The address syntax to access XMPP from Matrix:
- Private chats:
@_jabber_USER=40DOMAIN:vern.cc
- MUCs:
#_jabber_MUCNAME_MUCDOMAIN:vern.cc
The address syntax to access Matrix from XMPP:
- Direct chats:
USERNAME_DOMAIN@bi.vern.cc
- Public chats:
#ALIAS#DOMAIN@bi.vern.cc
It also supports plumbing of existent Matrix rooms to XMPP rooms, room administrators can perform plumbing by doing the following:
- Invite
@jabber:vern.cc
into the room - Type
!bifrost bridge xmpp-js component.domain.tld roomname
where the MUC on XMPP would be calledroomname@component.domain.tld
- To eventually remove the plumbing you can
just type
!bifrost leave
You can also type !bifrost help
for help on bifrost commands at any time.
IRC Bridge
We host relixbox, an IRC bridge.
It is setup in the backend, however. The configuration is the Python script itself. This means that if you want to bridge your rooms, you need to run the script in your pubnix account.
Firstly, clone it from the git upstream (tor alternative link). Then, you can edit the following variables:
= [ ['irc.libera.chat', 'libera'], ['mtrx.vern.cc', 'matrix'] ]
server # Use the internal matrix room address.
= [ [ '#chan1', '!aBCrdDeRfG:matrix.org' ], [ '##chan2', '!xgwAUWHbwWUG:vern.cc' ] ]
relayedChannels = 'TestRelay'
nick = True
debug = [ 0, 1 ] # Multiple channels
channels = False # Relay Join/Left messages. join_leave_msgs
They should be self-explanatory, apart from
the channels
variable, that should
contain the indexes of how many channels you are
bridging. For example, if you have
relayedChannels = [ ["#chan1", "!idk:matrix.org"] ]
set, it should contain [ 0 ]
. If
you have
relayedChannels = [ [ '#chan1', '!aBCrdDeRfG:matrix.org' ], [ '##chan2', '!xgwAUWHbwWUG:vern.cc' ], [ '#chan3', '!edwfsiofn:vern.cc' ] ]
,
it should contain [ 0, 1, 2 ]
and
so on.
After editing the configuration to your liking, you should be able to create a SystemD user unit, following this example:
[Unit]
Description=IRC to Matrix Bridge
[Service]
ExecStart=/run/current-system/sw/bin/python3 /home/<your username>/irc-bridge.py
[Install]
WantedBy=default.target
Write the file to
~/.config/systemd/user/irc-bridge.service
,
then enable the service by running
systemctl --user enable --now irc-bridge.service
.
Done! You should have a working IRC bridge hosted at your pubnix account.
Message Retention
We currently do not have a message retention
policy set, but its possible to delete all your
messages when you deactivate your user by
setting erase=true
option in
json.
You can also delete all your recent messages
in a room with the
Remove Recent Messages
option in
Element
What clients do you host?
We host instances of Element, Cinny and Hydrogen.
We use our own dimension server for integrations server and default to using our jitsi instance.