How to Setup Delta Chat on Tails in 4 Steps

Delta Chat is a messenger which writes emails, so you can write to any email user. It also supports easy encryption via Autocrypt. But how to use it on an anonymous Tails stick?

Tails is very useful if you want to be more anonymous by running everything through the tor network; but it is especially interesting for nomad activists who travel without a laptop of their own. This is because of the “Persistent Storage” feature.

If you setup a Persistent Storage on your Tails stick, you can keep all of your passwords, encryption keys, and other data on an encrypted partition of your Tails stick. This way you can travel without a laptop, and when you need to access your emails to write an important message to your family or organize with activists or supporters, you have all of your accounts directly on your Tails stick. You just need to borrow a laptop.

Unfortunately, many programs don’t work “out of the box” on Tails. For some it’s impossible, like Signal – because you can’t configure it to use Tor for talking to the Internet. For some other messengers you can find guides, e.g. Element or Wire. With Delta Chat it works quite well, it’s just a bit slower than running Delta Chat directly on a laptop. These 4-5 steps should be enough to get it working for you:

Step 0: Enable Persistent Storage

If you use Persistent Storage already, you can skip this step.

If not, you can follow this easy guide which explains it much better than I could.

Note: you need to enable “Persistent Folder” and “Dotfiles” for Delta Chat to work as expected and store your data!

Start Tails with your Persistent Volume unlocked to continue. And also set an admin password, we will need it later.

Step 1: Download Delta Chat

On get.delta.chat you can download the Linux Client. It’s available in different flavours: we need the AppImage version. It is hidden behind “download options without automated upgrades”. (For most laptops, you will need the 86_64 version, if you are not sure you can ask duckduckgo for the CPU architecture of your laptop model.)

AppImages have the advantage that we don’t need to install Delta Chat in Tails, which can be a bit annoying. We can just run it directly from the .AppImage file.

Best you save it to /home/amnesia/Persistent/Tor Browser/, so you don’t need to download it every time you reboot Tails.

Make sure you download the .AppImage version of the Delta Chat Desktop client.

Step 2: Make the Config Folder Persistent

Delta Chat stores all its messages, encryption keys, account configuration, etc. in the /home/amnesia/.config/DeltaChat folder. Unfortunately even with a Persistent Volume we need to go an extra step to make it persistent. And for this we need the command line – don’t worry, you can’t break anything here. Maybe you learn something 🙂

First we need to open a Terminal. Put your Mouse Pointer to the top left to open the application chooser, and search for “terminal” (we don’t need the Root Terminal for this step):

