I've been using the syncthing for years, and in my opinion it's so much better than a solution like Dropbox. If you want, everything can be done on your lan, it offers encryption, compression, and the ton of customizability. You can synchronize directories individually, and ignore certain files. It's from a centralized option like Dropbox, since it's not using a single location to store your files, but if you want a "centralized" set up you can still make it work by using a server which all your clients connect to instead of connecting them individually.
Great project and I would highly recommend giving it a try.
rcloud (https://rclone.org) is great too if you want an open source client solution for syncing to the commercial storage service. If you can setup your own server for rcloud like you'd do with Syncthing, rcloud can be enough.
Syncthing is not a Dropbox replacement, but it is an excellent file syncing system (more similar to BitTorrent Sync). I use it to sync my main source code directories and .emacs.d, and it does a tremendous job of that.
I'm looking at the practicalities of offering a hosted Syncthing service, as I've begun doing something like that just for my company. I think that if commodity Syncthing hosting becomes a reality, Syncthing is basically unbeatable.
it syncs directly between devices. a relay server is only used when the devices can't talk to each other (because thy are both behind a different NAT for example).
that's pretty much the definition of P2P, i'd say.
I do use Syncthing as a Dropbox replacement because that was my original use case.
My original user case was to sync files between my computers at work and home and it worked perfectly for that. Extremely reliable as others have mentioned.
But today when I started the program on my laptop while Syncthing was running on my computer it suggested the shared folder on my computer to sync. I knew it did LAN sync but I didn't know about the discovery. It was awesome.
Thanks to everyone who created this wonderful software.
While at the start it was just a synching folder, nowadays dropbox’s value proposition is:
- having a client in any mildly popular operating systems.
- having a fast and simple file sharing mechanism with co-workers/clients
- having high quality native apps, in particular on iOS, to the point that until Files came around Dropbox could be seen a make do file manager to switch files between application even locally.
Anything that doesn’t have full native iOS and android support is providing a different service. Let’s just call it another “desktop file synching” service and not a Dropbox replacement.
Hey, sorry to go a bit off topic here, but it has been on my mind a lot and besides Nextcloud (Virtual drive, little supported and imo not great for other reasons) and Seafile (part commercial, confusing package) I haven't been able find any viable solutions for this.
My problem seems simple. I'd like to only really synchronize a few (selected) files and directories, while other files are simply shown as stubs and only downloaded on request.
I've seen that there is a Syncthing explorer that only downloads files on demand. Is it possible to build a hybrid and how difficult would it be?
Syncthing is amazing. Have it running on a few machines. It's been Rock solid for the last 6 months. I primarily use it to sync org-mode files on different machines. The client worked great on Android too when I last used it. Syncthing-fork package from f-droid to be exact.
It is. The first thing you do is create/select an existing directory on one of the devices to sync. Then you introduce each device (via device IDs/QR codes) to each other one time so they trust each other. Lastly you share the folder with all of the trusted devices.
From there it is entirely fire n forget. The result of folders that just magically sync is not dissimilar to Dropbox.
The plus side is you pay no subscription, you have no limit to how much data you can sync aside from bandwidth and local storage on each device, and you can control oodles of settings you cannot on other more centralized clients.
No you are not. I'm using a Nexus 6 (Android) so I was unaware that there is not a native iOS client yet. There are in progress talks to build one but apparently it is a high lift to get done.
Last time I checked the only iOS client was defunct and not even on the App Store. The issue discussing a native iOS app on github is tagged with not-our-bug.
nextcloud does not support local sync, and it has a bunch of other features that you may or may not need.
but most importantly, i understand that nextcloud needs to be hosted on a public server, and all your devices use a client to connect to that server, whereas syncthing is peer-to-peer (except for the use of a discovery server, or a relay server when needed)
i wonder if it would be possible to drop the requirement of a discovery server. i'd like syncing to work in a LAN without internet access. it should be possible to use zeroconf for the discovery.
i just read in the docs that it is possible to run your own discovery server and to configure the client to use it and also to remove the built-in discovery server list.
you can remove the default discovery server and rely on your own. i'd like to not have a discovery server in the first place. it shouldn't be needed for syncing between machines in the same LAN, nor for syncing with a server on a public network.
the only common situation where a discovery server is needed is to sync between a machine at home and a machine in the office. and in that case, most likely also a relay server is needed since both will be behind NAT.
I've only recently started using Syncthing so I might be wrong, but I think you can not use a discovery server at all. The only requirement is that your Syncthing devices must have static IP addresses configured in their respective settings pages on Syncthing. Once that is done, you can disable both local and global discovery servers in the settings panel.
static ip addresses are a blocker. i want my phone to sync to my laptop when i am traveling, connected to whatever wifi is available, without needing to rely on internet working.
another comment suggests that it should work with avahi/bonjour. if that's the case, that would solve my problem.
>Avahi as far as I understand is essentially the same as Bonjour/mDNS/dns-sd. Regardless, bonjour is just multicast unicast bla bla thingy, same like we do with local discovery, the only difference is that bonjour/mDNS/dns-sd etc has support in the routers to forward the service announcements to other subnets, which they won't do for syncthings local discovery.
But that thread does have some other information if you want to continue trying to use avahi/bonjour
edit again just to be clear: there's a difference between local and global discovery. Global Discovery is the "discovery server" you're referring to. Local Discovery is simply your device sending an announce packet on your local network with your device ID, so that other Syncthing device's on the same network can see it. Local Discovery does not run a "discovery server". I'm not sure exactly what your requirements are, but I would think that just using local discovery would be what you're looking for, or at least worth looking more into.
Great project and I would highly recommend giving it a try.