3.9 KiB
title |
---|
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:
server = [ ['irc.libera.chat', 'libera'], ['mtrx.vern.cc', 'matrix'] ]
# Use the internal matrix room address.
relayedChannels = [ [ '#chan1', '!aBCrdDeRfG:matrix.org' ], [ '##chan2', '!xgwAUWHbwWUG:vern.cc' ] ]
nick = 'TestRelay'
debug = True
channels = [ 0, 1 ] # Multiple channels
join_leave_msgs = False # Relay Join/Left messages.
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.