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/08/11 13:17] (Version actuelle) – [Python3] 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 le module shared-secret-authenticator : |
| - | Il va nous falloir également installer [[https:// | + | < |
| - | Créez le fichier | + | |
| - | < | + | |
| - | + | ||
| - | Ajoutez les ligne suivante puis enregistrez | + | |
| - | < | + | |
| - | + | ||
| - | Ajoutez les clés du dépôt | + | |
| - | <code bash> | + | |
| - | + | ||
| - | 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 75: | ||
| < | < | ||
| L' | L' | ||
| - | <code bash> | + | <code bash> |
| Passons à la base de données | Passons à la base de données | ||
| Ligne 102: | Ligne 88: | ||
| 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 153: | ||
| ===== 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 200: | ||
| 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 206: | ||
| 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 216: | ||
| 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 225: | ||
| # 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 236: | ||
| </ | </ | ||
| + | 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. | ||