Skip to content

NielDuysters/arti-chat

Repository files navigation

Arti Chat

"When you need to speak freely."

While the right to privacy is slowly becoming a luxury reserved for the few, Arti Chat brings it back to the many. You can start chatting with your friends or colleagues without providing any form of Personal Identifiable Information like an email address, name or phone number. A message you send or receive is routed through the Tor network providing a reasonable level of anonymity. Each conversation is peer-to-peer meaning none of your data or messages are stored on a centralized server. Your speech can't be controlled, outlawed or monitored by any hostile adversary or government since Arti Chat is fully decentralized and does not depend on a single server. Thanks to Tor's strong encryption all your conversations are only readable for you and your peer, remaining a secret for everyone else.

Arti Chat is free and open-source.

✅ Free and open-source
✅ Fully decentralized and peer-to-peer
✅ Reasonable anonymity (Tor)
✅ Network encryption (Tor)
✅ End-to-end encryption (ChaCha20-Poly1305 AEAD)
✅ Data stored locally and encrypted


Current status

Warning

Arti Chat is not yet suitable to be used in real-world scenarios.

This is a hobby project still under heavy development. Today Arti Chat is a proof of concept to experiment and test with. A lot of work on the code and architecture is required before even an alpha version will be released.

I am open to feedback.

Screenshot

More screenshots here!

Installation

There will be no bundles available until an official release. For developers wanting to experiment or contribute an install script is provided.

Prerequisites

This project is made in the Rust programming language and Tauri for the GUI. The following development tools are required for installation:

Installation script (Unix)

Execute the following command in your terminal to run developer-install.sh which is a Bash script.

curl -fsSL https://raw.githubusercontent.com/NielDuysters/arti-chat/0bedcbf769b0c769235ef6f8dab0b809ad4fb64d/developer-install.sh | bash

Installation Microsoft Windows

The instructions for Microsoft Windows can be found here.

Roadmap

Arti Chat - Proof of Concept (current):

  • Two peers can chat p2p and decentralized.
  • Routing over Tor (Arti).
  • ed25519 message signing Replaced with e2ee (AEAD).
  • Simple GUI.
  • Encrypted local sqlite database.
  • Extensible RPC implementation.
  • IPC between GUI and daemon using Unix sockets.
  • Refactor code (atm it's more a draft).
  • Get feedback on code + architecture.
  • Discuss different possible approaches.
  • Solve bugs and instability issues.
  • Option to send images.
  • Group chat?
  • Basic CI.

Arti Chat - alpha-v0.1.0:

  • Solid code + architecture.
  • Stable on Linux and macOS.
  • Strong and proven implementations regarding encryption and security.
  • Allow reusing same HsId.
  • Correct implementation for daemon (e.g systemd).
  • Unit tests.
  • Cleanup git repo.

Arti Chat - alpha-v0.2.0:

  • Windows support.
  • Improved install script.
  • Improved UI/UX.
  • Improved CI.

Arti Chat - beta-v0.3.0:

  • Secure and stable enough for actual usage.
  • App bundles.

Arti Chat - v1.0.0:

  • Beta-tested and ready to be used by the masses.
  • Reliable desktop chat app for Linux, macOS and Windows.

Arti Chat - v2.0.0:

  • Android + iOS version?

Contribute

I'm interested in receiving feedback on the code and architecture. Small code-reviews or tips are appreciated! Feel free to take a look at the review notes.

About

Decentralized peer-to-peer messenger with reasonable anonymity over Tor.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors