Skip to content

Signal cli

Difficulté Temps requis 20-30min

  • Objectif

    Créer un compte signal sans smartphone, et le raccorder à signal-desktop depuis un ordinateur sous Linux.


    Étapes
    • installer signal-cli et signal desktop si pas déjà fait
    • enregistrer un compte signal avec signal-cli
    • raccorder le compte créé à signal desktop
    • régler des paramètres de base du compte
    • télécharger régulièrement les messages avec signal-cli
  • Prérequis


  • Matériel requis


    • ordinateur sous Linux
    • un téléphone (mobile ou fixe) activé pour recevoir un code de confirmation par SMS ou appel
  • Intérêts de la mesure


    • Avoir un compte signal sans smartphone
    • Avoir plusieurs instances Signal (possible d'appairer sur signal-cli et desktop en parallèle d'un compte déjà existant sur une instance signal desktop)
    • Créer un nouveau compte Signal avec un numéro de téléphone fixe
  • Inconvénients


    • Pas d'interface graphique
    • Il faut récupérer régulièrement les messages dans Signal-cli pour ne pas perdre le compte (cf. plus bas)

Choix du bon outil selon la distribution Linux#

Debian et affiliées#

Si tu es sur Ubuntu, Tails, Mint ou n'importe quel OS basé sur Debian, on recommande l'utilisation de Signal Tools, outil très pratique qui facilite entre autres la configuration d'un compte sans smartphone avec signal-cli.

Conseil

Si tu souhaites créer un compte avec un numéro de téléphone fixe, il te faut également suivre ce tuto tant que signal-tools ne supporte pas la réception d'un code par la voix : https://0xacab.org/TheCodesUprising/tools/signal-tools/-/issues/44 mais signal-tools te facilitera quand-même les autres étapes, dont l'installation de signal-cli, signal-desktop et l'appairage entre les deux.

Autres distributions#

Signal-tools ne fonctionnera pas si tu es sur Fedora et affiliées (dont SecureBlue) ou n'importe quel autre Linux. Si tu utilises QubesOS, il est fonctionnel sur un template Debian.

Le tuto suivant explique comment utiliser l'outil signal-cli depuis un terminal.

Procédure d'installation et de configuration#

Installer signal desktop et signal-cli#

Si tu ne l'as pas déjà fait, installe signal-cli et signal-desktop

Par le magasin d'application flathub (Bazaar sur SecureBlue) : rechercher signal desktop et signal-cli et les installer.

Information

Pour ce tuto, on l'a fait via le magasin d'applications "Bazaar" ou un autre mode d'installation flatpak, parce que c'est la méthode la plus grand public, et recommandée sur secureblue. Si tu les a installé par un autre moyen, il faut probablement remplacer dans les commandes plus bas flatpak run org.asamk.SignalCli par signal-cli.

Enregistrer un compte signal avec signal-cli#

  • Résolution d'un captcha
    • Ouvre ce lien dans ton navigateur : https://signalcaptchas.org/registration/generate
    • Clique sur I am human, résous le captcha
    • Une fois résolu, refuse d'ouvrir automatiquement le lien dans Signal
    • Clic droit sur le lien Open Signal et sélectionne l'option Copier le lien, qui est de la la forme : signalcaptcha://signal-hcaptcha-v2.ALEATOIRE.registration.ALEATOIRE 
  • Dans un terminal, copie la ligne suivante et exécute-la (appuie sur Enter) :
Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace LIEN      par celui copié à l'étape précédente
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX register --captcha LIEN

Tu peux préparer la ligne de commande en avance et n'avoir plus qu'à copier-coller le lien une fois le captcha résolu pour t'assurer que le lien n'expire pas avant d'avoir fait l'opération. 

Tu dois alors recevoir un code par SMS.

Info

Si tu fais cette procédure avec un téléphone fixe, le terminal va alors renvoyer un code d'erreur 400 ou autre. Il faut alors exécuter la ligne suivante :

Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX register --voice

Tu recevras alors un appel avec une annonce automatique en anglais répétant deux fois le code à six chiffres. Si ce n'est pas le cas, essaie avec un captcha à nouveau :

Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX register --voice --captcha LIEN
  • Exécute alors la ligne suivante :
Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace CODE par les 6 chiffres reçus par SMS (ou appel vocal)
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX verify CODE

