/esse

An open source encrypted peer-to-peer system. Own data, own privacy. (Rust+Flutter)

Primary LanguageDartApache License 2.0Apache-2.0

ESSE

ESSE (Encrypted Symmetrical Session Engine) An open source encrypted peer-to-peer session system would allow data to be sent securely from one terminal to another without going through third-party services.

image

ESSE, stands for Encrypted Symmetrical Session Engine, positioned as an engine. The engine is coded in Rust language based on TDN framework, and the cross-platform user interface is built using Flutter.

Features

  • Built-in IM Application
  • Built-in Robot assistant
  • Distributed Identity
  • Distributed Network
  • Synchronization & Distributed Storage
  • Multi-identity System
  • Multi-platform Support: Android, iOS, iPadOS, MacOS, Windows, Linux, etc.

About ESSE(English) / 关于ESSE(简体中文)

Usage

1. Use Binary executable

Download

2. Compile

2.1. Pre-installed

  • Rustup install
  • Rust (Nightly Version)
  • Flutter (Master channel)

2.2. Compile Rust code to dynamic link library (FFI)

2.2.1. Auto-compile script

It is recommended to use rust.sh to auto-compile the Rust code

2.2.2. Manually compile
Linux / MacOS / Windows
  • cargo build --release
Linux
  • cp target/release/libesse.a core/linux/share/libesse.a
MacOS
  • cp target/release/libesse.a core/macos/share/libesse.a
Windows
  • cp target/release/esse.dll core/windows/share/esse.dll
  • cp target/release/esse.dll.lib core/windows/share/esse.dll.lib
Android
  1. Add your android device target
  • rustup target add aarch64-linux-android
  • rustup target add armv7-linux-androideabi
  • rustup target add x86_64-linux-android
  1. Configure your NDK

  2. Build the jniLibs

  • cargo build --release --target=aarch64-linux-android
  • cp target/aarch64-linux-android/release/libesse.so core/android/src/main/jniLibs/arm64-v8a/
iOS
  1. Install lipo
  2. cargo lipo --release
  3. cp target/universal/release/libesse.a core/ios/share/libesse.a

2.3. Run flutter to build binary

  • Run flutter run or flutter run --release in terminal, or
  • for Android, run flutter build apk, or
  • for Linux, run flutter build linux, or
  • for MacOS, run flutter build macos, or
  • for Windows, run flutter build windows

License

This project is licensed under either of

at your option.

Donation

ESSE is still in its infancy, both technical and financial support are welcome. Thank you for your support.

ETH:0xbB64D716FAbDEC3a106bb913Fb4f82c1EeC851b8

Paypal:https://www.paypal.me/cympletech

gitcoin:https://gitcoin.co/grants/2516/esse-an-encrypted-peer-to-peer-session-system

For more information, please visit: