Introducing ByteSync – An Open-Source Cloud-Based File Synchronization Tool with End-to-End Encryption

Hey r/opensource,

I’ve been working on ByteSync, an open-source file synchronization tool designed to offer a modern, secure, and efficient way to sync files between remote systems. After almost two years of work in my spare time and a major rewrite, it’s now available under the MIT license and is hosted for free.

What is ByteSync?

ByteSync is a cross-platform file synchronization software designed to sync files between remote devices via the cloud with end-to-end encryption. It transfers only the differences between files, making it faster and more efficient.

You can think of ByteSync as:

  • An alternative to FTP, but self-orchestrated, without the need for a centralized server – no VPN, no firewall configurations required.
  • A network-focused counterpart to FreeFileSync, built specifically for remote synchronization.
  • Working a bit like Syncthing, but with an on-demand approach instead of continuous background syncing.

Key Features 🔑

ByteSync ensures data is secure with end-to-end encryption while optimizing performance through delta sync technology, which transfers only modified data to save bandwidth.

It supports synchronization across up to 5 remote devices simultaneously and offers customizable synchronization rules to adapt to different workflows.

Being cross-platform, it runs on Windows, macOS, and Linux, and as an open-source project under the MIT license, it’s accessible for anyone to explore and contribute to.

Technologies Used 🛠️

ByteSync is built with a bunch of cool technologies, which can be interesting to check out if you’re curious about how it all works.

  • C# / .NET 8 – Core application development
  • Avalonia UI – Cross-platform user interface framework
  • Azure Functions – For scalable serverless cloud operations
  • Cosmos DB – Distributed, NoSQL database for high availability
  • Redis Cache – Fast, in-memory data caching
  • Azure Blob Storage – Secure and scalable cloud file storage
  • SignalR – Real-time communication between client & server
  • AES-256 Encryption – End-to-end data security
  • JWT (JSON Web Tokens) – Secure authentication and authorization
  • NUnit, Moq & FakeItEasy – Unit testing & mocking frameworks for robust test coverage

Deployment Instructions ⚙️

Instructions for deploying both the client-side and server-side components are available directly in the repository.

Try it out!

If you test it out, feel free to drop feedback or report issues on GitHub 🙂

Thank you,
Paul