-
-
Notifications
You must be signed in to change notification settings - Fork 309
Linking other devices (Provisioning)
Signal allows to link additional devices to your primary device. A "primary" program can be the official Signal app on a mobile device (e.g. Signal-Android), or an instance of signal-cli. A "linked" program can be Signal-Desktop, or an instance of signal-cli. Note that currently Signal allows up to five linked devices per primary; attempting to link additional devices using signal-cli as a primary (with signal-cli addDevice …
) leads to "Authentication failed" error.
-
Connect to another device
signal-cli link -n "optional device name"
This shows a
sgnl://linkdevice…
link (ortsdevice:/…
in earlier versions); if you want to connect to another signal-cli instance, you can just use this link (see below for details). If you want to link to an mobile device, create a QR code with the link (e.g. with qrencode) and scan that in the Signal app.To request a link and display the resulting QR code image in a single command on linux:
signal-cli link -n "optional device name" | tee >(xargs -L 1 qrencode -t utf8)
alternatively, you can try:
signal-cli link -n "optional device name" | xargs -L 1 qrencode -o /tmp/qrcode.png & while [ ! -f /tmp/qrcode.png ]; do sleep 1; done; xdg-open /tmp/qrcode.png
or for newer versions on android:
signal-cli link -n "optional device name" | xargs -L 1 qrencode -o /tmp/qrcode.png --level=H -v 10 & while [ ! -f /tmp/qrcode.png ]; do sleep 1; done; xdg-open /tmp/qrcode.png
Do not kill the
signal-cli link …
process until linking is finished; the process will exit when it's done.After linking was successful, you need to execute the receive command to get the list of contacts and groups from the main device.
signal-cli -u USERNAME receive
-
Add another device
signal-cli -u USERNAME addDevice --uri "tsdevice:/…"
The
tsdevice:/…
link (orsgnl://linkdevice…
in more recent versions) is the one shown by the new signal-cli instance or contained in the QR code shown in Signal-Desktop or similar apps.Only the master device (that was registered directly, not linked) can add new devices.
-
Manage linked devices
signal-cli -u USERNAME listDevices signal-cli -u USERNAME removeDevice -d DEVICE_ID
-
Connect to another signal-cli instance
You cannot run two instances on the same machine, so use either a virtual machine or another physical machine for your secondary device. On the secondary machine, issue the command
signal-cli link -n "optional device name"
This will display the
tsdevice:/…
link. Then go back to the primary machine and issue the commandsignal-cli -u USERNAME addDevice --uri "tsdevice:/…"
This links the two instances. Now, on your secondary machine, you can run
signal-cli -u USERNAME daemon
or any other valid signal-cli command except those which can only be used from the primary device.