
Applicazione desktop per registrare un account Signal e collegare Signal Desktop senza bisogno di uno smartphone, utilizzando i protocolli crittografici di Signal per il provisioning sicuro del dispositivo.
Un'applicazione desktop per registrare un account con Signal e collegarlo a Signal Desktop, il tutto senza richiedere uno smartphone.

Questa utility evita la necessità di uno smartphone, ma richiederà comunque un modo per ricevere messaggi SMS durante la fase di configurazione. Signal ha recentemente introdotto gli account senza numero, ma questo richiede comunque Android e i servizi di Google Play. È molto probabile che in futuro offriranno opzioni di pagamento alternative.
Scarica l'ultima release!
Ci sono molteplici ragioni per cui questo strumento potrebbe interessarti:
La sicurezza delle tue conversazioni su Signal è tanto bassa quanto la sicurezza dei dispositivi su cui è installato:
Se il tuo dispositivo viene perso o rubato quando non è bloccato con il tuo codice di accesso, ovviamente qualcuno potrebbe leggere i messaggi su di esso. Allo stesso modo, è noto che le forze dell'ordine utilizzano strumenti forensi per accedere a dispositivi sequestrati, rendendo possibile leggere qualsiasi cosa sul dispositivo, inclusi i tuoi messaggi.
Alcune persone non hanno uno smartphone, e dovrebbero poter usare Signal :-)
Al momento, Signal Desktop richiede un numero di telefono e uno smartphone per configurare un account. Questo potrebbe cambiare in futuro ma fino ad allora, puoi usare questo.
"Presumo che la tua domanda riguardi una sorta di registrazione con numero di telefono che esiste oggi su Signal. Stiamo valutando di aggiungere, si spera entro la fine di quest'anno, un modo per registrarsi senza numeri di telefono. [...]"
— Ehren Kret, CTO di Signal, 20 lug 2026
Scarica il file per il tuo sistema dalla pagina delle release:
.dmg e trascina Signal Setup in Applicazioni.AppImage: Rendilo eseguibile (chmod +x Signal_Setup-*.AppImage) ed eseguilo. Viene pubblicato anche un semplice binario signal-setup-linux-* se preferisci.Le release non sono firmate con un certificato di sviluppatore a pagamento ($99 USD all'anno per macOS, ancora di più per Windows), e di conseguenza il sistema ti avvisa dopo l'installazione:
macOS mostra "impossibile aprire perché proviene da uno sviluppatore non
identificato." Fai clic con il tasto destro sull'app e scegli Apri, poi conferma. Devi
farlo solo una volta. Se segnala che l'app è "danneggiata," cancella il flag di quarantena del download: xattr -dr com.apple.quarantine "/Applications/Signal Setup.app".
Windows SmartScreen mostra "Windows ha protetto il tuo PC." Fai clic su Ulteriori informazioni, poi su Esegui comunque.
cargo build --release
./target/release/signal-setup
Il progetto è un workspace Cargo con due crate: signal-setup-core (la
logica di registrazione Signal e collegamento del dispositivo) e signal-setup (la GUI
desktop che dipende da essa). Compilare il workspace produce il binario signal-setup
sopra menzionato.
Solo su Linux, alcune librerie di sistema sono utili per GPU/display:
# 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
Puoi eseguire lo strumento contro l'ambiente di staging di Signal invece che in produzione, il che è utile per lo sviluppo e i test senza rischiare il tuo account reale:
./target/release/signal-setup --staging
Per completare il passaggio di collegamento del dispositivo, avrai bisogno di un'istanza di Signal Desktop anch'essa connessa al server di staging. Compilare Signal Desktop dal sorgente lo fa per impostazione predefinita:
git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop
pnpm install
pnpm start
È disponibile anche un flag --demo per test completamente offline con dati fittizi (nessun
server necessario).
Esistono altri strumenti in grado di fare questo, come l'ottimo signal-cli di AsamK, ma sfortunatamente non forniscono un'interfaccia utente grafica. Una versione precedente di questo strumento lo usava sotto il cofano, ma richiedeva agli utenti di avere una JVM installata per eseguire le cose.
Invece — e perché ho pensato che sarebbe stato più facile — ho usato l'occasione per fare un'immersione profonda nella crittografia di Signal.
Ecco un livello alto di come funzionano le cose (questa applicazione si registra come dispositivo Signal primario, e poi collega Signal Desktop come dispositivo secondario).
Ecco il flusso:
%%{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