!!! info Récupération d'un compte qui a un code PIN

Text Only
Si tu avais déjà enregistré ce compte et activé l'option "Blocage d'inscription" (très fortement recommandé), il te faut ajouter le code PIN de ton compte signal à la commande :

```bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace CODE par les 6 chiffres de vérification reçus par SMS
# Remplace CODE_PIN par le code PIN que tu as configuré sur ton compte Signal à la dernière installation
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX verify CODE --pin CODE_PIN
```

Success

À ce stade, ton compte est créé, raccordé à signal-cli.

Raccorder le compte signal créé à signal desktop#

Warning

Attention, le QRcode et le lien qui va avec expirent très rapidement (15/20 secondes), prépare les étapes suivantes en avance pour les enchaîner assez rapidement.

  • Ouvre signal-desktop (ou crée une nouvelle instance si tu en avais déjà une), fais une capture d'écran du QRcode qui s'affiche et télécharge-la dans un décodeur de QRcode
    • par exemple sur la page suivante dans ton navigateur : https://zxing.org/w/decode.jspx
    • clique sur choisir un fichier / browse, sélectionne la capture d'écran, puis clique sur Submit Query
    • tu peux récupérer un des liens (identiques) dans le tableau qui s'affiche, il est sous la forme sgnl://linkdevice?uuid=ALEATOIRE&pub_key=ALEATOIRE=NOM_DEVICE
  • Copie le lien qui ressort et colle-le dans la ligne de commande suivante :
Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace LIEN par celui copié à l'étape précédente, laisse les guillemets
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX addDevice --uri "LIEN"

Success

L'application signal-desktop charge alors ton compte.

Info

L'application desktop est un « appareil secondaire », l'« appareil primaire » est sous signal-cli. Certains paramétrages ne peuvent pas être effectués sur les appareils secondaires, il faut donc les effectuer avec signal-cli, en ligne de commande.

Terminer le paramétrage du compte#

D'autres réglages peuvent être opérés dans desktop mais les suivants ne peuvent être opérés que sur l'appareil primaire (donc signal-cli).

Mettre en place un code PIN#

Si tu veux changer un code PIN déjà paramétré, il faut d'abord le désactiver avec :

Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX removePin

Pour créer un code PIN d'au moins 6 chiffres :

Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace CODE_PIN  par le code PIN avec lequel tu souhaites bloquer ton compte, d'au moins 6 chiffres
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX setPin CODE_PIN

(Dés)activer accusés réception et de lecture ; les indicateurs de saisie ; aperçus de liens envoyés#

L'option la plus protectrice est de désactiver tous ces réglages, voici comment le faire en une commande :

Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX updateConfiguration --read-receipts false --unidentified-delivery-indicators false --typing-indicators false --link-preview false

Si tu souhaites faire des compromis selon ton modèle de menace, tu peux relancer la commande en activant une des options en remplaçant false par true (chaque paramètre peut être réglé indépendamment des autres).

Les options paramètrent Signal pour :

Paramètre Description
--read-receipts Envoyer aux expéditeurices des accusés de lecture
--unidentified-delivery-indicators Envoyer aux expéditeurices inconnu.es des accusés de réception
--typing-indicators Envoyer les indicateurs de saisi ... lorsque tu rédiges un message
--link-previews Générer l'image d'aperçu du site lorsque tu envoies un lien (⚠vecteur d'attaque potentiel)

Télécharger régulièrement les messages avec signal-cli#

Warning

Si l'appareil principal d'un compte Signal ne consulte pas régulièrement les messages, le serveur Signal affiche une bannière sur les appareils secondaires pendant une semaine puis supprime automatiquement le compte après un délai de quelques semaines.

Pour éviter ce bannissement, il suffit de télécharger les messages régulièrement (au maximum une fois par mois) depuis signal-cli avec la commande suivante :

Bash
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX receive

Information

Pour aller plus loin :

https://stateofsurveillance.org/guides/basic/delivery-receipt-privacy-settings/