Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/axolotl-chat/axolotl

A Signal compatible cross plattform client written in Go, Rust and Vuejs
https://github.com/axolotl-chat/axolotl

hacktoberfest

Last synced: 3 months ago
JSON representation

A Signal compatible cross plattform client written in Go, Rust and Vuejs

Awesome Lists containing this project

README

        

# Axolotl

Axolotl is a complete cross-platform [Signal](https://www.signal.org) client, compatible with the Ubuntu Phone and more.
Unlike the desktop Signal client, **Axolotl is completely autonomous** and doesn't require you to have created an
account with the official Signal application.

It is built upon [presage](https://github.com/whisperfish/presage) and a VueJs frontend that runs in a [tauri](https://tauri.app/) or a qml WebEngineView container.



Screenshot of axolotl

## Features

* Phone registration
* 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*

## Broken:
* Contact discovery

There are still bugs and UI/UX quirks.

## Installation

Axolotl can be installed through different means.

| Package | Maintainer | Comment |
| ------- | ---------- | -------- |
| Get it from the OpenStore | nanu-c | For Ubuntu Touch |
| Get it from the Snap Store | nanu-c | For Ubuntu desktop |
| Download on Flathub | olof-nord | https://github.com/flathub/org.nanuc.Axolotl |
| mobian version | nanu-c | https://github.com/nanu-c/axolotl/releases
(Debian package in the Assets section)|

## Building

To find out how to build from source and install yourself, please see below.

* with Clickable: see [here](docs/INSTALL.md#clickable).
* with Snap: see [here](docs/INSTALL.md#snap).
* with Flatpak: see [here](docs/INSTALL.md#flatpak).
* with AppImage: see [here](docs/INSTALL.md#appimage).
* for Debian: see [here](docs/INSTALL.md#debian).
* manually: see [here](docs/INSTALL.md#bare).

## Run flags

- `--mode`
- `tauri`: Default GUI
- `ubuntu-touch`: Ubuntu Touch GUI
- `daemon`: Headless

## Contributing

* Please fill issues here on github https://github.com/nanu-c/axolotl/issues
* Help translate Axolotl to your language(s). For information how to translate, please see [TRANSLATE.md](docs/TRANSLATE.md).
* Contribute code by making PR's (pull requests)

If you contribute new strings, please:

- make them translatable
- avoid linebreaks within one tag, that will break extracting the strings for translation
- try to reduce formatting tags within translatable strings

Translation is done by using the `easygettext` module. Detailed instructions how strings are made translatable are given here: [https://www.npmjs.com/package/easygettext](https://www.npmjs.com/package/easygettext).

In short words, either use the `v-translate` keyword in the last tag enclosing the string or wrap your string in a `` tag as the last tag.
If you need to make strings in the script section translatable, do it like this `this.$gettext("string")`.

When adding new translatable strings with a PR, make sure to extract and update commands as instructed [here](docs/TRANSLATE.md). Then also commit the updated pot and po files containing the new strings.

examples:

- `

Translate me!

` instead of `

Translate me!

`
- `

Translate me!

` instead of `

Translate me!

`
- `

Translate me!


Please...

` instead of `

Translate me!
Please...

`
- `
Yes, I am translatable!
` instead of `
No, I am not translatable!
`
- `
This is a free and open source Signal client written in golang and vuejs.
`
- in \ part: `this.cMTitle = this.$gettext("I am a translatable title!");`