[technique] matterbridge IRC/matrix/mattermost/telegram (et encore plus)
Laurent GUERBY
laurent at guerby.net
Ven 26 Juin 13:54:59 CEST 2020
Bonjour,
Sur la VM www2 de tetaneutral.net j'ai installé matterbridge :
https://github.com/42wim/matterbridge
"Bridges between a growing number of protocols."
Le logiciel est en go et les binaires par plateforme sont
disponibles sur github :
https://github.com/42wim/matterbridge/releases/latest
En pratique :
wget https://github.com/42wim/matterbridge/releases/download/v1.17.5/matterbridge-1.17.5-linux-64bit
chmod 755 matterbridge-1.17.5-linux-64bit
emacs matterbridge.toml
./matterbridge-1.17.5-linux-64bit -conf matterbridge.toml -debug
Le plus long dans le setup c'est d'aller dans les divers logiciels
pour creer un compte et/ou un token et/ou des settings.
- Pour IRC freenode il faut un email valide et quelques messages a
NickServ.
- Pour mattermost avec auth gitlab il ne faut pas oublier d'augmenter
le nombre de membre max d'une team (bloqué a 50 par defaut),
trouver le bon nom de team (pas celui affiché).
- Pour telegram il faut parler a botfather et activer quelques options.
- Pour matrix/riot il faut demander a Guilhem :)
Le bridge copie le message du chat source aux different chats.
Cf ci-apres pour la configuration actuelle du bridge.
Note : on peut definir plusieurs "gateway" et donc
bridger selectivement.
Sincèrement,
Laurent
root at www2:~/matterbridge# cat matterbridge.toml
[irc.freenode]
Server="irc.freenode.net:7000"
Nick="LENICK"
NickServNick="LENICK"
NickServPassword="LEPASSWORD"
UseTLS=true
UseSASL=true
SkipTLSVerify=false
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
[mattermost.mattermostttnn]
Server="mattermost.tetaneutral.net:443"
Team="tetaneutralnet"
Login="LELOGIN"
Password="LEPASSWORD"
Token="xxx"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
PrefixMessagesWithNick=true
[matrix.matrixttnn]
Server="https://matrix.tetaneutral.net"
Login="LELOGIN"
Password="SUPERPASSWORD"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
NoHomeServerSuffix=false
[telegram.mytelegram]
Token="xxx:yyy"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
[[gateway]]
name="gateway1"
enable=true
[[gateway.inout]]
account="irc.freenode"
channel="#tetaneutral.net"
[[gateway.inout]]
account="mattermost.mattermostttnn"
channel="town-square"
[[gateway.inout]]
account="matrix.matrixttnn"
channel="#general:tetaneutral.net"
[[gateway.inout]]
account="telegram.mytelegram"
channel="-xxx"
Plus d'informations sur la liste de diffusion technique