rsync icon indicating copy to clipboard operation
rsync copied to clipboard

Implement an rsync receiver, too

Open stapelberg opened this issue 3 years ago • 8 comments

Currently, we only implement a sender (for serving files), but a receiver would be neat, too (for downloading files).

Left to do:

  • [x] implement receiver protocol
  • [x] write files to disk
  • [x] only transfer deltas
  • [ ] cross-system user/group id/name mapping

stapelberg avatar Dec 28 '21 09:12 stapelberg

https://github.com/gokrazy/rsync/commit/d5a5b3defb3b1b49e795200e215823cd797371b6 lays the foundation.

Next up is actually writing files to disk.

stapelberg avatar Dec 29 '21 13:12 stapelberg

https://github.com/gokrazy/rsync/commit/d1c307d7a3db853abb5b39de3a206303c4936f4f writes files to disk.

Next up is generating checksums / transferring deltas

stapelberg avatar Dec 30 '21 16:12 stapelberg

@stapelberg Is this ready to go yet? This would be great for my backup/restore functionality 😅 I'm happy to help test your work!

prologic avatar Dec 31 '22 02:12 prologic

@stapelberg Is this ready to go yet? This would be great for my backup/restore functionality sweat_smile I'm happy to help test your work!

The status in the commit messages and first comment of this issue is accurate. A receiver exists (so feel free to try it out!), but it doesn’t map user/group ids/names across machines.

stapelberg avatar Dec 31 '22 10:12 stapelberg

@stapelberg Thanks! I actually did, however I decided to go with a completely different solution as I wasn't able to get what I had hoped working with gokr-rsyncd -- I think what's missing is (which is stated on the README) is receiver support in the daemon/server itself 🤔

prologic avatar Dec 31 '22 11:12 prologic

Yes, the daemon doesn’t accept uploads yet.

stapelberg avatar Dec 31 '22 16:12 stapelberg