meta data for this page
Axolotl is a complete Signal client, it allows you to create a Signal account and have discussions with your contacts. Unlike the desktop Signal client, Axolotl is completely autonomous and doesn't require you to have created an account with the official Signal application.
Axolotl has not received the same level of security audit and review as the official Signal clients. Users should be aware that the standard security assurances of official Signal clients may not apply.
- Phone registration
- Contact discovery
- Direct messages
- Group messages mostly
- Photo, video, audio and contact attachments in both direct and group mode
- Preview for photo and audio attachments
- Storing conversations
- Encrypted message store
- Desktop client provisioning/syncing partially
- Push notifications (limited)
- Basic Signal v2group support
What is missing:
- Most settings that are available in the Android app
- Encrypted phone calls
- Full Signal v2group suppport (basic functions are working since v1.0.0)
There are still bugs and UI/UX quirks.
Scale to fit:
is not necessary
5 of 5 Points, developed for Pinephone / Librem5
How to install:
There is an experimental Debian package for this application.
The flatpak appears to be web only for now; the QT version can be installed as per below. IMPORTANT: The Qt version of Axolotl will be deprecated soon.
For now, the flatpakref can be installed one the following methods:
qt / qml interface IMPORTANT: The Qt version of Axolotl will be deprecated soon.
sudo apt install flatpak flatpak-builder flatpak install org.kde.Platform//5.15 flatpak install org.kde.Sdk//5.15 flatpak install org.freedesktop.Sdk.Extension.golang//20.08 flatpak install org.freedesktop.Sdk.Extension.node12//20.08 flatpak install io.qt.qtwebengine.BaseApp//5.15 wget https://raw.githubusercontent.com/nanu-c/axolotl/main/flatpak/qt/org.nanuc.Axolotl.yml sudo flatpak-builder --install build org.nanuc.Axolotl.yml
web interface currently breaks after build
sudo apt install flatpak flatpak-builder flatpak install org.freedesktop.Platform//20.08 flatpak install org.freedesktop.Sdk//20.08 flatpak install org.freedesktop.Sdk.Extension.golang//20.08 flatpak install org.freedesktop.Sdk.Extension.node12//20.08 wget https://raw.githubusercontent.com/nanu-c/axolotl/main/flatpak/web/org.nanuc.Axolotl.yml sudo flatpak-builder --install build org.nanuc.Axolotl.yml
# You will need to trust and add flathub to flatpak flatpak install flathub org.nanuc.Axolotl
There is a Snap for Axolotl in the Snap Store, but starting Axolotl currently fails in this setup.
Install Snap beforehand with this (if not done already).
sudo apt update && sudo apt install snapd && sudo snap install core
Install the edge-release of Axolotl with
sudo snap install --channel=edge axolotl
Daemonized Server Setup:
You can start Axolotl as a background process and be able to open the UI in a web page, using cog or Firefox, for example. For this, you need two more desktop files and the browser.
Install cog via
sudo apt install cog
You can find desktop files and further instructions here https://github.com/nuehm-arno/axolotl-mobian-package
If you want Axolotl as daemon started automatically at login, copy the desktop file into the Gnome autostart folder with
cd axolotl-mobian-package && sudo cp axolotl-server.desktop /etc/xdg/autostart
The manual building and installation should be done using the Makefile found in the source repository https://github.com/nanu-c/axolotl/blob/main/docs/INSTALL.md, because with introduction of the Rust backend in v1.0.5, many additional steps were added. These are well documented in the Makefile.
Or you can follow these steps (NOT UP-TO-DATE since v1.0.5!)
sudo apt-get update && sudo apt-get install golang nodejs npm python go get -v -d -u github.com/nanu-c/axolotl/ #if you get errors with this line, remove the folder github.com and try again (rm -rf github.com) cd $(go env GOPATH)/src/github.com/nanu-c/axolotl && go mod download cd axolotl-web && npm install npm run build cd .. && mkdir -p build/linux-arm64/axolotl-web env GOOS=linux GOARCH=arm64 go build -o build/linux-arm64/axolotl . cp -r axolotl-web/dist build/linux-arm64/axolotl-web && cp -r guis build/linux-arm64 NOTE: when you launch axolot, if you see the error: ./axolotl : error while loading shared libraries: libzkgroup_linux_aarch64.so: cannot open shared object file: No such file or directory you need to copy the file from '$(go env GOPATH)/src/github.com/nanu-c/zkgroup/lib' to '/usr/lib' and 'sudo ldconfig -n -v /usr/lib' in terminal
then create axolotl.desktop
sudo nano /usr/share/applications/axolotl.desktop
with this content and check for missing line breaks after copy/paste:
[Desktop Entry] Type=Application Name=Axolotl GenericName=Signal Chat Client Path=/home/mobian/go/src/github.com/nanu-c/axolotl/build/linux-arm64/ Exec=/home/mobian/go/src/github.com/nanu-c/axolotl/build/linux-arm64/axolotl #Exec=/home/mobian/go/src/github.com/nanu-c/axolotl/build/linux-arm64/axolotl -e qt Icon=/home/mobian/go/src/github.com/nanu-c/axolotl/build/linux-arm64/axolotl-web/axolotl.png Terminal=false Categories=Network;Chat;InstantMessaging;Qt; StartupWMClass=axolotl
You should now have an Axolotl icon in Phosh.
For testing the Qt version of Axolotl you have to install these dependencies. IMPORTANT: The Qt version of Axolotl will be deprecated soon.
sudo apt install qmlscene qml-module-qtwebsockets qml-module-qtmultimedia qml-module-qtwebengine #the following qml modules have to be installed separately (regex issue) sudo apt-get install qml-module-qtquick.controls sudo apt-get install qml-module-qtquick.dialogs
If you want to backup configuration and history, copy the following folders to a backup location of your choice and restore them when needed.