fixes, remove java authored by about:privacy's avatar about:privacy
_This guide has been tested with Tails OS versions **6.11** and **signal-cli-v0.13.11**
_This guide has been tested with Tails OS versions **6.11** and **signal-cli-v0.13.11**_
This guide uses apt repositories for installing and updating signal-cli. [Every time Tails starts it installs and if you are connected also checks for updates on additional software](https://tails.net/doc/persistent_storage/additional_software/index.en.html#index3h2) and brings signal-cli up-to-date. No manual updates for signal-cli needed anymore. If you have used this guide previously before January 11th, 2025, follow all steps and optionally _Remove older installation of this guide_ to free up space.
......@@ -15,72 +15,57 @@ This guide uses apt repositories for installing and updating signal-cli. [Every
2. 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
3. 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.
4. (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.
5. Choose Applications ▸ System Tools ▸ Terminal and use the password set in step 4.
5. Choose Applications ▸ System Tools ▸ Root Terminal and use the password set in step 4.
6. In order to keep [signal-cli's storage](https://github.com/AsamK/signal-cli#storage) persistent, execute:
```plaintext
sudo sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/persistence/TailsData_unlocked/persistence.conf
```
7. Shutdown Tails.
## 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
2. Choose Applications ▸ System Tools ▸ Root Terminal, use the password set in step 1.
3. Create an apt-sources.list.d folder in your Persistent Storage:
7. Configuring additional APT repositories for signal-cli, create an apt-sources.list.d folder in your Persistent Storage:
```plaintext
install -d -m 755 /live/persistence/TailsData_unlocked/apt-sources.list.d
```
4. We need to make the `apt-sources.list.d` folder persistent, by executing:
8. We need to make the `apt-sources.list.d` folder persistent, by executing:
```plaintext
sed -i '$ a /etc/apt/sources.list.d source=apt-sources.list.d,link' /live/persistence/TailsData_unlocked/persistence.conf
```
5. Now we add the [signal-cli debian repository](https://packaging.gitlab.io/signal-cli/installation/standalone/#repository) to a new file `/live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list` and set correct file ownership and permissions:
9. Now we add the [signal-cli debian repository](https://packaging.gitlab.io/signal-cli/installation/standalone/#repository) to a new file `/live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list` and set correct file ownership and permissions:
```plaintext
echo -e 'deb [signed-by=/usr/share/keyrings/persistent/morph027-signal-cli.asc] tor+https://packaging.gitlab.io/signal-cli signalcli main' | tee -a /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list && chown root:root /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list && chmod 644 /live/persistence/TailsData_unlocked/apt-sources.list.d/morph027-signal-cli.list
```
7. We need to download and add the signal-cli's repo signing key to apt and persist it since [Tails doesn't support 3rd party repo keys](https://gitlab.tails.boum.org/tails/tails/-/issues/17510) natively:
10. We need to download and add the signal-cli's repo signing key to apt and persist it since [Tails doesn't support 3rd party repo keys](https://gitlab.tails.boum.org/tails/tails/-/issues/17510) natively:
```plaintext
sed -i '$ a /usr/share/keyrings/persistent source=apt/keyrings' /live/persistence/TailsData_unlocked/persistence.conf && install -d -m 755 /live/persistence/TailsData_unlocked/apt/keyrings && sudo -u amnesia wget --retry-connrefused -O /tmp/morph027-signal-cli.asc https://packaging.gitlab.io/signal-cli/gpg.key && cp /tmp/morph027-signal-cli.asc /live/persistence/TailsData_unlocked/apt/keyrings/morph027-signal-cli.asc
```
9. Shutdown Tails.
11. Shutdown Tails.
## 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/.
2. Choose Applications ▸ System Tools ▸ Terminal
3. Update repositories and install `ca-certificates-java` and `openjdk-21` executing
```plaintext
sudo apt-get update && sudo apt-get install -y ca-certificates-java && wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb -P /home/amnesia/Persistent/ && sudo dpkg -i /home/amnesia/Persistent/jdk-21_linux-x64_bin.deb
```
5. Install `signal-cli-native` executing
3. Update repositories and install 'signal-cli-native'
```plaintext
sudo apt-get install -y signal-cli-native
sudo apt-get update && sudo apt-get install -y signal-cli-native --no-install-recommends
```
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
6. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
7. Check installed version of signal-cli by running
5. Check installed version of signal-cli by running
```plaintext
signal-cli version
```
## General use of `signal-cli` on Tails
**(aka steps required every time you want to use `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.
2. Choose Applications ▸ System Tools ▸ Terminal
3. _Wait until additional software has been installed successfully_
4. Run either a torified shell before using `signal-cli` commands:
......@@ -101,14 +86,13 @@ torsocks -i signal-cli
## Remove older installation of this guide
If you have installed signal-cli using an older version of this HowTo guide which instructed you to download and extract binaries from https://github.com/AsamK/signal-cli/releases you can safely remove those files freeing precious space on your Persistent since they are not needed anymore, also java is not needed anymore:
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
2. Choose Applications ▸ System Tools ▸ Terminal
3. WARNING! This deletes all files which start with `signal-cli` in your Persistent folder. This is safe if you followed previous versions of this HowTo and did not create files with such a naming scheme manually. It does not remove any messages nor account data. Execute:
3. **WARNING!** This deletes all files which start with `signal-cli` in your Persistent folder. This is safe if you followed previous versions of this HowTo and did not create files with such a naming scheme manually. It does not remove any messages nor account data. Execute:
```plaintext
rm -r /home/amnesia/Persistent/signal-cli* && rm /home/Persistent/jdk-21_linux-x64_bin.deb
```
**Replace $PHONE_NR with your phone number using the international format (e. g. +15758941234 for a number registered in Truth or consequences, New Mexico)**
_Tip: If you want to acquire an anonymous phone number for registering signal, one can do so using free temporary phone numbers for receiving text messages online. For example _**_https://quackr.io/_**_ is quite reliable service if you choose numbers of so-called "Western countries". Please note, that everyone can re-register your phone number with signal, revoking your access to your newly acquired number. Therefore _[_set a registration lock PIN_](#Registration-and-registration-lock-pin)_ immediately after successful verification. Receive/send messages **at least once every 7 days** in order to keep your number. _[**_Signal is changing the re-registration condition's forth and back_**](https://blog.privacyguides.org/2022/11/10/signal-number-registration-update/)_**, so this method might not work for keeping an anonymous phone number forever._**_ This is the reason why many of the freely available numbers can not be registered with signal w/o PIN, 'cause they already have been registered by someone else who subsequently set a registration lock pin. Be patient and keep trying either lately or old added numbers should do the trick._
......@@ -117,7 +101,12 @@ _Tip: If you want to acquire an anonymous phone number for registering signal, o
1. Follow steps 1 through 4 at section [General use of signal-cli on Tails](#General-use-of-signal-cli-on-Tails)
2. Follow the steps on https://github.com/AsamK/signal-cli/wiki/Registration-with-captcha
3. You should set a registration lock pin, to prevent others from registering this number:
3. If everything was successful, you should be able to list your Signal account executingg:
```plaintext
signal-cli listAccounts
```
4. You should set a registration lock pin, to prevent others from registering this number:
```plaintext
signal-cli -a $PHONE_NR setPin "verysafepassword"
......
......