A webserver to manage distributed directories
|source||1 year ago|
|test||1 year ago|
|.gitignore||1 year ago|
|Presentation.md||1 year ago|
|README.md||1 year ago|
|dub.json||1 year ago|
|dub.selections.json||1 year ago|
|example_mirrord.conf||1 year ago|
|mirrord.conf||1 year ago|
mirrorD aims to be a simple, decentralized and automated way of managing mirrors of local directories in a distributed environment.
Right now the project is at the early stages of development.
The project has to be built with dub. Clone the repo, then build it with:
This should automatically download the missing dependencies, build the project and start it with the default configuration.
The default configuration is only for testing purposes. To test mirrorD, navigate to the repository directory, then:
user@/path/to/repo$ mkdir -p test/ user@/path/to/repo$ ./mirrord
You should be prompted to create a directory named
testfile, which has the purpose to test the interactive directory creation. Theprogram should then start the event loop. Populating
test/testfile/ with random files can be done at runtime, the timed reload takes care of adding them to the tree.
Command line arguments are very few at the moment:
--directoryallows the user to select a directory
--digestallows the user to select a digest algorithm (sha1, sha256, crc32, mmhash)
Large directories could take a while to load, especially with the SHA256 digest selected. With CRC32 (fastest), I tested 20 GB of data processed in 15 minutes on my laptop's i7 processor. Performance highly depends on hardware architecture though, so I advise to run proper tests. A good way of benchmarking mirrorD's performance is the Linux command
time -p ./mirrord -f [folder] -d [digest]
If instead one prefers to benchmark directly the hashing performance of its machine, I recommend the
shasum command (only for SHA digests):
sha1sum [file] sha256sum [file]
SHA1 performance should be comparable to CRC32, although a bit slower. SHA256 is significantly slower than all of the others.