Install Signal on a RPI
How to install Signal (the messaging app) on a Raspberry PI running Raspbian.
Install SCli, signal-cli, Java 17, find a arm build of signal-libs and apply it to SCli.
Prerequisite
sudo apt install zip fonts-noto-color-emoji qrencode xclip
pip install urwid-readline
pip3 install urwid
Create a Signal folder
mkdir ~/signal
cd ~/signal/
Install SCLI
git clone https://github.com/isamert/scli
Install Signal-CLI
Find the number of the latest version here and replace it below :
export VERSION="0.11.5.1" # Replace the version number here
wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}"-Linux.tar.gz
sudo tar xf signal-cli-"${VERSION}"-Linux.tar.gz -C /opt
sudo ln -sf /opt/signal-cli-"${VERSION}"/bin/signal-cli /usr/local/bin/
Install JAVA 17
wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_arm_linux_hotspot_17.0.1_12.tar.gz
tar xzfv OpenJDK17U-jdk_arm_linux_hotspot_17.0.1_12.tar.gz
sudo nano ~/.bashrc
Add this at the end of the .bashrc file:
export PATH=$PWD/signal/jdk-17.0.1+12/bin:$PATH
Check the installation : The command below must display version 17 and the contents of Signal CLI
java -version
sudo ls /opt/signal-cli-"${VERSION}"/
Find the libsignal version number used by Signal-cli with this command :
sudo ls /opt/signal-cli-"${VERSION}"/lib/libsignal-client-*
This should return this kind of info :
> /opt/signal-cli-“${VERSION}”/lib/libsignal-client-0.21.1jar
You can then replace the version in the command below and run it.
export VERSION_LIB_SIGNAL="0.21.1" # Remplace the version number here
Go on signal-libs-builds to download the build libsignal-client for armv7 in the correct version (or take the last available one) with your web browser.
Extract the content of the archive (a file named libsignal_jni.so) and put it in the directory ~Downloads for example
cd ~/Downloads/
sudo zip -d /opt/signal-cli-"${VERSION}"/lib/libsignal-client-"${VERSION_LIB_SIGNAL}".jar libsignal_jni.so
sudo zip -uj /opt/signal-cli-"${VERSION}"/lib/libsignal-client-"${VERSION_LIB_SIGNAL}".jar libsignal_jni.so
At this point, the installation is over!
Linking an existing device
Replace nicopi in the command below with the name of your device. This will be visible on your Signal app on mobile.
signal-cli link -n "nicopi" | tee >(xargs -L 1 qrencode -t utf8)
Scan QRCODE on the phone.
Optional
Configure the terminal to use fonts-noto-color-emoji (to see the emojis). But it can work without.
Let’s go!
~/signal/scli/scli --save --color=high
Main keyboard shortcuts
yon a message to copy a messageDon a message to delete a message for everyoneeon a message to put a reaction on a message- Message
:a /path/image.jpg My messageto add an image - Message
:cto paste the clipboard, even an image