mirror of https://github.com/CympleTech/ESSE.git
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.
|
4 years ago | |
---|---|---|
android | 4 years ago | |
assets | 4 years ago | |
core | 4 years ago | |
integration_test | 4 years ago | |
ios | 4 years ago | |
lib | 4 years ago | |
linux | 4 years ago | |
macos | 4 years ago | |
src | 4 years ago | |
test | 4 years ago | |
windows | 4 years ago | |
.gitignore | 4 years ago | |
.metadata | 4 years ago | |
Cargo.toml | 4 years ago | |
LICENSE-APACHE | 4 years ago | |
LICENSE-MIT | 4 years ago | |
README.md | 4 years ago | |
pubspec.lock | 4 years ago | |
pubspec.yaml | 4 years ago | |
rust.sh | 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.
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.
2. Compile
2.1. pre-installed.
- Rustup install
- Rust (Nightly Version)
- Flutter (Master channel)
You can use rust.sh to auto compile Rust code.
2.2. Compile Rust code to dynamic link library (FFI)
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
- 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 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
- Install lipo
cargo lipo --release
cp target/universal/release/libesse.a core/ios/share/libesse.a
2.3. Run flutter to build binary
flutter run
orflutter 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
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.