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.
 
 
 
 
 
 
Sun 8ee3b053fb open source 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 open source 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 and TDN framework, and the cross-platform user interface is built using Flutter.

Features

  • Distributed Identity.
  • Distributed Network.
  • Distributed Storage and Synchronize.
  • Multi-identity system.
  • Built-in IM application.
  • Support Android, iOS, MacOS, Windows, Linux.

Detail (English) / 详细介绍 (简体中文)

Usage

1. Use Binary executable.

Download

2. Compile

2.1. pre-installed.

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

You can use rust.sh to auto compile 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 a 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

  • flutter run or flutter run --release in terminal run.
  • Or Android flutter build apk
  • If Linux flutter build linux
  • If MacOS flutter build macos
  • If Windows flutter build windows

License

This project is licensed under either of

at your option.