
Application de bureau pour enregistrer un compte Signal et lier Signal Desktop sans nécessiter de smartphone, en utilisant les protocoles cryptographiques de Signal pour l'approvisionnement sécurisé des appareils.
Une application de bureau pour créer un compte Signal et le lier à Signal Desktop, le tout sans nécessiter de smartphone.

Cet utilitaire évite le besoin d'un téléphone intelligent, mais nécessite tout de même un moyen de recevoir des SMS pendant la phase de configuration. Signal a récemment introduit les comptes sans numéro, mais cela nécessite toujours Android et les services Google Play. Il est fort probable que des options de paiement alternatives soient proposées à l'avenir.
Téléchargez la dernière version !
Il existe de multiples raisons pour lesquelles cet outil pourrait vous intéresser :
La sécurité de vos conversations Signal est aussi faible que celle des appareils sur lesquels elle est installée :
Si votre appareil est perdu ou volé alors qu'il n'est pas verrouillé par votre code, quelqu'un pourrait bien sûr lire les messages qu'il contient. De même, les forces de l'ordre sont connues pour utiliser des outils forensiques afin de pénétrer dans les appareils saisis, rendant possible la lecture de tout ce qui s'y trouve, y compris vos messages.
— Sécurité des groupes Signal, Freedom of the Press Foundation
Certaines personnes n'ont pas de smartphone, et elles devraient pouvoir utiliser Signal :-)
L'outil s'enregistre comme appareil principal du compte et lie Signal Desktop comme appareil secondaire. Signal autorise cinq appareils liés par compte, et cet outil peut vous aider à les lier tous. C'est utile dans les situations où vous souhaitez partager un compte Signal avec un collègue, par exemple.
À ce jour, Signal Desktop nécessite un numéro de téléphone et un smartphone pour configurer un compte. Cela pourrait changer à l' avenir mais en attendant, vous pouvez utiliser ceci.
« Je suppose que votre question concerne en quelque sorte l'inscription par numéro de téléphone qui existe sur Signal aujourd'hui. C'est quelque chose que nous étudions, espérons-le, pour plus tard cette année, en ajoutant un moyen de s'inscrire sans numéro de téléphone. [...] »
— Ehren Kret, CTO de Signal, 20 juillet 2026
Téléchargez le fichier correspondant à votre système depuis la page des versions :
.dmg et glissez Signal Setup dans Applications.AppImage : Rendez-le exécutable (chmod +x Signal_Setup-*.AppImage) et lancez-le. Un binaire simple signal-setup-linux-* est également publié si vous préférez.Les versions ne sont pas signées avec un certificat de développeur payant (99 USD par an pour macOS, encore plus pour Windows), et par conséquent le système vous avertit après l'installation :
macOS affiche « ne peut pas être ouvert car il provient d'un développeur
non identifié. » Faites un clic droit sur l'application et choisissez Ouvrir, puis confirmez. Vous n'avez
besoin de le faire qu'une seule fois. S'il indique que l'application est « endommagée », supprimez l'attribut de quarantaine du téléchargement : xattr -dr com.apple.quarantine "/Applications/Signal Setup.app".
Windows SmartScreen affiche « Windows a protégé votre ordinateur. » Cliquez sur Plus d'infos, puis sur Exécuter quand même.
cargo build --release
./target/release/signal-setup
Le projet est un espace de travail Cargo avec deux crates : signal-setup-core (la logique d'enregistrement Signal et de liaison d'appareil) et signal-setup (l'interface graphique de bureau qui en dépend). La compilation de l'espace de travail produit le binaire signal-setup ci-dessus.
Sous Linux uniquement, quelques bibliothèques système sont utiles pour le GPU/affichage :
# Ubuntu / Debian
sudo apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev \
libxkbcommon-dev libssl-dev protobuf-compiler
# Fedora
sudo dnf install libxcb-devel libxkbcommon-devel openssl-devel protobuf-compiler
# Arch
sudo pacman -S libxcb libxkbcommon openssl protobuf
Chaque compte peut être exporté depuis son écran « Manage » sous forme de fichier de clé :
signal-account-<number>.json. Il contient tout ce qui est nécessaire pour agir en tant qu'appareil
principal du compte, chiffré avec une phrase de passe de votre choix.
Conservez-le comme sauvegarde, vous pourrez l'importer sur une autre machine !
Les fichiers de clé contiennent également la clé maître, utile pour réenregistrer un numéro sans attendre l'expiration du verrou.
Vous pouvez exécuter l'outil contre l'environnement de staging de Signal plutôt que contre la production, ce qui est utile pour le développement et les tests sans risquer votre véritable compte :
./target/release/signal-setup --staging
Pour terminer l'étape de liaison de l'appareil, vous aurez besoin d'une instance de Signal Desktop également connectée au serveur de staging. La compilation de Signal Desktop à partir des sources effectue cela par défaut :
git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop
pnpm install
pnpm start
Définissez SIGNAL_SETUP_DEBUG=1 pour afficher chaque réponse de l'API de vérification de Signal (statut et corps) dans le terminal, ce qui est la première chose à consulter lorsqu'un enregistrement n'aboutit pas.
Un indicateur --demo est également disponible pour des tests entièrement hors ligne avec des données fictives (aucun serveur nécessaire). En mode démo, le code de vérification 000000 simule un compte éligible au transfert d'appareil et 111111 un numéro verrouillé à l'enregistrement.
Il existe d'autres outils capables de faire cela, comme l'excellent signal-cli d'AsamK, mais malheureusement ils ne fournissent pas d'interface graphique. Une version précédente de cet outil l'utilisait sous le capot, mais nécessitait que les utilisateurs aient une JVM installée pour pouvoir exécuter les choses.
Au lieu de cela — et parce que j'ai pensé que ce serait plus simple — j'ai profité de l'occasion pour plonger en profondeur dans la cryptographie de Signal.
Voici un aperçu de haut niveau du fonctionnement (cette application s'enregistre comme appareil Signal principal, puis lie Signal Desktop comme appareil secondaire).
Voici le déroulement :
%%{init: {'theme':'default', 'themeVariables': {'background':'#ffffff'}}}%%
sequenceDiagram
actor User
participant App as App
participant Server as Signal Server
participant Desktop as Signal Desktop
participant Store as Disk + Keyring
Note over App: Step 0: Welcome (if saved accounts)