Update Registration and Provisioning via signal-cli updated to signal-cli 12.7... authored by about:privacy's avatar about:privacy
Update Registration and Provisioning via signal-cli updated to signal-cli 12.7 and tested on Tails 5.20
_This guide has been tested with Tails OS versions **5.18** and **signal-cli-v0.12.4**_ _This guide has been tested with Tails OS versions **5.20** and **signal-cli-v0.12.7**_
## Persistent Storage ## Persistent Storage
...@@ -61,7 +61,7 @@ echo -e '#/bin/sh\nsudo cp /home/amnesia/Persistent/morph027-signal-cli.asc /etc ...@@ -61,7 +61,7 @@ echo -e '#/bin/sh\nsudo cp /home/amnesia/Persistent/morph027-signal-cli.asc /etc
## Install signal-cli ## Install signal-cli
**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)** **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.7 with libsignal_v0.36.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
...@@ -111,10 +111,10 @@ sudo update-alternatives --install /usr/bin/signal-cli signal-cli /usr/bin/signa ...@@ -111,10 +111,10 @@ sudo update-alternatives --install /usr/bin/signal-cli signal-cli /usr/bin/signa
4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2 4. Make the installation persistent (_Install every time_) following step 3. at https://tails.boum.org/doc/persistent_storage/additional_software/#index4h2
5. Download `signal-cli-0.12.4` and signature file, executing: 5. Download `signal-cli-0.12.7` and signature file, executing:
```plaintext ```plaintext
wget https://github.com/AsamK/signal-cli/releases/download/v0.12.4/signal-cli-0.12.4.tar.gz -P /home/amnesia/Persistent/ && wget https://github.com/AsamK/signal-cli/releases/download/v0.12.4/v0.12.4.tar.gz.asc -P /home/amnesia/Persistent/ wget https://github.com/AsamK/signal-cli/releases/download/v0.12.7/signal-cli-0.12.7.tar.gz -P /home/amnesia/Persistent/ && https://github.com/AsamK/signal-cli/releases/download/v0.12.7/signal-cli-0.12.7.tar.gz.asc -P /home/amnesia/Persistent/
``` ```
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:
...@@ -126,7 +126,7 @@ torify -i gpg --keyserver pgp.mit.edu --recv-keys 0x2BA2CD21B5B09570 ...@@ -126,7 +126,7 @@ torify -i gpg --keyserver pgp.mit.edu --recv-keys 0x2BA2CD21B5B09570
7. Verify the archive: 7. Verify the archive:
```plaintext ```plaintext
gpg --verify Persistent/v0.12.4.tar.gz.asc Persistent/signal-cli-0.12.4.tar.gz gpg --verify Persistent/v0.12.7.tar.gz.asc Persistent/signal-cli-0.12.7.tar.gz
``` ```
**WARNING: It seems to be badly signed, looks likewise https://github.com/AsamK/signal-cli/issues/934** **WARNING: It seems to be badly signed, looks likewise https://github.com/AsamK/signal-cli/issues/934**
...@@ -134,17 +134,17 @@ gpg --verify Persistent/v0.12.4.tar.gz.asc Persistent/signal-cli-0.12.4.tar.gz ...@@ -134,17 +134,17 @@ gpg --verify Persistent/v0.12.4.tar.gz.asc Persistent/signal-cli-0.12.4.tar.gz
8. Extract the archive: 8. Extract the archive:
```plaintext ```plaintext
tar xf Persistent/signal-cli-0.12.4.tar.gz -C Persistent/ tar xf Persistent/signal-cli-0.12.7.tar.gz -C Persistent/
``` ```
9. Download pre-built `libsignal_jni.so` v0.32.1, executing 9. Download pre-built `libsignal_jni.so` v0.36.1, executing
```plaintext ```plaintext
wget https://github.com/exquo/signal-libs-build/releases/download/libsignal_v0.32.1/libsignal_jni.so-v0.32.1-x86_64-unknown-linux-gnu.tar.gz -P /home/amnesia/Persistent/ wget https://github.com/exquo/signal-libs-build/releases/download/libsignal_v0.36.1/libsignal_jni.so-v0.36.1-x86_64-unknown-linux-gnu.tar.gz -P /home/amnesia/Persistent/
``` ```
10. Extract `libsignal_jni.so` and replace the currently bundled file with the downloaded one: 10. Extract `libsignal_jni.so` and replace the currently bundled file with the downloaded one:
```plaintext ```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 tar xf Persistent/libsignal_jni.so-v0.36.1-x86_64-unknown-linux-gnu.tar.gz -C Persistent/ && zip -d Persistent/signal-cli-0.12.7/lib/libsignal-client-0.36.1.jar libsignal_jni.so && zip Persistent/signal-cli-0.12.7/lib/libsignal-client-0.36.1.jar Persistent/libsignal_jni.so
``` ```
11. We create a script for running `signal-cli` 11. We create a script for running `signal-cli`
...@@ -155,7 +155,7 @@ Further details ...@@ -155,7 +155,7 @@ Further details
</details> </details>
```plaintext ```plaintext
echo -e '#!/bin/sh\nexport JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true"\nexport PATH="/home/amnesia/Persistent/signal-cli-0.12.4/bin:$PATH"\nsudo sh -c '\''mkdir -p /usr/lib/jni && cp /home/amnesia/Persistent/libsignal_jni.so /usr/lib/jni'\''\ntorsocks --shell' | tee -a /home/amnesia/Persistent/signal-cli_tor.sh && chmod a+x /home/amnesia/Persistent/signal-cli_tor.sh echo -e '#!/bin/sh\nexport JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true"\nexport PATH="/home/amnesia/Persistent/signal-cli-0.12.7/bin:$PATH"\nsudo sh -c '\''mkdir -p /usr/lib/jni && cp /home/amnesia/Persistent/libsignal_jni.so /usr/lib/jni'\''\ntorsocks --shell' | tee -a /home/amnesia/Persistent/signal-cli_tor.sh && chmod a+x /home/amnesia/Persistent/signal-cli_tor.sh
``` ```
## General use of `signal-cli` on Tails ## General use of `signal-cli` on Tails
... ...
......