FileSync is a distributed file synchronization system written in Go that keeps directories in sync across multiple nodes with strong consistency guarantees. It uses the Raft consensus algorithm to coordinate writes across the cluster — ensuring no two nodes disagree on file state — and a peer-to-peer transport layer (libp2p + QUIC) for direct, encrypted file transfer without a central server. Under the hood, files are split into content-defined chunks using Rabin fingerprinting, so only the parts of a file that actually changed are transferred across the network. A Merkle tree diff engine compares chunk trees between peers to identify exactly which chunks are missing or stale, keeping sync traffic minimal even for large files. The result is a system that behaves like Dropbox — seamless background sync — but is fully decentralized, tolerates node failures and network partitions, and gives you the consistency guarantees of a distributed database rather than eventual-consistency best-effort syncing.
FileSync is a distributed file synchronization system written in Go that keeps directories in sync across multiple nodes with strong consistency guarantees. It uses the Raft consensus algorithm to coordinate writes across the cluster — ensuring no two nodes disagree on file state — and a peer-to-peer transport layer (libp2p + QUIC) for direct, encrypted file transfer without a central server. Under the hood, files are split into content-defined chunks using Rabin fingerprinting, so only the parts of a file that actually changed are transferred across the network. A Merkle tree diff engine compares chunk trees between peers to identify exactly which chunks are missing or stale, keeping sync traffic minimal even for large files. The result is a system that behaves like Dropbox — seamless background sync — but is fully decentralized, tolerates node failures and network partitions, and gives you the consistency guarantees of a distributed database rather than eventual-consistency best-effort syncing.