
Syncthing: An open source Dropbox replacement - jseliger
https://syncthing.net/
======
johnramsden
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.

~~~
mhxion
rcloud ([https://rclone.org](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.

------
microcolonel
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.

~~~
McAtNite
I took a quick look at the documentation, and it sounds pretty much like an
open source version of BitTorrent/Resilio Sync.

Their documentation mentions they use an open protocol. Is this thing just
running on P2P?

~~~
em-bee
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.

~~~
microcolonel
> _because thy are both behind a different NAT for example_

More specifically, a case where they are both behind different NATs which both
do not respond to UPnP.

~~~
Dylan16807
No hole punching? Huh.

~~~
microcolonel
That too, having never implemented NAT traversal I guess my mind always
considered them the same mechanism.

~~~
Dylan16807
"That too"? From what I can see hole punching is pretty far from being
implemented:
[https://github.com/syncthing/syncthing/issues/4259](https://github.com/syncthing/syncthing/issues/4259)

Edit: Oh wait this exists
[https://github.com/syncthing/syncthing/pull/5737](https://github.com/syncthing/syncthing/pull/5737)

------
1023bytes
Calling it a Dropbox replacement is inaccurate, it is a decentralised file
synchronization system. A Dropbox replacement would be Nextcloud

~~~
kemonocode
Most people I know use Dropbox precisely just for that, and little more. For
them, Nextcloud would be closer to a Google Drive replacement.

(Yes, I'm well aware Dropbox is way more than file synchronization, but try to
change how people use things...)

------
dang
6 months ago:
[https://news.ycombinator.com/item?id=18832517](https://news.ycombinator.com/item?id=18832517)

2017:
[https://news.ycombinator.com/item?id=13856552](https://news.ycombinator.com/item?id=13856552)

2014:
[https://news.ycombinator.com/item?id=7734114](https://news.ycombinator.com/item?id=7734114)

------
x3n0ph3n3
I've been using syncthing for a couple of years for sharing files between my
various devices. Couldn't recommend it more!

------
thunderbong
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.

------
hrktb
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.

------
solarkraft
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?

Thanks.

------
throwaway8879
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.

------
the_common_man
The web client lacks authentication last I checked. It is far from a Dropbox
replacement

~~~
tiernano
You can turn it on in the settings. I have it on a couple of servers.

------
xref
I’m still looking at Dropbox replacements, is it easier to admin than Seafile?
Along with native iOS/Android/win/macOS/Linux clients (not 3rd party)?

~~~
smush
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.

~~~
hrktb
I don’t see iOS clients, not even third parties. Am I missing something ?

~~~
smush
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.

[https://forum.syncthing.net/t/on-syncthing-ios-port-
again/89...](https://forum.syncthing.net/t/on-syncthing-ios-port-again/8964)

------
ronanyeah
Been using it for like 2 years. Extremely pleased.

------
Tomte
Is the third-party iOS client working well and trustworthy? Does it hook into
the Files app?

~~~
bluegreyred
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.

[https://github.com/syncthing/syncthing/issues/102](https://github.com/syncthing/syncthing/issues/102)

If there's a new client out I'd love to know about it.

~~~
stinkbug9o
Discussion from April 2019:

[https://forum.syncthing.net/t/ios-iphone-crowdfunding-on-
bou...](https://forum.syncthing.net/t/ios-iphone-crowdfunding-on-
bountysource/13136/4)

------
jgaa
How does it differ from Nextcloud?

~~~
em-bee
[https://nextcloud.com/compare/](https://nextcloud.com/compare/) gives a good
answer to that.

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)

------
em-bee
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.

~~~
mercora
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.

~~~
em-bee
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.

~~~
txcwpalpha
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.

~~~
em-bee
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.

~~~
txcwpalpha
Again, not an expert on Syncthing, but I'm pretty sure that Avahi/Bonjour do
pretty much exactly what Syncthing's local discovery protocols do.

edit: here's a discussion on GitHub about adding avahi support:
[https://github.com/syncthing/syncthing/issues/5460](https://github.com/syncthing/syncthing/issues/5460)

It seems they've dismissed it as unnecessary:

>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.

~~~
em-bee
yes, local discovery without needing a server is exactly what i am looking
for. thank you!

i mentioned avahi/bonjour mainly as a point of comparison for something like
it. i don't care about the implementation details as long as it works :-)

------
dddw
it's nice, but not great for old hardware. quite CPU intensive.

