gokrazy / rsync

gokrazy rsync
BSD 3-Clause "New" or "Revised" License
494 stars 28 forks source link

Integration with android (replacement for google drive/ nextcloud) #28

Open DAT4 opened 1 year ago

DAT4 commented 1 year ago

I am using nextcloud for synchronizing my media from my phone - but it is really buggy, and too bloated for my use case. So I was thinking about how nice it would be if I could just use something simple and robust like ssh+rsync to run a periodic and fast syncronization of my phone and my media server.

I just found this project - so I don't yet know if it would be possible. But if it is then I will use this implementation of rsync + gomobile and make a binding that I will use in an app.

It could be so cool.

stapelberg commented 1 year ago

Hey! Uploading files using rsync is not implemented yet. The item “Making gokr-rsync also implement an rsync sender so that it can push (upload) files to a remote rsync server (daemon protocol or SSH).” in the README tracks that. However, you could reverse the roles for now: you could run gokr-rsyncd on your phone and have the media server pull from your phone when needed (potentially secured with tailscale.com).

That said, I would recommend you report the issues with the nextcloud app so that it can be fixed for everyone, instead of building a custom solution that then requires maintenance effort.

DAT4 commented 1 year ago

https://github.com/DAT4/ssh-rsync

I started developing my own little "rsync" that can only work as a ssh client. My only dependeny is golang.org/x/crypto/ssh. My Rsync algorithm so far is just comparing last modified timestamp, but my intention is to understand your implementation of the algorithm better and then start using that.

I will start integrating in in android ASAP and see how it will perform. I am already quite convinced that it will be a better experience than nextcloud.