Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
doc
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Deneb - distributed directory synchronization

Build status

Overview

Deneb is a tool for synchronizing directories across multiple computers, offering a file system interface, and using end-to-end encryption.

Work-in-progress

The project is currently under active development, some functionality is still missing.

Local operation (file system interface, data storage, compression, encryption, persistence, etc.) is implemented. Network functions (distribution, synchronization, etc.) are under development.

Deneb is only usable for development and experimentation, no important or valuable data should be stored in Deneb. Use at your own risk.

Building

The file system interface of Deneb depends on FUSE. On Linux, it's available in the distribution's package repository. For example, on Ubuntu, FUSE can be installed as follows:

$ sudo apt install fuse libfuse-dev

On macOS, there is OSXFUSE, which can either be installed manually or by using Homebrew Cask:

$ brew cask install osxfuse

Deneb is built as a standard Rust application using Cargo:

$ cargo build --all

To run the test suite:

$ cargo test --all

The longer property based integration tests (QuickCheck) are not run by default, but they can be run explicitly:

$ cargo test --all -- --ignored

Running

Deneb can be started with the default settings by running:

$ cargo run --bin deneb

This mounts a Deneb repository at Deneb::mount. To stop this instance, just unmount the repository:

$ umount ~/Deneb/main

During development, Deneb can be started without forking into the background:

$ cargo run --bin deneb -- --foreground

By default, any changes to the contents of the Deneb repository are committed to disk every 5 seconds. The deneb-cli commandline utility can instruct a Deneb instance to commit any outstanding changes:

$ cargo run --bin deneb-cli -- commit

License and authorship

The contributors are listed in AUTHORS. This project uses the MPL v2 license, see LICENSE.

Issues

To report an issue, use the Deneb issue tracker on GitHub.

About

A distributed directory syncronization solution

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages