radupopescu/deneb
{ "createdAt": "2018-01-01T18:58:45Z", "defaultBranch": "master", "description": "A distributed directory syncronization solution", "fullName": "radupopescu/deneb", "homepage": null, "language": "Rust", "name": "deneb", "pushedAt": "2023-04-03T19:42:02Z", "stargazersCount": 7, "topics": [ "filesystem", "fuse", "merkle-tree", "rust", "syncronizing-directories" ], "updatedAt": "2022-01-04T22:23:53Z", "url": "https://github.com/radupopescu/deneb"}Deneb - distributed directory synchronization
Section titled “Deneb - distributed directory synchronization”Overview
Section titled “Overview”NO LONGER UNDER ACTIVE DEVELOPMENT
Deneb is a tool for synchronizing directories across multiple computers, offering a file system interface, and using end-to-end encryption.
Deneb is only usable for development and experimentation, no important or valuable data should be stored in Deneb. Use at your own risk.
Building
Section titled “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-devOn macOS, there is OSXFUSE, which can either be installed manually or by using Homebrew Cask:
$ brew cask install osxfuseDeneb is built as a standard Rust application using Cargo:
$ cargo build --allTo run the test suite:
$ cargo test --allThe longer property based integration tests (QuickCheck) are not run by default, but they can be run explicitly:
$ cargo test --all -- --ignoredRunning
Section titled “Running”Deneb can be started with the default settings by running:
$ cargo run --bin denebThis mounts a Deneb repository at Deneb::mount. To stop this instance, just unmount the repository:
$ umount ~/Deneb/mainDuring development, Deneb can be started without forking into the background:
$ cargo run --bin deneb -- --foregroundBy 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 -- commitLicense and authorship
Section titled “License and authorship”The contributors are listed in AUTHORS. This project uses the MPL v2 license, see LICENSE.
Issues
Section titled “Issues”To report an issue, use the Deneb issue tracker on GitHub.