rencfs-desktop

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:

Video
Watch the video

Contribute

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.

How to contribute

Please see CONTRIBUTING.md.

Build project locally

git clone https://github.com/radumarias/rencfs-desktop

Dependencies

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

Protocol Buffer Compiler Installation

https://grpc.io/docs/protoc-installation/

Linux

Using apt or apt-get, for example

apt install -y protobuf-compiler
protoc --version  # Ensure compiler version is 3+
MacOS

Using Homebrew

brew install protobuf
protoc --version  # Ensure compiler version is 3+
Install pre-compiled binaries (any OS)

https://grpc.io/docs/protoc-installation/#install-pre-compiled-binaries-any-os

Build

cargo build

Run

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