Encrypted peer-to-peer IM for data security. Own data, own privacy. (Rust+Flutter)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Joey Darko b6569eb20d Update README 4 years ago
android open source 4 years ago
assets open source 4 years ago
core open source 4 years ago
integration_test open source 4 years ago
ios open source 4 years ago
lib open source 4 years ago
linux open source 4 years ago
macos open source 4 years ago
src open source 4 years ago
test open source 4 years ago
windows open source 4 years ago
.gitignore open source 4 years ago
.metadata open source 4 years ago
Cargo.toml open source 4 years ago
LICENSE-APACHE open source 4 years ago
LICENSE-MIT open source 4 years ago
README.md Update README 4 years ago
pubspec.lock open source 4 years ago
pubspec.yaml open source 4 years ago
rust.sh open source 4 years ago

README.md

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

  • Distributed Identity
  • Distributed Network
  • Synchronization & Distributed Storage
  • Multi-identity System
  • Built-in IM Application
  • 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)

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

Linux / MacOS / Windows
  • cargo build --release
Linux
  • cp target/release/libesse.so core/linux/share/libesse.so
MacOS
  • cp target/release/libesse.a core/macos/share/libesse.a
Windows
  • cp target/release/libesse.so core/windows/share/esse.dll
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.