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.
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.
This project is tested with BrowserStack.