80 karma · joined December 23, 2015
So, I've tried to make the spec as generic as possible, so it could support current compicated cases, like git (with its infinite number of commands and options), scp (with its remote file listing), some old Windows commands (like "format" for windows95 and so on).
Also, this format could be used with a single-pass recursive generator, because each usage pattern is just a JSON array and all its properties can be defined in-place. So, it would be okay to use it with languages, like C, that have no JSON serializer built-in.
This HMAC is computed over plaintext chunks and used to determine, if we already have this chunk in database (because of random IV we get different hash of ciphertext every time), not for verification.
And what is wrong about verifying integrity and authenticity by hash-then-sign?
But to let you control the daemon via the net, I am making Web UI, that will enable you to fully control synchronization process from your browser.
Then, the list of these hashes is placed into Meta structure. After that, this Meta is ECDSA-signed using a EC point, decoded from A-type secret.
Any other type of secret contain the public part of EC point and can verify the signature.
* Librevault is simpler for the end user. From my perspective, Syncthing doesn't aim to be user-friendly. More like geek-only solution.
* Librevault supports adding a folder by key, like BTSync. And also, it supports a URL scheme for adding a new folder just by clicking it in the browser: https://librevault.com/blog/lvlt-scheme/
* inotify, fsevents, kqueue and ReadDirectoryChangesW support out of the box. Syncthing requires you to install a separate third-party plugin for this.
* DHT support, so it doesn't need any trackers for peer discovery. DHT is Mainline DHT, so it can connect to BitTorrent clients and ask them for peers. It means, that Librevault can participate in the world's largest distributed peer discovery network and will not suffer the lack of DHT nodes.
Also, it has a proper (!) desktop UI inspired by BitTorrent Sync 1.3.
Also, I will add the comparison table with Syncthing, BTSync and some cloud storages, like Dropbox.