Live data from Hacker News

Ask HN: Best modern file transfer/synchronization protocol?

news.ycombinator.com

1–10 of 59 posts

Ask HN: Best modern file transfer/synchronization protocol?

#1
Hi HN,

I'm looking to build something to transfer files between two devices on a network (one client and one server, both of which are under my control).

Obviously I could write something bespoke with raw TCP sockets, but rather than reinventing the wheel I'm curious about what existing options people recommend. I assume there are some better technologies than FTP nowadays?

Ideally some kind of built-in fault tolerance would be great, because my plan is to use this on a phone/in an environment where the connection could be interrupted.

Edit: just to clarify - this is something I want to build into an application I am writing, ideally with support across iOS (client), Windows, and mac (server).

One way transfer is all I need, and I mostly plan on photos/videos (so multiple files ~3-20MB in size).

Thanks!

Re: Ask HN: Best modern file transfer/synchronization protocol?

#8
post #6
post #3

rsync over ssh for one-shots. syncthing for continuous use.

I've starting using rclone over rsync for this application. Rclone can do segmented transfers and handles large numbers of files better, at least in my experience.

What are segmented transfers?

Re: Ask HN: Best modern file transfer/synchronization protocol?

#9
post #6
post #3

rsync over ssh for one-shots. syncthing for continuous use.

I've starting using rclone over rsync for this application. Rclone can do segmented transfers and handles large numbers of files better, at least in my experience.

rclone is great! So useful as an alternative/superior client for cloud storage too (Google Drive, OneDrive, etc.)

Re: Ask HN: Best modern file transfer/synchronization protocol?

#10
post #7

I would probably start with rsync.

Thanks - is there a reference implementation for rsync that works on windows and iOS? My impression was it was more of a CLI tool for Linux/macOS.

If you are looking to integrate into another app, maybe check https://librsync.github.io/ out.
Post reply on HN