
Desktop-Anwendung zur Registrierung eines Signal-Kontos und Verknüpfung von Signal Desktop, ohne dass ein Smartphone erforderlich ist, unter Verwendung von Signals kryptografischen Protokollen für eine sichere Gerätebereitstellung.
Eine Desktop-Anwendung, um ein Konto bei Signal zu registrieren und es mit Signal Desktop zu verbinden, ganz ohne Smartphone.

Beachten Sie, dass Signal weiterhin eine Telefonnummer benötigt. Dieses Dienstprogramm vermeidet die Notwendigkeit eines Smartphones, erfordert jedoch weiterhin eine Möglichkeit, während der Einrichtungsphase SMS-Nachrichten zu empfangen.
Holen Sie sich die neueste Version!
Es gibt mehrere Gründe, warum dieses Werkzeug für Sie interessant sein könnte:
Die Sicherheit Ihrer Signal-Unterhaltungen ist so niedrig wie die Sicherheit der Geräte, auf denen es installiert ist:
Wenn Ihr Gerät verloren geht oder gestohlen wird, während es nicht mit Ihrem Passcode gesperrt ist, kann natürlich jemand die Nachrichten darauf lesen. Ebenso ist bekannt, dass Strafverfolgungsbehörden forensische Werkzeuge verwenden, um in beschlagnahmte Geräte einzudringen, was es ermöglicht, alles auf dem Gerät zu lesen, einschließlich Ihrer Nachrichten.
Manche Menschen haben kein Smartphone, und sie sollten Signal nutzen können :-)
Signal hat nicht die Absicht, diesen Anwendungsfall in ihrer eigenen Software zu unterstützen. Eigenständiger Registrierungscode existiert zwar in Signal Desktop, ist aber nur für Entwicklungs- und Staging-Builds freigeschaltet, und die Maintainer haben in ihrem Tracker bestätigt, dass er nicht für Endbenutzer bestimmt ist (#1118, #551, #575, #6431). Deshalb existiert dieses separate Werkzeug.
Laden Sie die Datei für Ihr System von der Releases-Seite herunter:
.dmg und ziehen Sie Signal Setup in den Ordner „Programme“.AppImage: Machen Sie es ausführbar (chmod +x Signal_Setup-*.AppImage) und führen Sie es aus. Eine einfache signal-setup-linux-*-Binärdatei wird ebenfalls veröffentlicht, wenn Sie das bevorzugen.Die Versionen sind nicht mit einem kostenpflichtigen Entwicklerzertifikat signiert (99 USD pro Jahr für macOS, noch mehr für Windows), und daher warnt Sie das System nach der Installation:
macOS zeigt „kann nicht geöffnet werden, da es von einem nicht identifizierten Entwickler stammt“ an. Klicken Sie mit der rechten Maustaste auf die App und wählen Sie Öffnen, dann bestätigen Sie. Sie müssen dies nur einmal tun. Falls die App als „beschädigt“ gemeldet wird, entfernen Sie das Quarantäne-Flag: xattr -dr com.apple.quarantine "/Applications/Signal Setup.app".
Windows SmartScreen zeigt „Windows hat Ihren PC geschützt“ an. Klicken Sie auf Weitere Informationen und dann Trotzdem ausführen.
cargo build --release
./target/release/signal-setup
Das Projekt ist ein Cargo-Workspace mit zwei Crates: signal-setup-core (die Signal-Registrierungs- und Geräteverbindungslogik) und signal-setup (die Desktop-GUI, die darauf aufbaut). Das Erstellen des Workspace erzeugt die signal-setup-Binärdatei wie oben.
Nur unter Linux sind einige Systembibliotheken für GPU/Display nützlich:
# 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
Sie können das Werkzeug gegen die Staging-Umgebung von Signal anstelle der Produktion ausführen, was für Entwicklung und Tests nützlich ist, ohne Ihr echtes Konto zu gefährden:
./target/release/signal-setup --staging
Um den Geräteverbindungsschritt abzuschließen, benötigen Sie eine Signal Desktop-Instanz, die ebenfalls mit dem Staging-Server verbunden ist. Das Erstellen von Signal Desktop aus dem Quellcode macht dies standardmäßig:
git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop
pnpm install
pnpm start
Ein --demo-Flag ist ebenfalls für vollständig offline Tests mit fiktiven Daten verfügbar (kein Server erforderlich).
Es gibt andere Werkzeuge, die dies können, wie das großartige signal-cli von AsamK, aber leider bieten sie keine grafische Benutzeroberfläche. Eine frühere Version dieses Werkzeugs verwendete es unter der Haube, erforderte jedoch, dass Benutzer eine JVM installiert hatten, um es auszuführen.
Stattdessen – und weil ich dachte, es wäre einfacher – nutzte ich die Gelegenheit, um tief in Signal's Kryptographie einzutauchen.
Hier eine Übersicht, wie die Dinge funktionieren (diese Anwendung registriert sich als primäres Signal-Gerät und verbindet dann Signal Desktop als sekundäres Gerät).
Hier ist der Ablauf:
%%{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)
rect rgb(235,245,255)
Note over User,Server: Phase 1: Request verification code
User->>App: Step 1: enter phone (+1234567890)
App->>Server: POST /v1/verification/session
Server-->>App: session.id (+ captcha_required?)
alt Captcha required
Note over App: Step 2 shown
User->>App: solve captcha, paste it
App->>Server: POST .../session/{id}/code (sms)
else No captcha
App->>Server: POST .../session/{id}/code (sms)
end
Server-->>User: SMS verification code
end
rect rgb(235,255,235)
Note over User,Server: Phase 2: Verify & register account
User->>App: Step 3: enter 6-digit code
App->>Server: PUT .../session/{id}/code {code}
Note over App: Generate keys: ACI/PNI identity,<br/>signed pre-keys, Kyber PQ keys,<br/>master/profile keys, password
App->>Server: POST /v1/registration (account attrs + keys)
alt 409 Device transfer available
Server-->>App: 409 / DeviceTransferAvailable
Note over App: warn, retry skipping device transfer
else Success
Server-->>App: registered
App->>Store: save metadata (disk) + secrets (keyring)
end
end
rect rgb(255,245,235)
Note over User,Desktop: Phase 3: Link Signal Desktop
User->>App: Step 4: launch Desktop, "Link to existing device"
Desktop-->>User: shows QR code
User->>App: paste QR image / link
App->>Server: GET /v1/devices/provisioning/code
Server-->>App: verification_code
Note over App: Build ProvisionMessage (identity keys,<br/>profile/master key, code) →<br/>ECDH + HKDF + AES-256-CBC + HMAC
App->>Server: PUT /v1/provisioning/{ephemeral_id} (envelope)
Server-->>Desktop: deliver envelope / register as device 2
loop Poll up to 60s
App->>Server: GET /v2/keys/{aci}/2
Server-->>App: device 2 pre-keys (when ready)
end
Note over App: send_linked_device_sync():<br/>X3DH + Double Ratchet session,<br/>encrypt empty contacts SyncMessage
App->>Server: PUT /v1/messages/{aci} (encrypted sync)
Server-->>Desktop: SyncMessage / leaves "Syncing…"
end
App-->>User: Step 5 : 🎉 Setup complete
Signal ohne Smartphone
Copyright (C) 2026 Alexis Métaireau
Dieses Programm ist freie Software: Sie können es weiterverbreiten und/oder
modifizieren unter den Bedingungen der GNU Affero General Public License, wie
sie von der Free Software Foundation veröffentlicht wurde, entweder Version 3
der Lizenz oder (nach Ihrer Wahl) jeder späteren Version.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird,
aber OHNE JEDE GEWÄHRLEISTUNG; sogar ohne die stillschweigende Garantie der
MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die
GNU Affero General Public License für weitere Details.
Sie sollten eine Kopie der GNU Affero General Public License zusammen mit
diesem Programm erhalten haben. Wenn nicht, siehe <https://www.gnu.org/licenses/>.