HN thread: https://news.ycombinator.com/item?id=12261409
Here's a nice overview of differences compared to Syncthing from the developer: https://news.ycombinator.com/item?id=12262704
Offering file watching without any extra configuration and supporting decentralized discovery though the mainline DHT are its most compelling advantages over Syncthing for me.
Try https://hubic.com/en/offers/ it was created by "The number 3 internet hosting company in the world" OVH works quite well if you don't mind the dated interfaces
[1] https://www.vpscheap.net/pricing.aspx Section “Budget Servers”
I see it has no mobile clients, that's almost a dealbreaker for my every-day use. Syncthing runs great on my Android.
Could I rely on this just like I would rely on Dropbox to instantly get my files synced or do I still need a centralized option for that?
I've been using it for a while now, and though I feel there's room for improvement, it's definitely much more reliable than it used to be before and I haven't had to restart the daemon multiple times.
As for your second question about instant syncing, there's syncthing-inotify [0] which detects file changes immediately (instead of 60 second rescan interval), but I haven't tried it yet.
For syncing outside your local network, Syncthing supports relaying, which I linked in my previous comment.
I started using Syncthing for some of my projects after Dropbox stopped syncing files without notice for the third time. The failed Dropbox syncs were related to either C++ or Doconce+LaTeX projects where many temporary build files were being modified often. Syncthing doesn't seem to have a problem with these files, and it is even possible to configure Syncthing to ignore specific file patterns if you just don't want it to sync such files at all.
The default setup in Qt Creator is to have a build folder next to the sources, but after the first big sync failure I configured Qt Creator to always build outside of Dropbox. But I experienced failed syncs after that, even with only C++ sources inside Dropbox and when building Doconce+LaTeX projects.
I mean... there's a certain point where you are now syncronizing "crap" that shouldn't be needed (bin/obj/etc)...
If you want to access your own files anywhere, you're not really in it for the sync aspect, and you're willing to host your own, there's this great piece of software called OpenSSH, that implements remote shell access as well as a protocol called SFTP that you can use to remotely access files. There are clients available on all systems, frequently installed by default, it's incredibly secure - you may have heard of it. It's kinda new, and the up-and-coming thing in personal cloud software. The investors are really excited.
:-D.
Their UI is crappy and laggy, and doesn't look like it belongs in any platform.
It takes forever to sync files between devices.
It sometimes gets confused when I rapidly switch between branches in a git repository, touching thousands of small files each time.
But I love the ability to pick and choose exactly which files and folders to backup and sync. SpiderOak adapts to my workflow, instead of demanding that I put my files in specific folders. If inefficiency is a necessary cost of combining this kind of flexibility with full client-side encryption, I can live with that.
1000s of small files, or one rapidly changing file cause me problems as well. It's also annoying that each client has to decode new data whenever something is backed up on another machine. This causes my cpu to hit 100% on my laptop while my desktop is backing up a bunch of new files.
I agree, the UI is not great and it's quite slow. It often uploads the same files again and creates multiple versions, with no way to delete older versions of files at a folder or device level. The skewed non-linear pricing is also heavily biased toward those who use less but like the 1TB option, with the next tier below being a paltry 30GB.
Please let me know if you know of such a solution!
I have a central SSH server where I store all my files. When I want a file on a given device, I pull it down from there. If I want to add a new file or update a file, I push a file up. Pretty simple. You do need at least one computer that stays in a constant location (typically at your house) to do this. From there, you portforward SSH to a high numbered port (it keeps every bot in the world from knocking, and some ISPs block 22) on your router. However, if you're like most of us, your ISP doesn't assign you a static IP. But, because your IP probably changes only rarely (probably only sometimes if your router goes down), you actually needn't use dynamic DNS. Furthermore, because you aren't actually publishing on that address, you can use any domain, regardless of ugliness, and there are plently of DNS services willing to offer you a subdomain for free. I reccomend freedns.afraid.org, myself.
It doesn't work for everyone, likely, but it works well enough for me.
If these are public IP addresses, any DynDNS provider could work well.
If these are internal IP addresses chosen by DHCP and you control the DHCP server, pin the MAC addresses of the devices to fixed IPs. They will still do DHCP, but get the same IP every time.
You can use it as a way to bridge all computers. Basically, have all computers create a tunnel to this computer and then you can access them.
I do something similar with a small VPS, but it could be something at home. What I do is that all my computers automatically connect to this VPS and bind to a different port. This is with SSH (and autossh). If I want to access computer X, I can SSH to this VPS use the port that I know computer X has.
For your scenerio, you can forward this port to your local machine and run rsync -p to it...
That, I would use maybe half the time. However, sometimes my devices are on the same network. What if both of my devices are on the same network? I think that I would prefer not to send the files through the internet in that case.
One solution for each vae would be nice (please share if you do have one). However, one solution for both would be nice.
Computer A > router > local server > router > Computer B.
Instead of: Computer A > router > Computer B
You can use some scripting and configuration to get the second one if at home. But basically you have to have a way to guarantee that both devices are at home.To make sure both devices are home, you can assign static IP at the router level to the devices.
Now, if both devices are wireless.
– Check you are home by checking the SSID you are connected to.
– If you are home, ping the other device static ip.
– If it responds, you can connect directly to it
If any of these fail, connect to example.com.But for most HN readers, if it's the sort of thing you're looking for, it'll do the trick.
From My understanding, SyncTrayzor is the GUI version for SyncThing with MIT license[1].
[0]:https://github.com/canton7/SyncTrayzor
[1]:https://github.com/canton7/SyncTrayzor/blob/master/LICENSE.t...
I think Dropbox's problem is mostly Google. I used Dropbox at home but once Google got their drive up to speed and it integrates with other things like Gmail and such, it is hard for me to justify using Dropbox. So I uninstalled it and just use Google for everything.
https://www.seafile.com/en/home/ / https://github.com/haiwen
This is how simple it is to set up the server https://manual.seafile.com/deploy/using_sqlite.html
Syncthing is great if your goal is to synchronize files between different machines. However, if you want to share files/folders with people who do not have a strong tech background it's not really an option.
I use it to share stuff on Dropbox. I run Linux and have never installed the Linux client (if there is one, I don't know!)
PS I wrote rclone!
Syncthing is a free software (MPL-2.0) cross-platform [1] and decentralized peer-to-peer file synchronization utility with end-to-end encryption, and with support for relaying [2].
Check out their getting started guide [3].
[0]: https://syncthing.net [1]: https://docs.syncthing.net/users/contrib.html [2]: https://docs.syncthing.net/users/relaying.html [3]: https://docs.syncthing.net/intro/getting-started.html