GUI written in Rust with egui for rencfs.
Warning
This is still under development. Please do not use it with sensitive data for now, please wait for a
stable release.
It's mostly ideal for experimental and learning projects. It serves as a reference app for a GUI for rencfs
.
Currently, it is working only on Linux, with plans to support macOS and Windows, Android and iOS in the future. Check out rencfs-kotlin for the Kotlin Multiplatform app that is build ready for desktop operating systems and Android.
It uses:
- egui with eframe for GUI
- tokio for concurrency
- tonic for gRPC communication between GUI and daemon
- diesel with Sqlite for ORM
Feel free to fork it, change and use it in any way that you want. If you build something interesting and feel like sharing pull requests are always appreciated.
Please see CONTRIBUTING.md.
git clone https://github.com/radumarias/rencfs-desktop
To use the encrypted file system, you need to have FUSE installed on your system. You can install it by running the following command (or based on your distribution).
Arch
sudo pacman -Syu && sudo pacman -S fuse3
Ubuntu
sudo apt-get update && sudo apt-get -y install fuse3
https://grpc.io/docs/protoc-installation/
Using apt or apt-get, for example
apt install -y protobuf-compiler
protoc --version # Ensure compiler version is 3+
Using Homebrew
brew install protobuf
protoc --version # Ensure compiler version is 3+
https://grpc.io/docs/protoc-installation/#install-pre-compiled-binaries-any-os
cargo build
Start the daemon in one terminal
cd rencfs_desktop_daemon
cargo run --package rencfs_desktop_daemon --bin rencfs_desktop_daemon
Start the GUI in another terminal
cd rencfs_desktop_gui
cargo run --package rencfs_desktop_gui --bin rencfs_desktop_gui