Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveur_hebergement:matrix:installer_un_pont_signal_-_matrix [2022/09/07 17:15] – fate | serveur_hebergement:matrix:installer_un_pont_signal_-_matrix [2025/01/25 17:03] (Version actuelle) – fate | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Matrix est capable d' | Matrix est capable d' | ||
- | Les étapes pour installer un pont sont plus ou moins les mêmes | + | Les étapes pour installer un pont sont plus ou moins les mêmes |
===== Prérequis ===== | ===== Prérequis ===== | ||
Ligne 12: | Ligne 12: | ||
Installez Python3 ainsi que pip et virtualenv | Installez Python3 ainsi que pip et virtualenv | ||
- | <code bash> | + | <code bash> |
- | ==== Signald ==== | + | Installez |
- | + | <code bash>sudo pip install git+https://github.com/devture/matrix-synapse-shared-secret-auth</ | |
- | Il va nous falloir également installer [[https:// | + | |
- | Créez | + | |
- | < | + | |
- | + | ||
- | Ajoutez les ligne suivante puis enregistrez | + | |
- | < | + | |
- | + | ||
- | Ajoutez les clés du dépôt | + | |
- | <code bash>curl https://updates.signald.org/apt-signing-key.asc | sudo apt-key add -</ | + | |
- | + | ||
- | Mettez à jours les paquets | + | |
- | <code bash> | + | |
- | + | ||
- | Installez Signald | + | |
- | <code bash> | + | |
==== Libolm et bibliothèques dev ==== | ==== Libolm et bibliothèques dev ==== | ||
- | Lancez la commande suivante | + | Lancez la commande suivante |
<code bash> | <code bash> | ||
Ligne 89: | Ligne 74: | ||
< | < | ||
L' | L' | ||
- | <code bash> | + | <code bash> |
Passons à la base de données | Passons à la base de données | ||
Ligne 102: | Ligne 87: | ||
Créez l' | Créez l' | ||
- | <code sql> | + | <code sql> |
Mettez le même mot de passe que celui que vous avez renseigné dans le fichier config.yaml | Mettez le même mot de passe que celui que vous avez renseigné dans le fichier config.yaml | ||
Ligne 167: | Ligne 152: | ||
===== Activer le double puppeting ===== | ===== Activer le double puppeting ===== | ||
- | Le " | + | Le " |
- | Installez Shared Secret Authenticator | + | Créez un fichier doublepupetting.yaml dans le répertoire du pont et copiez les lignes suivantes : |
- | < | + | < |
+ | # The ID doesn' | ||
+ | id: doublepuppet | ||
+ | # The URL is intentionally left empty (null), as the homeserver shouldn' | ||
+ | # push events anywhere for this extra appservice. If you use a | ||
+ | # non-spec-compliant server, you may need to put some fake URL here. | ||
+ | url: | ||
+ | # Generate random strings for these three fields. Only the as_token really | ||
+ | # matters, hs_token is never used because there' | ||
+ | # user (sender_localpart) is never used either. | ||
+ | as_token: votre_token | ||
+ | hs_token: votre_token | ||
+ | sender_localpart: | ||
+ | # Bridges don't like ratelimiting. This should only apply when using the | ||
+ | # as_token, normal user tokens will still be ratelimited. | ||
+ | rate_limited: | ||
+ | namespaces: | ||
+ | users: | ||
+ | # Replace your\.domain with your server name (escape dots for regex) | ||
+ | | ||
+ | # This must be false so the appservice doesn' | ||
+ | exclusive: false | ||
+ | </ | ||
- | Générez | + | Vous pouvez générer |
<code bash> | <code bash> | ||
- | Ouvrez le fichier homeserver.yaml de Synapse et ajoutez les lignes suivantes | + | Ouvrez le fichier homeserver.yaml de Synapse et ajoutez les lignes suivantes |
< | < | ||
- | modules: | + | # Shared secrets for automatic double puppeting. |
- | | + | |
- | config: | + | |
- | shared_secret: | + | votre.domaine.fr: as_token:votre_token_as |
- | # By default, only login requests of type `com.devture.shared_secret_auth` are supported. | + | |
- | # Below, we explicitly enable support | + | |
- | # which was used in v1 of matrix-synapse-shared-secret-auth and still widely supported by external software. | + | |
- | # If you don't need such legacy support, consider setting this to `false` or omitting it entirely. | + | |
- | m_login_password_support_enabled: true | + | |
</ | </ | ||
- | Ouvrez | + | Enfin, ouvrez |
- | < | + | |
- | login_shared_secret_map: | + | |
- | example.com: foo | + | |
- | </ | + | |
- | par | + | |
- | < | + | |
- | login_shared_secret_map: | + | |
- | adresse_du_serveur_matrix: | + | |
- | </ | + | |
Redémarrez Synapse et le pont Signal | Redémarrez Synapse et le pont Signal | ||
Ligne 206: | Ligne 199: | ||
On va créer un script pour mettre à jour le pont. | On va créer un script pour mettre à jour le pont. | ||
- | Créez le fichier update_signal_bridge.sh et ajoutez-y les lignes suivantes : | + | Créez le fichier update_signal_bridge.sh |
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Ligne 212: | Ligne 205: | ||
versionFile=" | versionFile=" | ||
adminMail=" | adminMail=" | ||
- | cd mautrix-signal | + | cd / |
source ./ | source ./ | ||
# Si le fichier de version existe, on récupére la version | # Si le fichier de version existe, on récupére la version | ||
Ligne 222: | Ligne 215: | ||
fi | fi | ||
# On récupère le numéro de la version présent sur le dépôt | # On récupère le numéro de la version présent sur le dépôt | ||
- | repositoryVersion=$(pip show mautrix-signal | + | repositoryVersion=$(yolk -V mautrix-signal | awk ' |
# Si la version présente sur le dépôt est plus récente, on lance la mise à jour | # Si la version présente sur le dépôt est plus récente, on lance la mise à jour | ||
if [ $currentVersion != $repositoryVersion ]; then | if [ $currentVersion != $repositoryVersion ]; then | ||
Ligne 231: | Ligne 224: | ||
# On lance la mise à jour du paquet | # On lance la mise à jour du paquet | ||
pip install --upgrade mautrix-signal[all] > /dev/null 2> $errorFile | pip install --upgrade mautrix-signal[all] > /dev/null 2> $errorFile | ||
- | # Si le fichier d' | + | # Si le fichier d' |
if [ -s $errorFile ]; then | if [ -s $errorFile ]; then | ||
- | echo "Une erreur s' | + | echo "Une erreur s' |
- | # Si le fichier d' | + | # Si le fichier d' |
else | else | ||
echo "Le pont mautrix-matrix (mautrix-signal) a été mis à jour de la version $currentVersion vers la version $repositoryVersion" | echo "Le pont mautrix-matrix (mautrix-signal) a été mis à jour de la version $currentVersion vers la version $repositoryVersion" | ||
Ligne 242: | Ligne 235: | ||
</ | </ | ||
+ | Le script est commenté afin qu'il soit facile de comprendre chaque bloc. Pour que ce script fonctionne pleinement il faut que votre serveur soit capable d' | ||
+ | <code bash>pip install yolk3k</ | ||
+ | |||
+ | On va créer une tâche cron afin que ce script se lance tous les jours. | ||
Ouvrez le fichier cron avec la commande | Ouvrez le fichier cron avec la commande | ||
<code bash> | <code bash> | ||
Ajoutez la ligne suivante (remplacez l' | Ajoutez la ligne suivante (remplacez l' | ||
- | <code bash>0 0 * * * cd / | + | <code bash>0 0 * * * / |
Appuyez sur CTRL + O puis CTRL + X pour appliquer les modifications. | Appuyez sur CTRL + O puis CTRL + X pour appliquer les modifications. | ||