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.
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 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.
usage
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 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
- add your android device target
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
rustup target add x86_64-linux-android
- configure your ndk
- 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
- install lipo
cargo lipo --release
cp target/universal/release/libesse.a core/ios/share/libesse.a
2.3. run flutter to build binary
- run
flutter run
orflutter 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
Comments are closed.