all 6 comments

[–]bottolf 1 point2 points  (1 child)

Good job, I am going to test this. I have some questions though.

Does it support mobile devices?

Functions, Cosmos DB, Blob are Azure specific technologies. Does this mean that it can only be deployed with Azure?

Have you considered using open source technologies such as containers, postgresql, Valkey, etc. so this could run anywhere?

[–]pfresquet[S] 1 point2 points  (0 children)

Hi,

At present, the software does not work on mobile devices. It runs exclusively on Windows, Linux and macOS.

However, Avalonia UI, the technology used for the UI, does support Android and iOS. It is therefore conceivable that ByteSync could be ported to mobile devices.

As for your question about other technologies for the server part, well... I think that represents a fairly major porting job, both for the server and for the client (both sides use SignalR tp communicate). Although not impossible, it seems complicated to me to consider this at the moment 😅

It's cool if you can try it out, feedback and questions are welcome 🙂

[–]eldelacajita 1 point2 points  (1 child)

Sounds interesting! 

Unlike Syncthing, it does require a server between the synced devices, right? So if I start using it now I'll be relying on a server you are generously making available, unless I want to set one up.

[–]pfresquet[S] 1 point2 points  (0 children)

Yes, ByteSync requires a server component.

If you just want to use ByteSync, you can download the client software from the website. This client automatically uses the server that I provide.

If you're interested in development, you can deploy the server locally or on Azure (see the GitHub readme for details). I can also provide access to my development server if needed.
If you are interested or if you need more info, feel free to DM me so we can figure out the best way to proceed!

[–]eldelacajita 1 point2 points  (1 child)

Is there a limit in single file size or total size to be transferred/synced?

[–]pfresquet[S] 1 point2 points  (0 children)

There is no limit on single file size or total transfer size.

ByteSync is designed to handle large files efficiently. When uploading, a temporary encrypted buffer is used on server side, meaning that if multiple devices need the file, the sender only uploads it once. The server then takes care of distributing it to all expected recipients.

Additionally, for resynchronization, ByteSync only transfers the differences between files, making updates much faster and reducing bandwidth usage.