====== How To: Installing and running the Signal Messenger on Tails ====== A different how to is available [[https://0xacab.org/about.privacy/messengers-on-tails-os/-/wikis/Signal/Install-Signal-desktop|here]] or via Tor Onion Service [[http://wmj5kiic7b6kjplpbvwadnht2nh2qnkbnqtcv3dyvpqtz7ssbssftxid.onion/about.privacy/messengers-on-tails-os/-/wikis/Signal/Install-Signal-desktop|here]] This how to is heavily based on [[https://bisco.org/notes/installing-and-running-signal-on-tails/|bisco.org]] Tested with: * Tails versions 4, 5 and 6 * Signal version 7.4.0 ===== 1) Install and configure Tails ===== ==== 1.1) Install Tails ==== See howto: [[https://tails.boum.org/|Tails]]. ==== 1.2) Boot Tails ==== Start Tails. Before logging in, make sure to enable the following option: - ☑️ Set an Administration Password. - ☑️ Enable the persistent storage ==== 1.3) Configure Persistent Storage ==== After the first start, you will be asked to create and [[https://tails.net/doc/persistent_storage/configure/|configure]] the Persistent Storage. Make sure to check check the following boxes: * ☑️ Enable persisting additionaly installed software * ☑️ Enable Dotfiles feature ===== 2) Install and configure Flatpak ===== The approach used to run Signal on Tails is using Flatpak. Flatpak is a utility for software deployment and package management for Linux (Tails is a Linux). Since you download (and update) Signal from flatpak source you now depend on Flatpaks integrity! ==== 2.1) Install Flatpak ==== Open Terminal and run the following command: sudo apt update && sudo apt install flatpak --yes Tails then asks if you want to add flatpak to your additional software. Choose: "Install every Time". ==== 2.2) Configure Setup script for Flatpak ==== In order to persist the configuration for Flatpak, some additional steps are required. Because they will be required after each boot, you will create a script to automate this. === Create script === The following terminal command will open a text editor to create a script in the directory ''/home/amnesia/Persistent/'': gnome-text-editor /home/amnesia/Persistent/flatpak-setup.sh Content of the file: #!/bin/sh mkdir -p /home/amnesia/Persistent/flatpak mkdir -p /home/amnesia/.local/share if ! file /home/amnesia/.local/share/flatpak | grep -q 'symbolic link'; then rm -rf --one-file-system /home/amnesia/.local/share/flatpak ln -s /home/amnesia/Persistent/flatpak /home/amnesia/.local/share/flatpak fi mkdir -p /home/amnesia/Persistent/app mkdir -p /home/amnesia/.var ln -s /home/amnesia/Persistent/app /home/amnesia/.var/app === Make script executable === This is required so that the text file can be executed as a program: chmod +x /home/amnesia/Persistent/flatpak-setup.sh === Run the script === Run the set up script: bash /home/amnesia/Persistent/flatpak-setup.sh === Add script to autostart === Now you create an entry in the autostart folder at ''/live/persistence/TailsData_unlocked/dotfiles/.config/autostart'' Create the directory if it doesn't already exists: mkdir -p /live/persistence/TailsData_unlocked/dotfiles/.config/autostart/ Open the file with the text editor: gnome-text-editor /live/persistence/TailsData_unlocked/dotfiles/.config/autostart/FlatpakSetup.desktop Content of the file: [Desktop Entry] Name=FlatpakSetup GenericName=Setup Flatpak on Tails Comment=This script runs the flatpak-setup.sh script on start of the user session Exec=/live/persistence/TailsData_unlocked/Persistent/flatpak-setup.sh Terminal=false Type=Application ==== 2.3) Configure package repository for Flatpak ==== You will need to tell Flatpak from which URL to fetch the software packages: torsocks flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo ===== 3) Install and configure Signal ===== ==== 3.1) Install Signal ==== Install Signal. This command will take quite a couple of minutes: torsocks flatpak --user install flathub org.signal.Signal ==== 3.2) Configure Signal ==== Configure Signal to use Tor for connecting to the internet: flatpak override --user --env=HTTP_PROXY=socks://127.0.0.1:9050 org.signal.Signal flatpak override --user --env=HTTPS_PROXY=socks://127.0.0.1:9050 org.signal.Signal ==== 3.3) Create menu entry for Signal updates ==== In this step, you will create a menu entry called "Update Flatpak apps", which will invoke the update command in a terminal to check for updates for Signal and other apps installed via Flatpak. Note that you will still need to run it manually by opening the menu entry! Create the directory for menu custom menu entries: mkdir -p /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications Create the menu entry: gnome-text-editor /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/update-flatpak.desktop Content of the file: [Desktop Entry] Name=Update Flatpak apps GenericName=Update Flatpak apps Exec=/usr/bin/torsocks /usr/bin/flatpak update --user -y Terminal=true Type=Application This file will now show up in your menu (when you hit the windows button) as "Update Flatpak apps" ===== 4) Done ===== You're all set. On subsequent reboots will only need to unlock the persistent volume. Setting an administrator password will not be necessary, except you wish to do any changes to the setup.