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
_This guide has been tested with Tails OS versions **5.16.1**_
_This guide has been tested with Tails OS versions **5.18** and **signal-cli-v0.12.4**_
## Persistent Storage
## Persistent Storage
...
@@ -6,7 +6,7 @@ _This guide has been tested with Tails OS versions **5.16.1**_
...
@@ -6,7 +6,7 @@ _This guide has been tested with Tails OS versions **5.16.1**_
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
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.
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.
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 ▸ Root Terminal and use the password set in step 3.
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:
6. In order to keep [signal-cli's storage](https://github.com/AsamK/signal-cli#storage) persistent, execute:
```plaintext
```plaintext
...
@@ -15,7 +15,7 @@ sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/pers
...
@@ -15,7 +15,7 @@ sed -i '$ a /home/amnesia/.local/share/signal-cli/ source=signal-cli' /live/pers
7. Shutdown Tails.
7. Shutdown Tails.
## ~~Configuring additional APT repositories for signal-cli~~
<!-- ## ~~Configuring additional APT repositories for signal-cli~~
**WARNING: Until Tails has libc6 >= 2.34, most current signal-cli is not supported, latest compatible version is outdated and thereby might become exposed to security vulnerabilities**
**WARNING: Until Tails has libc6 >= 2.34, most current signal-cli debian package is not supported, so you have to [provide native lib for libsignal](https://github.com/AsamK/signal-cli/wiki/Provide-native-lib-for-libsignal#pre-built) for the latest signal-cli binary, in this section of the guide this is explained for signal-cli-0.12.4 with libsignal_v0.32.1. This version might become outdated if this guide is not updated regularly. Strongly recommended to use most current signal-cli along with compatible libsignal_jni.so [determining the required libsignal client version.](https://github.com/AsamK/signal-cli/wiki/Provide-native-lib-for-libsignal#determine-the-required-libsignal-client-version)**
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
<details>
<!--<details>
<summary>
<summary>
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
...
@@ -80,15 +80,15 @@ Persistent/apt-keys.sh
...
@@ -80,15 +80,15 @@ Persistent/apt-keys.sh
3. _~~Wait until additional software has been installed successfully~~_
3. _~~Wait until additional software has been installed successfully~~_
</details>
</details>-->
4. Update repositories and install `ca-certificates-java` and `openjdk-17-jre` executing
3. Update repositories and install `ca-certificates-java` and `openjdk-17-jre` executing
6. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. Download latest `signal-cli` and signature file depending on libc6 <=2.31, which is v0.11.11, executing:
7. Download `signal-cli-0.12.4` and signature file, executing:
6. As announced per https://github.com/AsamK/signal-cli/issues/65 repos owners PGP fingerprint is `FA10826A74907F9EC6BBB7FC2BA2CD21B5B09570` and the key id is `2BA2CD21B5B09570`. Download the pgp public key file from mentioned pgp key server:
6. As announced per https://github.com/AsamK/signal-cli/issues/65 repos owners PGP fingerprint is `FA10826A74907F9EC6BBB7FC2BA2CD21B5B09570` and the key id is `2BA2CD21B5B09570`. Download the pgp public key file from mentioned pgp key server:
10. Extract `libsignal_jni.so` and replace the currently bundled file with the downloaded one:
```plaintext
tar xf Persistent/libsignal_jni.so-v0.32.1-x86_64-unknown-linux-gnu.tar.gz -C Persistent/ && zip -d Persistent/signal-cli-0.12.4/lib/libsignal-client-0.32.1.jar libsignal_jni.so && zip Persistent/signal-cli-0.12.4/lib/libsignal-client-0.32.1.jar Persistent/libsignal_jni.so && rm Persistent/libsignal_jni.so
```
## 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
1. Start your Tails unlocking your persistent storage
2. Choose Applications ▸ System Tools ▸ Terminal
2. Choose Applications ▸ System Tools ▸ Terminal
<details>
<!--<details>
<summary>
<summary>
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
~~DEPRECEATED due to signal-cli >= v.0.11.11 requires libc6 <= 2.34~~
...
@@ -156,12 +167,14 @@ Persistent/apt-keys.sh
...
@@ -156,12 +167,14 @@ Persistent/apt-keys.sh
and _Wait until additional software has been installed successfully_
and _Wait until additional software has been installed successfully_
</details>
</details>-->
4. Choose Applications ▸ System Tools ▸ Terminal 5. signal-cli-jre requires at least Java Runtime Environment (JRE) 17. We need to tell jre to use torsocks' SOCKS proxy and add the signal-cli directory to the path, executing:
3. Choose Applications ▸ System Tools ▸ Terminal
<--5. signal-cli-jre requires at least Java Runtime Environment (JRE) 17.-->
4.We need to tell jre to use torsocks' SOCKS proxy and add the signal-cli directory to the path, executing:
Every now and then you should also receive events with your signal-cli, so in case something needs to be done via signal-cli, it doesn't take ages to sync last 300 days or so of events:
Every now and then you should also receive events with your signal-cli, so in case something needs to be done via signal-cli, it doesn't take ages to sync last 300 days or so of events:
## Provisioning Signal-Desktop
1. Start your Tails unlocking your persistent storage
1. Start your Tails unlocking your persistent storage
2. _Wait until additional software has been installed successfully_
2. _Wait until additional software has been installed successfully_