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.


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.


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


1. Use Binary executable


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 to auto-compile the Rust code

2.2.2. Manually compile
Linux / MacOS / Windows
  • cargo build --release
  • cp target/release/libesse.a core/linux/share/libesse.a
  • cp target/release/libesse.a core/macos/share/libesse.a
  • cp target/release/esse.dll core/windows/share/esse.dll
  • cp target/release/esse.dll.lib core/windows/share/esse.dll.lib
  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/ core/android/src/main/jniLibs/arm64-v8a/
  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