[ARN-Messager] Bridge Matrix room with Signal, WhatsApp and Telegram IM chat using one shared IM account

ARN-Messager is a Supervisor Robot to use together with Mautrix Bridges to benefit from Relay Mode.

It enables non-logged-in accounts to bridge rooms over a shared IM account. The Mautrix Bridges log into the IM-Network over the relaybot_admin shared IM account.

How to deploy your own ARN-Messager Bridge ?

In the Android world:

  • Buy a cheap or free SIM card allowing to receive SMS
  • Get an old Android Smartphone that nobody uses
    • if possible with working Camera but not required
    • Android >=5.0 for WhatsApp
    • Android >=8 for Signal
  • Put a strong pass phrase and activate encryption
    !! Lots of personal data may transit over this phone !!
  • Install the Android IM-App(s) you want to bridge: Signal, WhatsApp and/or Telegram.
  • Create a shared account on the IM-App(s) with the SIM card.
    !! Don’t use your own IM Account !!
  • Note that account creation requires the native Signal/Telegram/WhatsApp Apps, then you can switch to FOSS forks if you want. Also, as far as I remember, for Telegram you need a native Android, native App with access right to read directly the incoming account validation SMS.

On Yunohost side:

  • Install Synapse Matrix Home-Server https://github.com/Yunohost-apps/synapse_ynh/
  • Install the Mautrix Bridge for the IM-App you want to bridge, e.g. GitHub - YunoHost-Apps/mautrix_signal_ynh: Matrix signal package for YunoHost
    • enable relaybot
    • give @arnmessager:server.tld admin permission
    • give relay permission to anyone * or only the servers you select
  • Create a Matrix relaybot_admin user, e.g. @arnmessager:server.tld
    • do NOT set it synapse admin
  • Install GitHub - YunoHost-Apps/arn_messager_ynh: ARN Messager package for YunoHost , giving the password of the created user, the Yunohost ID of the Synapse and Mautrix Apps you installed, e.g. synapse, mautrix_signal
    • Define Matrix servers or users (MXID) that will be allowed to bridge rooms, e.g. bot_users: server.tld
    • Define Admins that will be allowed to send admin commands to the Mautrix Bridges over ARN-Messager
  • Login as @arnmessager:server.tld in a private browser tab
    !! Lots of personal data may transit over this account !!
  • Invite the Mautrix Bot of an IM you want to bridge to a private chat, e.g. @signalbot:server.tld
  • Send him a message to login with the shared IM-Account, e.g. !sg login or !wa login qr
  • A QR-Code is displayed in the Matrix room in response
  • Open the IM-App on your smartphone > Settings > Linked Devices > Link a new Device > Scan the QR-Code
  • Repeat for other IM

How to bridge a Group from Signal Android App:

  • (Add a contact with the shared account phone number)
  • (Create a Signal Group)
  • Invite the shared account in the group
  • Wait for the welcome message from the Bot
  • Write the MXID of the user to invite in the created Signal portal-room : !am @user:server.tld
  • The user invited will gain admin rights in the portal-room and be able to invite other Matrix users
  • Add Signal contacts or send them the invitation link
  • Recommended: Enable end-to-bridge encryption in the room
  • !! BEWARE THAT BRIDGED ROOMS CANNOT BE END-TO-END ENCRYPTED !!

Regarding End-to-Bridge Encryption: