This is an rsync clone written in the Rust programming language. It is intended to provide the functionality of rsync, rdiff, and zsync in one single program, as well as some additions such as caching file signatures to make repeated synchronizations faster. It will also provide a library, allowing to use the functionality in your own programs.
Core functionality is there. You can index and sync local folders, and sync over SSH.
The next step is implementing syncing over HTTP, and syncing "offline" (diff/patch).
$ syncfast sync some/folder ssh://othermachine/home/folder
The rsync algorithm: https://rsync.samba.org/tech_report/ How rsync works: https://rsync.samba.org/how-rsync-works.html
zsync: http://zsync.moria.org.uk/
Compression crate: https://crates.io/crates/flate2