Skip to main content

Matrix

Database Setup​

  • Create user createuser -W matrix_user
  • Create database createdb --encoding=UTF8 --locale=C --template=template0 --owner=matrix_user matrix

Double Puppeting​

Reference info

Double puppeting is when your bridge software will make messages you sent via the other software show up in your Matrix chats. For example, if I send a message via Signal, double puppeting will make it show up in my Matrix chat.

  • Set up and install matrix-synapse-shared-secret-auth. Docker instructions:
    • Download the Python file to a place where you’ll mount the file from
    • Add the following line to your volumes for your Synapse install. Replace the first part with the relative path to the downloaded Python file:
      volumes:
      - ./shared_secret_authenticator.py:/usr/local/lib/python3.9/site-packages/shared_secret_authenticator.py:ro
  • Generate a random string, which will be the shared secret between the Signal bridge and the Synapse server. In the below steps, look for replace-this-random-string.
    pwgen -s 128 1 # Generates a 128-character string
  • Update homeserver.yaml for Synapse to include the new module. modules is a top-level heading that may already exist:
    modules:
    - module: shared_secret_authenticator.SharedSecretAuthProvider
    config:
    shared_secret: "replace-this-random-string"
    m_login_password_support_enabled: true # Unsure if this is needed
  • Your bridge software now needs to know about the Synapse server and the shared secret that applies to it. In the case of Signal Bridge, update config.yaml:
    • Under bridge.double_puppet_server_map, add a server mapping for your home server.
    • Under bridge.login_shared_secret_map, add the shared secret.
    bridge:
    double_puppet_server_map:
    matrix.btdev.org: https://matrix.btdev.org
    login_shared_secret_map:
    matrix.btdev.org: replace-this-random-string
  • Restart Synapse and your bridge software
  • Once restarted, start a chat with the bridge bot (i.e. @signalbot) and send the message ping-matrix. If working correctly, you should receive the message Your Matrix login is working..