Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/umutcamliyurt/amnesichat

An encrypted and anti-forensic web chat server
https://github.com/umutcamliyurt/amnesichat

anonymity anti-forensics counter-forensics forensics opsec privacy rust security

Last synced: about 5 hours ago
JSON representation

An encrypted and anti-forensic web chat server

Awesome Lists containing this project

README

        

# Amnesichat

## An encrypted and anti-forensic web chat server

## Description:

Amnesichat offers several key benefits, particularly in enhancing user privacy and security. By not retaining conversation histories or user data, it ensures that sensitive information shared during discussions remains confidential and is not accessible after the chat ends. This ephemeral nature fosters a safer environment for users to express their thoughts without fear of surveillance or data misuse.

## Warning:

By using this service, you agree to the terms of service and acknowledge that you will not use it for illegal activities. The developer is not responsible for any misuse of the tool.

## Features:

- Client-side E2E message encryption

- Server-side room encryption

- Server runs even on cheapest hardware

- Each message is stored in RAM and wiped after 24 hours

- Docker support

- Written in Rust

## Technical details:

- OpenPGP using Ed25519 for client-side, ChaCha20-Poly1305 for server-side encryption
- Argon2id for key derivation

## Installation:

sudo apt update
sudo apt install curl build-essential git
curl https://sh.rustup.rs -sSf | sh -s -- -y
git clone https://github.com/umutcamliyurt/Amnesichat.git
cd Amnesichat/
cargo build --release
cargo run --release

## CLI Demo:

```
$ sudo apt update
$ sudo apt install gnupg python3 python3-pip
$ git clone https://github.com/umutcamliyurt/Amnesichat.git
$ cd Amnesichat/
$ pip3 install -r requirements.txt
$ python3 client.py

Welcome to Amnesichat!
Enter the base URL: http://127.0.0.1
Enter the port (leave blank for default): 8080
Enter a cookie (leave blank if not using):

=== Initial Configuration ===
Enter your username: user
Enter chatroom password:
Enter private key encryption password:
Enter path to private key file: user_privateKey.asc
Enter paths to public key files (comma-separated): user_publicKey.asc,Nemesis.pubKey
Private key loaded successfully.
Loaded public key from user_publicKey.asc
Loaded public key from Nemesis.pubKey
Enter your message (or /exit to quit): Fetched messages. Decrypting...
From: Nemesis at 13:59:17
Message: hello

From: User at 14:04:55
Message: test
```

## Run with Docker:

sudo apt update
sudo apt install docker.io git
git clone https://github.com/umutcamliyurt/Amnesichat.git
cd Amnesichat/
sudo docker build -t amnesichat:latest .
sudo docker run -p 8080:8080 amnesichat:latest

## Requirements:

- Any modern web browser or [Python](https://www.python.org/downloads/) for client
- [Rust](https://www.rust-lang.org) or [Docker](https://www.docker.com/) for server

## Screenshots:
![screenshot](screenshot.png)
*Image 1: Chat interface.*

![screenshot](screenshot2.png)
*Image 2: Image upload feature.*

![screenshot](screenshot3.png)
*Image 3: Advanced options.*

![screenshot](screenshot4.png)
*Image 4: For accessing official server copy **session_id** cookie and paste it to CLI after completing Captcha.*

## License

Distributed under the MIT License. See `LICENSE` for more information.