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
y
on a message to copy a messageD
on a message to delete a message for everyonee
on a message to put a reaction on a message- Message
:a /path/image.jpg My message
to add an image - Message
:c
to paste the clipboard, even an image