Amnezichat/README.md

119 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2025-01-19 01:55:12 +03:00
<div align="right">
<a href="README.md">🇺🇸 English</a> |
<a href="README_TR.md">🇹🇷 Türkçe</a>
</div>
2025-01-17 18:27:46 +03:00
2025-01-19 01:55:12 +03:00
# Amnezichat
2025-01-17 18:27:46 +03:00
2025-04-19 13:30:28 +03:00
<img src="banner.png" width="1200">
2025-01-19 01:55:12 +03:00
## Anti-forensic and secure messenger
2025-01-17 18:27:46 +03:00
<!-- DESCRIPTION -->
## Description:
2025-01-19 01:55:12 +03:00
Amnezichat offers a highly secure and privacy-focused messaging experience by ensuring that no logs are retained and all message data is stored exclusively in the server's RAM. This approach significantly enhances user privacy because RAM storage is inherently volatile data is automatically erased when the server is powered down or restarted, leaving no trace of already end-to-end encrypted past communications.
2025-01-17 18:27:46 +03:00
<!-- FEATURES -->
## Features:
- Client-side quantum-resistant E2E message encryption
2025-01-19 01:55:12 +03:00
- Forward and backward secrecy for one-to-one chats
- Group chat support using PSK (pre-shared-key)
2025-01-17 18:27:46 +03:00
- Server runs even on cheapest hardware
- Each message is stored encrypted in server's RAM and wiped after 24 hours
2025-01-19 01:55:12 +03:00
- All traffic is routed over Tor/I2P network by default
2025-01-17 18:27:46 +03:00
- Docker support
- Built in Rust
2025-01-19 01:55:12 +03:00
## Comparison chart with other messengers:
![comparison_chart](comparison_chart.png)
2025-01-17 18:27:46 +03:00
## Technical details:
2025-01-19 01:55:12 +03:00
- Defense against AI-guided Traffic Analysis (DAITA) by sending encrypted dummy data at random intervals and padding all messages to a fixed length except files
![packet_capture](packet_capture.png)
- [Amnezichat Protocol](PROTOCOL.md) for end-to-end encryption
- Stores identity keys in local storage encrypted with ChaCha20-Poly1305 and Argon2id KDF with an user specified password
2025-01-17 18:27:46 +03:00
2025-01-19 01:55:12 +03:00
### Amnezichat Protocol:
2025-01-17 18:27:46 +03:00
- EdDSA and Dilithium5 for authentication, ECDH and Kyber1024 for key exchange, encryption using ChaCha20-Poly1305
<!-- INSTALLATION -->
2025-04-19 13:30:28 +03:00
## Server setup:
2025-01-17 18:27:46 +03:00
sudo apt update
sudo apt install curl build-essential git
curl https://sh.rustup.rs -sSf | sh -s -- -y
2025-01-19 01:55:12 +03:00
git clone https://github.com/umutcamliyurt/Amnezichat.git
cd Amnezichat/server/
2025-01-17 18:27:46 +03:00
cargo build --release
cargo run --release
2025-04-19 13:30:28 +03:00
## Server setup with Docker:
2025-01-17 18:27:46 +03:00
sudo apt update
sudo apt install docker.io git
2025-01-19 01:55:12 +03:00
git clone https://github.com/umutcamliyurt/Amnezichat.git
2025-04-19 13:30:28 +03:00
cd Amnezichat/server/
2025-05-02 00:58:21 +03:00
docker build --network=host -t amnezichatserver:latest .
docker run --network=host amnezichatserver:latest
2025-01-17 18:27:46 +03:00
2025-04-19 13:30:28 +03:00
## Client setup:
2025-01-17 18:27:46 +03:00
2025-02-08 22:29:25 +03:00
**For Web UI connect to http://localhost:8000**
2025-01-17 18:27:46 +03:00
sudo apt update
2025-05-02 00:58:21 +03:00
sudo apt install curl build-essential git tor xterm
2025-01-19 01:55:12 +03:00
sudo systemctl enable --now tor.service
2025-01-17 18:27:46 +03:00
curl https://sh.rustup.rs -sSf | sh -s -- -y
2025-01-19 01:55:12 +03:00
git clone https://github.com/umutcamliyurt/Amnezichat.git
cd Amnezichat/client/
2025-01-17 18:27:46 +03:00
cargo build --release
cargo run --release
2025-04-19 13:30:28 +03:00
## Client setup with Docker:
sudo apt update
sudo apt install docker.io git
git clone https://github.com/umutcamliyurt/Amnezichat.git
cd Amnezichat/client/
2025-05-02 00:58:21 +03:00
docker build --network=host -t amnezichat .
xhost +local:docker
docker run --rm \
--network=host \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--env QT_X11_NO_MITSHM=1 \
amnezichat:latest
2025-04-19 13:30:28 +03:00
2025-01-17 18:27:46 +03:00
## Requirements:
2025-01-19 01:55:12 +03:00
- [Rust](https://www.rust-lang.org), [Tor](https://gitlab.torproject.org/tpo/core/tor), [I2P](https://i2pd.website/)
2025-01-17 18:27:46 +03:00
<!-- SCREENSHOT -->
## Screenshot:
2025-01-19 01:55:12 +03:00
![Screenshot](screenshot.png)
2025-01-17 18:27:46 +03:00
<!-- LICENSE -->
## License
Distributed under the GPLv3 License. See `LICENSE` for more information.
## Donate to support development of this project!
**Monero(XMR):** 88a68f2oEPdiHiPTmCc3ap5CmXsPc33kXJoWVCZMPTgWFoAhhuicJLufdF1zcbaXhrL3sXaXcyjaTaTtcG1CskB4Jc9yyLV
**Bitcoin(BTC):** bc1qn42pv68l6erl7vsh3ay00z8j0qvg3jrg2fnqv9