Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/axolotl-chat/axolotl
- Owner: axolotl-chat
- License: gpl-3.0
- Created: 2017-12-26T11:39:26.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-07-22T14:39:28.000Z (4 months ago)
- Last Synced: 2024-07-22T17:33:52.991Z (4 months ago)
- Topics: hacktoberfest
- Language: Rust
- Homepage: https://axolotl.chat
- Size: 110 MB
- Stars: 318
- Watchers: 17
- Forks: 52
- Open Issues: 133
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-starred - nanu-c/axolotl - A Signal compatible cross plattform client written in Go, Rust and Vuejs (hacktoberfest)
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.
## 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 discoveryThere are still bugs and UI/UX quirks.
## Installation
Axolotl can be installed through different means.
| Package | Maintainer | Comment |
| ------- | ---------- | -------- |
| | nanu-c | For Ubuntu Touch |
| | nanu-c | For Ubuntu desktop |
| | olof-nord | https://github.com/flathub/org.nanuc.Axolotl |
| | 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 stringsTranslation 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!");`