Hello! We are running our annual fundraising. Please consider making a donation if you value this freely available service or want to support people around the world working towards liberatory social change - https://riseup.net/donate
0. Make sure you are using an up to date Tails OS, check out https://tails.boum.org/doc/upgrade/.
0. Make sure you are using an up to date Tails OS, check out https://tails.boum.org/doc/upgrade/.
1. Create persistent storage, follow the steps on https://tails.boum.org/doc/persistent_storage/create/, skip to step 2 if you already have a persistent storage
1. Create persistent storage, follow the steps on https://tails.boum.org/doc/persistent_storage/create/, skip to step 2 if you already have a persistent storage
2. Configure persistent storage with *[Additonal software](https://tails.boum.org/doc/persistent_storage/configure/#index12h2)* enabled and features according to your other needs (mail, pgp, additional software) follow the steps on https://tails.boum.org/doc/persistent_storage/configure/, skip to [Install signal-cli](#install-signal-cli) if you already have configured your persistent storage with *additional software* enabled.
2. Configure persistent storage with *[Additonal software](https://tails.boum.org/doc/persistent_storage/configure/#index12h2)* enabled and features according to your other needs (mail, pgp, additional software) follow the steps on https://tails.boum.org/doc/persistent_storage/configure/, skip to [Install signal-cli](#install-signal-cli) if you already have configured your persistent storage with *additional software* enabled.
3. In order to keep [signal-cli's storage](https://github.com/AsamK/signal-cli#storage) persistent, execute:
3. (Re)start your Tails and setup an administration password, follow section _Set up an administration password_ at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/ and encrypt your Persistent on the start Screen.
4. Choose Applications ▸ System Tools ▸ Root Terminal
and use the password set in step 3.
6. In order to keep [signal-cli's storage](https://github.com/AsamK/signal-cli#storage) persistent, execute:
~~~
~~~
sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/persistence/TailsData_unlocked/persistence.conf
sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/persistence/TailsData_unlocked/persistence.conf
~~~
~~~
4. Shutdown Tails.
7. Shutdown Tails.
## Configuring additional APT repositories for signal-cli
## Configuring additional APT repositories for signal-cli
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section *Set up an administration password* at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section *Set up an administration password* at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Root Terminal
3. Get root privileges with executing `sudo -i`use the password set in step 1.
use the password set in step 1.
4. Create an apt-sources.list.d folder in your Persistent Storage:
4. Create an apt-sources.list.d folder in your Persistent Storage:
8. Create a script for adding the signing key to apt, this needs to be done due to [Tails not allowing to add Keys of 3rd party repos](https://gitlab.tails.boum.org/tails/tails/-/issues/17510):
8. Create a script for adding the signing key to apt, this needs to be done due to [Tails not allowing to add Keys of 3rd party repos](https://gitlab.tails.boum.org/tails/tails/-/issues/17510):
~~~
~~~
echo -e '#/bin/sh\ncp /home/amnesia/Persistent/morph027-signal-cli.asc /etc/apt/trusted.gpg.d/' | tee -a /home/amnesia/Persistent/apt-keys.sh && chown amnesia:amnesia /home/amnesia/Persistent/apt-keys.sh && chmod +x /home/amnesia/Persistent/apt-keys.sh
echo -e '#/bin/sh\nsudo cp /home/amnesia/Persistent/morph027-signal-cli.asc /etc/apt/trusted.gpg.d/' | tee -a /home/amnesia/Persistent/apt-keys.sh && chown amnesia:amnesia /home/amnesia/Persistent/apt-keys.sh && chmod +x /home/amnesia/Persistent/apt-keys.sh
~~~
~~~
9. Shutdown Tails.
9. Shutdown Tails.
## Install signal-cli
## Install signal-cli
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section *Set up an administration password* at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
1. Start your Tails unlocking your persistent storage and setup an administration password, follow section *Set up an administration password* at https://tails.boum.org/doc/first_steps/welcome_screen/administration_password/.
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Terminal
3. Run the script for adding signal-cli signing keys to apt: `Persistent/apt-keys.sh`
3. Run the script for adding signal-cli signing keys to apt:
~~~
Persistent/apt-keys.sh
~~~
3. _Wait until additional software has been installed successfully_
3. _Wait until additional software has been installed successfully_
4. Update repositories and install `ca-certificates-java` executing
5. Make the installation persistent (*Install every time*) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
~~~
5. If more than one signal-cli-* is installed, we need to update-alternatives for signal-cli to run signal-cli-jre executing `sudo update-alternatives --install /usr/bin/signal-cli signal-cli /usr/bin/signal-cli-jre 0`
6. Make the installation persistent (*Install every time*) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
7. If more than one signal-cli-* is installed, we need to update-alternatives for signal-cli to run signal-cli-jre executing
1. Start your Tails unlocking your persistent storage
1. Start your Tails unlocking your persistent storage
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Terminal
2. Run the script for adding signal-cli signing keys to apt: `Persistent/apt-keys.sh`
3. Run the script for adding signal-cli signing keys to apt:
_Wait until additional software has been installed successfully_
~~~
3. Choose Applications ▸ System Tools ▸ Terminal
Persistent/apt-keys.sh
4. signal-cli-jre runs via Java runtime environment (jre). We need to tell jre to use torsocks' SOCKS proxy exporting the following value executing: `export JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true"`
~~~
5. Start a shell with torsocks by executing: `torsocks --shell`
and _Wait until additional software has been installed successfully_
6. Now you can run any `signal-cli-jre` command, refer to [man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli.1.adoc) for help
4. Choose Applications ▸ System Tools ▸ Terminal
5. signal-cli-jre runs via Java runtime environment (jre). We need to tell jre to use torsocks' SOCKS proxy exporting the following value executing
7. Now you can run any `signal-cli-jre` command, refer to [man page](https://github.com/AsamK/signal-cli/blob/master/man/signal-cli.1.adoc) for help
**Replace $PHONE_NR with your phone number using the international format (e. g. +15758941234 for a number registered in Truth or consequences, New Mexico)**
**Replace $PHONE_NR with your phone number using the international format (e. g. +15758941234 for a number registered in Truth or consequences, New Mexico)**
4. 5. Make the installation persistent (*Install every time*) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
4. 5. Make the installation persistent (*Install every time*) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
3. Run Signal Desktop: `Persistent/signal-desktop.sh`
3. Run Signal Desktop:
~~~
Persistent/signal-desktop.sh
~~~
6.[Make a screenshot](https://tails.boum.org/doc/sensitive_documents/screenshot_and_screencast/index.en.html) capturing the Signal Desktop window showing the qr-code and safe the picture in `/home/amnesia/Pictures/qr.jpg`
6.[Make a screenshot](https://tails.boum.org/doc/sensitive_documents/screenshot_and_screencast/index.en.html) capturing the Signal Desktop window showing the qr-code and safe the picture in `/home/amnesia/Pictures/qr.jpg`
4. Open a new Terminal tab (top left + icon) or window (top right burger menu)
4. Open a new Terminal tab (top left + icon) or window (top right burger menu)
4. Get the qr-code link executing `zbarimg /home/amnesia/Pictures/qr.jpg`
4. Get the qr-code link executing
~~~
zbarimg /home/amnesia/Pictures/qr.jpg
~~~
6. Copy the qr decoded link (`sgnl://…`) to the clipboard.
6. Copy the qr decoded link (`sgnl://…`) to the clipboard.
5. Follow steps 1 through 5 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
5. Follow steps 1 through 5 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
7. Add your Signal Desktop to signal-cli executing 'signal-cli -a $PHONE_NR addDevice --uri "PasteTheQrCodeLinkHere"'
7. Add your Signal Desktop to signal-cli executing
~~~
signal-cli -a $PHONE_NR addDevice --uri "PasteTheQrCodeLinkHere"
~~~
8. Signal-Desktop should ask you to name the device (internal designation)
8. Signal-Desktop should ask you to name the device (internal designation)
9. If everything was successful, Signal Desktop should be ready to use. You can obtain a list of devices using your registered signal no. executing: `signal-cli -a $PHONE_NR listDevices`. It should list your Signal Desktop with the name you set in step 13. among the master (signal-cli).
9. If everything was successful, Signal Desktop should be ready to use. You can obtain a list of devices using your registered signal no. executing:
~~~
signal-cli -a $PHONE_NR listDevices
~~~
It should list your Signal Desktop with the name you set in step 13. among the master (signal-cli).
10. Use Settings to enable/disable features such as link preview, incoming calls etc. Recommended settings in terms of privacy are:
10. Use Settings to enable/disable features such as link preview, incoming calls etc. Recommended settings in terms of privacy are:
- Grant access to microphone only if using voice messages or voice calling.
- Grant access to microphone only if using voice messages or voice calling.
- Grant access to camera only if using video calling.
- Grant access to camera only if using video calling.
...
@@ -106,4 +148,7 @@ Every now and then you should also receive events with your signal-cli, so in ca
...
@@ -106,4 +148,7 @@ Every now and then you should also receive events with your signal-cli, so in ca
1. _Wait until additional software has been installed successfully_
1. _Wait until additional software has been installed successfully_
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Terminal
3. Follow steps 1 through 5 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
3. Follow steps 1 through 5 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
4. Receive events executing: `signal-cli -a $PHONE_NR receive`