/ouisync

An in-development peer-to-peer file synchronization app.

Primary LanguageRustMozilla Public License 2.0MPL-2.0

OuiSync

CI dependency status

Components

This repository contains two main components: the OuiSync library (lib/) containing the core functionality and a command line utility as a user interface (CLI) for the library (cli/, currently Linux only).

There is also a Graphical User Interface (GUI) app for the library hosted in a separate repository.

Apart from the above, this repository also contains a C Foreign Function Interface (FFI) for use by other languages. An example of its use can be found in the Flutter based OuiSync plugin used by the GUI app.

Building

Note, if you want to build only the CLI application, use the instructions outlined in the README.md document located in the cli/ directory.

OuiSync uses a number of other Rust libraries that are downloaded during the build process. However, to build and use the OuiSync application (as opposed to just the library), one will additionally need to install the FUSE library and development files.

$ sudo apt install pkg-config libfuse-dev

Install Rust using instructions from rust-lang.org.

Build

$ cargo build --release

The results will then be found in the ./target/release/ directory.