1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mautrix_signal_ynh.git synced 2024-09-03 19:46:07 +02:00
No description
Find a file
Gredin67 66c49f0377
Upgrade to v0.2.2 & signald properly & linter (#36)
* Upgrade to v0.2.2

* do not specify signald version

* Add support for end-to-bridge encryption (#37) (deactivated by default)

* Linter and sync whatsapp_ynh (#27)

* prepare for add to app list

* restore signald user data folder

Co-authored-by: ericgaspar <junk.eg@free.fr>

* python3-dev

* no python-olm

* check upgrade from 0.2.0

Necessary as the group is created by the dependencies

* Replace Whatsapp typos with Signal

* Fix service description inconsistency in install/upgrade/restore

* comment out bot_synapse_adm for now

* remove hack for signald permissions

* deactivate encryption by default

* no encryption in manifest

* fix db_pwd upgrade

* Update config.yaml

Co-authored-by: Nathanaël HANNEBERT <nathanael.hannebert@alterway.fr>
Co-authored-by: ericgaspar <junk.eg@free.fr>
Co-authored-by: Mayeul Cantan <oss@mayeul.net>
2022-01-25 09:49:10 +01:00
conf Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00
doc Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00
scripts Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00
sources add files from example_ynh 2021-01-04 12:14:25 +01:00
check_process Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00
issue_template.md Testing (#2) 2021-06-22 18:28:47 +02:00
LICENSE Testing (#2) 2021-06-22 18:28:47 +02:00
manifest.json Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00
pull_request_template.md Testing (#2) 2021-06-22 18:28:47 +02:00
README.md Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00
README_fr.md Upgrade to v0.2.2 & signald properly & linter (#36) 2022-01-25 09:49:10 +01:00

Matrix Signal bridge for YunoHost

Integration level
Install Matrix Signal bridge with YunoHost

Lire ce readme en français.

This package allows you to install Matrix Signal bridge quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Overview

Matrix / Synapse puppeting bridge for Signal

Shipped version: 0.2.2~ynh1

Disclaimers / important information

List of known public services

  • Ask on one of the following rooms: #mautrix_yunohost:matrix.fdn.fr or #signal:maunium.net

Bridging usage

** Note that several Signal and Matrix users can be bridged, each Signal account has its own bot administration room. If they are in a same Signal group, only one matrix room will be created. **

Bridge a Signal user and a Matrix user

  • First your Matrix user or Synapse Server has to be authorized in the Configuration of the bridge (see below)
  • Then, invite the bot (default @signalbot:yoursynapse.domain) in this new Mautrix-Signal bot administration room.
  • Send !sg help to the bot in the created room to know how to control the bot. See also upstream wiki Authentication page

Linking the Bridge as a secondary device

  • Type !sg link
  • Open Signal App of your primary device
  • Open Settings => Linked Devices => + => Capture the QR code with the camera
  • By defaults, only conversations with very recent messages will be bridged
  • Accept invitations to the bridged chat rooms

Registering the Bridge as a primary device

  • Type !sg register <phone>, where <phone> is your phone number in the international format with no space, e.g. !sg register +33612345678
  • Answer in the bot room with the verification code that you reveived in SMS.
  • Set a profile name with !sg set-profile-name <name>

Double puppeting

  • Log in with login-matrix <access token>
  • After logging in, the default Matrix puppet of your Signal account should leave rooms and your account should join all rooms the puppet was in automatically.

Relaybot: Bridge a group for several Matrix and several Signal users to chat together

  • Create a room on the signal side
  • Your bridged users will be invited on the Matrix side once they are invited on the Signal side
  • You can invite more people over on the Matrix side
  • Have one of the bridged users (who has the right permission) type !sg set-relay on the Matrix side. Their signal account will relay messages from other Matrix users It is not yet possible to bridge to an existing signal room, or create a new signal room from the Matrix side.

Configuration of the bridge

The bridge is roughly configured at installation, e.g. allowed admin and user of the bot. Finer configuration can be done by modifying the following configuration file with SSH: /opt/yunohost/mautrix_signal/config.yaml and then restarting the mautrix_signal service.

Documentation

  • Official "Mautrix-Signal" documentation: https://docs.mau.fi/bridges/python/signal/index.html
  • Matrix room (Matrix Bridges in Yunohost): #mautrix_yunohost:matrix.fdn.fr
  • Matrix room (upstream app): #signal:maunium.net In case you need to upload your logs somewhere, be aware that they contain your contacts' and your phone numbers. Strip them out with | sed -r 's/[0-9]{10,}/📞/g'
  • "Mautrix-Signal" bridge is based on the signal daemon project.
  • YunoHost documentation: If more specific documentation is needed, feel free to contribute.

YunoHost specific features

Multi-user support

  • Bot users are not related to Yunohost users. Any Matrix account or Synapse server autorized in the configuration of the bridge can invite/use the bot.
  • The Signal bot is a local Matrix-Synapse user, but accessible through federation (synapse public or private).
  • Several Signal and Matrix users can be bridged with one bridge, each user has its own bot administration room.
  • If several bot users are in a same Signal group, only one Matrix room will be created by the bridge.
  • See https://github.com/YunoHost-Apps/synapse_ynh#multi-users-support

Multi-instance support

  • Multi-instance installation should work. Several bridge instances could be installed for one Matrix-Synapse instance so that one Matrix user can bridge several Signal accounts.
  • Several bridge instances could be installed for each Matrix-Synapse instance to benefit from it. But one bridge can be used by users from several Matrix-Synapse instances.

Limitations

  • It looks like media are not bridged.
  • Signal chats are not grouped in a Matrix community (as opposed to the Mautrix-WhatsApp or Mautrix-Facebook bridges)

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that.

sudo yunohost app install https://github.com/YunoHost-Apps/mautrix_signal_ynh/tree/testing --debug
or
sudo yunohost app upgrade mautrix_signal -u https://github.com/YunoHost-Apps/mautrix_signal_ynh/tree/testing --debug

More info regarding app packaging: https://yunohost.org/packaging_apps