Signal cli
- 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
- utiliser un terminal (mais on essaie de rendre ça abordable)
- Configurer Signal
-
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)
- Si le terminal n'est pas du tout un outil familier pour toi, ce tuto nécessite de s'y mettre. On a essayé de le rendre le plus explicite possible pour que ça ne soit pas un trop grand frein, mais si ça te pose problème, demande de l'aide ! Une personne autour de toi peut peut-être t'aider à suivre ce tuto ?
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. Si tu utilises QubesOS, il est fonctionnel sur un template Debian.
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.
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.
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#
- Dans un terminal, copie la ligne suivante et exécute-la (appuie sur Entrée) :
# 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
- Résoud un captcha
- Ouvre ce lien dans ton navigateur : https://signalcaptchas.org/registration/generate
- Clique sur
I am human, résoud le captcha - Une fois résolu, refuse d'ouvrir automatiquement le lien dans Signal si la page te le propose
- Clic Droit sur le lien
Open Signalet sélectionne l'optionCopier le lien, qui est de la forme :signalcaptcha://signal-hcaptcha-v2.ALEATOIRE.registration.ALEATOIRE
- Dans un terminal, copie la ligne suivante et exécute-la (appuie sur Entrée) :
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace, entre les "__" LIEN par celui copié à l'étape précédente (Il faut bien conserver les guillements)
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.
Utiliser un téléphone fixe
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 :
# 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 nouveau captcha :
- Exécute alors la ligne suivante :
# 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
Récupération d'un compte qui a un code PIN
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 :
# 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
Compte créé
À ce stade, ton compte est créé, raccordé à signal-cli.
Raccorder le compte signal créé à signal desktop#
Prochaines étapes rapides
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 surSubmit 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 :
# 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"
Compte créé et relié à Signal Desktop
L'application signal-desktop charge alors ton compte.
Appareils primaire et secondaire
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 :
# 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 :
# 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
Mettre en place un "username"#
Un "username", ou nom d'utilisateurice en français est l'équivalent d'une adresse spécifique à signal. Il peut être identique au pseudo mais ça n'est pas la même chose :
le pseudo, affiché dans les conversations, permet éventuellement de retrouver une personne avec qui on est déjà en contact (messages précédemment envoyés, boucles en commun…), plusieurs comptes signal peuvent avoir le même pseudo,
l'username sers à joindre une personne via signal, y compris sans contact préalable, et il est unique, ce qui permet de s'assurer qu'on parle à la bonne personne.
L'username est de format xxxx.1234 : xxxx étant une suite de caractères choisis et 1234 étant 2 à 4 chiffres qui peuvent être choisis (si la combinaison n'est pas déjà prise) ou par défaut définis aléatoirement par signal.
Une fois l'username créé, un QR code et une adresse URL sont aussi créés, rattachées à l'username, qui ont le même usage.
Tant que tu ne change pas l'username, tu peux transmettre l'un ou l'autre de ces moyens de contact par n'importe quel moyen pour que des personnes te contactent. Tu peux en changer quand tu le souhaite, mais cela rend inopérant le précédent username (ainsi que QR code et lien qui vont avec).
Pour créer un username :
# Remplace XXXXXXXXX par les 9 chiffres de ton numéro de téléphone (tous sauf le 0)
# Remplace USERNAME par l' nom d'utilisateurice avec lequel tu souhaites rendre joignable ton compte
flatpak run org.asamk.SignalCli -a +33XXXXXXXXX updateAccount -u USERNAME
(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 :
# 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 (=désactiver) par true (=activer).
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 ( |
Chaque paramètre peut être réglé indépendamment des autres, par exemple activer les accusés de lecture:
# 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 true
Télécharger régulièrement les messages avec signal-cli#
Éviter la suppression automatique du compte
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 :
# 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
Pour aller plus loin :
- déménagement d'historique ? Tester : https://signal.miraheze.org/wiki/How_to_move_Signal_Desktop_message_history_to_another_computer_(or_during_an_OS_reinstall)#tabber-Linux_2
- préciser la teneur de l'option unidentified-delivery-indicators ?
https://stateofsurveillance.org/guides/basic/delivery-receipt-privacy-settings/