[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