[A screenshot of the Gnome Search, looking for a terminal

One note about the terminal: if you want to copy-paste commands from this article to the terminal, simply pressing ctrl + v will not work; you need to press ctrl + shift + v to paste into a terminal.

First, let’s check that the .config/DeltaChat folder is not created already. We start in the /home/amnesia folder, so we can check the content of .config with the following command:

ls -l .config

It shouldn’t be there yet… if there is a DeltaChat folder already, let’s move it to the Persistent part of Tails with:

mv .config/DeltaChat Persistent/
A terminal which shows that no DeltaChat folder is in .config yet.

Then we need to create a link to the Persistent folder, so Delta Chat stores its data in the right location. To do this, run:

ln -s /home/amnesia/Persistent/DeltaChat .config/

Don’t worry if the command line doesn’t give you a “success” message – as long as a command line doesn’t give you an error, it means it worked. We can check with ls -l .config whether it was successul: there should be a red entry with the link we just created.

The terminal shows how after we ran the last command, there is a broken link in the folder.

If it’s red, don’t worry, that just means that the link points to nowhere. So let’s just create an empty folder there. You can do this with:

mkdir Persistent/DeltaChat

Now ls -l .config should show a blue entry for the Delta Chat folder:

The command line output as it looks like after you did all these commands.
If it looks like this, everything is fine.

Now usually the link would be deleted when you restart Tails. We need to make this change persistent, so we don’t need to run this every time we start Tails. This should be accomplished by these two commands:

echo "ln -s /home/amnesia/Persistent/DeltaChat /home/amnesia/.config" >> ~/.profile
sudo cp -a ~/.profile /live/persistence/TailsData_*nlocked/dotfiles/

(The second command will ask you for the admin password you specified when you started Tails. Don’t be surprised if apart from that there is no output – this probably means they worked. To check whether they worked, reboot Tails and look if the link in .config still exists/was recreated successfully.)

Step 3: Run Delta Chat

Now we only need to make Delta Chat executable to run it. For this, we can use the following command (copy-paste it exactly like this so it works):

chmod u+x Persistent/Tor\ Browser/DeltaChat*.AppImage

You can see whether it worked by looking if the filename is green when you run:

ls -l "Persistent/Tor Browser"
(Actually the important part is not whether the filename is green, but whether there is an x in the beginning of the line – you can tell the difference in the screenshot. The x means that we are allowed to eXecute the AppImage file.)

Now we can start Delta Chat. For this, we need to run it in the command line, because it needs the --no-sandbox flag. Just enter the following command (but take care to substitute the version number in the example command for yours):

~/Persistent/Tor\ Browser/DeltaChat-1.46.8.AppImage --no-sandbox

After some seconds, you should see this window:

A screenshot of an opened Delta Chat program where you can see the login window

Step 4: Use the SOCKS5 Proxy to Connect to Tor

Now we need an account for Delta Chat. If you already used Delta Chat on a different device, it is recommended that you export a backup there, and import it on Tails. If you just login with the same account, new encryption keys will be generated, and you can run into problems. If you run into trouble, exporting a backup on one device and importing it into the other device should fix it.

If you don’t have an account yet, don’t worry – we will create one on an open-signup chatmail server. To do that, click Create new profile in the start screen, then Use other server, then Classic e-mail login. Just clicking “Agree & create profile” will not work, because we need to configure tor via SOCKS5 proxy.

First, enter the username you want. For nine.testrun.org, the default chatmail server, it needs to be exactly 9 characters, e.g. anonymous@nine.testrun.org. Then enter a passphrase, you don’t need to remember it, Delta Chat will remember it for you.

Now we only need to configure Tor. Tails offers a SOCKS5 proxy which any application can use to connect to Tor. For this, click on “Advanced”, and scroll down to “Use SOCKS5”. Here you need to enter localhost as “SOCKS5 Host” (leaving it empty will not work), and 9050 as “SOCKS5 PORT”. The rest can stay empty.

A screenshot of the SOCKS5 proxy settings in Delta Chat.

When you click “LOG IN”, it will try to connect to Tor. Then it should start downloading your most recent messages. Now you can start using Delta Chat!

Step 5: send a test message to a friend 🙂 you can use any email address. Haha, it was a lie anyway that it only takes 4 steps. But the title would have been so boring if I had been honest. Well, now you’re through with it. You can be proud of yourself.

Note: if you just imported a backup instead of logging in, you probably need to configure SOCKS5 to make the connection work. You can find it in the “Advanced” settings at “Password & Account”.

Bonus: Add a Friend Through QR Code Scanning

Now that you know how to do it, you can help a friend setting it up. With other Delta Chat users, you can communicate end-to-end encrypted. To ensure that your chat is safe from attackers and always end-to-end encrypted, you should add your friends by scanning their QR codes. This way you verify each other as contacts.

Of course, with a Tails stick you don’t always use a laptop with a webcam; sometimes it will just be the old desktop PC of someone’s grandparents. But you can still verify them by sending them the verification code manually. Note that you both need to be online at the same time for this to work.

In the QR menu, you can just click on “copy to clipboard”. Then you can send the code to your friend, preferaby via a secure channel. It should look like this: OPENPGP4FPR:D1545124C8F9825871236B683E4D4F7310848F27B#a=k2pdz%40testrun.org&n=&i=x0GwuzgeZt_&s=nxWjM_8Vf6e

The Delta Chat client, a verification code has just been copied to the clipboard.

Now they can also go to their QR menu, and paste the verification code there:

The Delta Chat client of the other person, pasting a verification code from clipboard to start a verification process.

Then the verification process starts. It can take a minute or so, until the verification confirmation appears on both sides:

The chat between the two conversation partners. A badge appeared which says: "k2pdz@testun.org verified."

Voilà – that’s it! Now you can be sure that your communication is end-to-end encrypted.

A New Delta Chat Version is Out – How Can I Upgrade?

More or less every two months, the Delta Chat community publishes a new version of the desktop client. You don’t need to update every time, but with upgrading you get all the new features and bug fixes, so it is recommended. Also, if everyone uses the same version, the app behaves similarly for them, so you can avoid bugs for others if you update regularly.

To upgrade, follow the following steps:

  1. Close Delta Chat, if it is running
  2. Download the most recent .AppImage version from https://get.delta.chat
  3. Move it to the “Persistent/Tor Browser” directory
  4. Mark it as executable with:
chmod u+x Persistent/Tor\ Browser/DeltaChat*.AppImage

Now you can just delete the old version, and launch the new .AppImage with a double click. Voilà!

Author: Nami

Nami is a Cyberpunk, sysadmin, musician, und writes a lot. As an activist they fight for open access to art, continents, and trains for everyone. But in secret they just want to be a reeaal hacker.

2 thoughts on “How to Setup Delta Chat on Tails in 4 Steps”

  1. The problem with Delta Chat is that it is not anonymous. Uses E2EE, but is not anonymous.

    1. I disagree – you can create an account on @nine.testrun.org without supplying any user data; and with this article, Tor hides your IP address. That’s pseudonymous – as anonymous as it gets.

      And if you want to switch pseudonyms, just create a new account – voilà. I don’t see the problem.

Leave a Reply

Your email address will not be published. Required fields are marked *