
Dropbox no longer follows symlinks to items outside of your Dropbox account - whoisnnamdi
https://help.dropbox.com/installs-integrations/sync-uploads/symlinks
======
codetrotter
I see multiple comments here saying that this is unfortunate because people
were using symlinks in order to automatically have backups of program
configurations etc.

But the solution is simple, just switch around which is the real file and
which is the symlink.

So where you used to have symlinks like

    
    
      ~/Dropbox/.bashrc -> ~/.bashrc
      ~/Dropbox/.vim —> ~/.vim/
    

and so on, remove the old symlinks and place the real files in ~/Dropbox/ and
then symlink the other locations there.

    
    
      ~/.bashrc -> ~/Dropbox/.bashrc
      ~/.vim -> ~/Dropbox/.vim/
    

and so on.

This is similar to what I do with some of my files in ~/bin/

Many of the files I have in my ~/bin/ are symlinks to files that live in git
repositories.

For example, I have a few “alias commands” (shell scripts that wrap a longer
command) in ~/bin/

    
    
      ~/bin/st -> ../src/github.com/ctsrc/shell-command-aliases/bin/st
    

(Aside: Why not aliases in my bashrc, you ask? Because I use a few different
operating systems and eventually realized that rather than trying to unify OS
specifics and shared aliases in bashrc it was much simpler to maintain the
aliases as wrapping shell scripts.)

~~~
Erlich_Bachman
This is not a "solution", this is at best a workaround. Moving around
important system files and replacing them with symlinks means you are changing
your system and everything in it just because one small program that doesn't
want to play by the rules can do what it wants.

The real solution is to use other software than Dropbox, that plays by the
rules and cares about its users.

~~~
theaino
As another commenter mentioned, it is actually very common to symlink dotfiles
like that and is how most dotfile management tools work. Dropbox’s magic
symlink following has always been the anti-pattern and has made it impossible
to sync symlinks properly, until now apparently.

~~~
theon144
> Dropbox’s magic symlink following has always been the anti-pattern

Uh, what?

Following symlinks is the _default_ behavior for unix programs that requires
extra effort to work around, why would it be "magic", or an antipattern?

~~~
theaino
Dropbox was replacing symlinks with the target file or directory tree in
synced copies. This obviously breaks legitimate symlinks since the whole point
of having the symlink is to have a reference to the target, not another copy
of the target.

It’s really simple: symlinks are symlinks and should be synced as symlinks.
Now they are.

------
kccqzy
This is one of the most important reasons I've kept using Dropbox despite
having a much larger storage space on Google Drive or elsewhere. Dropbox once
had superior handling of symlinks that deals with plenty of weird edge cases
gracefully. I don't think I have any reason to use Dropbox any more.

~~~
beambot
Didn't they already drop most Linux support?

~~~
JamesCoyne
They announced they were dropping support for several less common filesystems
used by Linux, then they decided that was a bad move and recanted.

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

~~~
josteink
> several less common filesystems

Better make that _all_ the popular non-ext4 filesystems, 2 of which are
default filesystems on the 2 major Linux-distributions out there (Red hat &
Ubuntu).

What on earth were they thinking?

~~~
beambot
Including sane defaults, like encryped home directories using encryptfs on
ext4.

~~~
fencepost
Did they have to do hoop jumping with potential security ramifications to
support those? Is Dropbox on Linux running entirely within the user account or
is there a system level component of it with communication to a user level
component? If the latter, I could see potential areas that could at least be
probed for potential vulnerabilities.

------
donatj
Why does Dropbox just keep jumping the shark? Every fricken turn breaks
something for me. This breaks the entire way I have my systems set up.

They were amazing software and now they’ve eroded away most of it such that
they have very little over their competitors.

At this point the only reason I stay is they sync macOS extended file tags and
comments; both things I make heavy use of. To my knowledge Syncthing doesn’t,
nor Google Drive for that matter.

~~~
Razengan
> * At this point the only reason I stay is they sync macOS extended file tags
> and comments; both things I make heavy use of. To my knowledge Syncthing
> doesn’t, nor Google Drive for that matter.*

iCloud Drive does that too, and should be good enough if you stay within the
Apple ecosystem, can’t say about support/reliability on other platforms.

~~~
donatj
> if you stay within the Apple ecosystem

That’s the rub really. All my machines other than my main Laptop run Linux and
my phone is Android. I’ve really set myself up for pain.

~~~
dddw
nono the companies who built the silos they want you to be in, they set you up
for the pain deliberately

------
veidr
Dropbox is still OK for easily sharing files with other, especially movies and
stuff that its sharing web UI supports.

But in 2019 it is basically an inferior and antiquated tool for syncing your
own files.

I moved to the open-source SyncThing[1] some years ago, which gave me:

1.) the ability to sync any arbitrary set of folders I want, which of course
completely obviates the need to care about things like this issue (i.e., no
need to use symlinks to sync other folders, because you can just sync those
folders themselves)

2.) the ability to actually sync folders that _contain symlinks_ , as many
types of software projects do (Dropbox and many other purported sync tools
can't do that, which means there are many common types of folder that they
can't sync without corrupting them by replacing the symlink with the contents
of the symlink destination) EDIT: Or, have they fixed that now, and is that
why they are making this announcement? I am not sure. Back when I used Dropbox
for syncing, it couldn't sync a folder containing a symlink, but this may no
longer be true. (?)

3.) better sync reliability

4.) better sync performance

5.) completely superior security story; end-to-end encryption means you are in
control of who can access your files (no access for employees, governments,
etc)

The tradeoffs are:

a.) a little bit more work to set up (but it's really just a _little_ bit... I
walked my dad through it over the phone... basically the same amount of work
as getting your credit card billing setup on Dropbox)

b.) weaker story on mobile, no iOS app

c.) no "cloud" so you have to do your own (e.g., leave an iMac running 24/7
back at your house or something)

All in all, after 2+ years I am extremely happy with Syncthing, and I don't
think products like Dropbox have a very strong case to exist anymore, at least
not for the original purpose of syncing folders full of computer files.

That problem has now been solved better, way more securely, and for free.
(Which is probably why Dropbox seems to be trying to pivot to become some kind
of enterprise team commmunication hub.)

[1] [https://syncthing.net](https://syncthing.net) (if on a Mac just install
the Mac app and it will install the other components for you)

~~~
kranner
> c.) no "cloud" so you have to do your own (e.g., leave an iMac running 24/7
> back at your house or something)

> That problem has now been solved better, way more securely, and for free.

You haven't accounted for the cost and maintenance of the 24/7 iMac (or VPS)
if one doesn't already have that, and not everyone does.

I'm also a happy SyncThing user but I wouldn't say it's as easy to use as
Dropbox for the general user.

~~~
thekyle
My 24/7 server is my Android phone. It doesn't cost me anything more than
before it had Syncthing on it and maintenance consists of running Android
updates which I did anyway.

I suspect that most people with smartphones also leave them on 24/7.

~~~
cesarb
Wouldn't that require the phone to always be on wifi, to avoid hitting the
monthly data transfer cap? IIRC, the Android version of Syncthing comes
configured by default to run only when the network connection is a wifi
connection for that reason.

~~~
Multicomp
> Wouldn't that require the phone to always be on wifi, to avoid hitting the
> monthly data transfer cap?

True, but unlimited data plans do exist and I've found that more often than
not, one laptop finds another laptop over the internet than using the fallback
of using cellular data over the phone to sync.

I just installed the F-Droid android client yesterday, it syncs over both Wi-
Fi and cellular data by default since until you add devices/folders, it won't
spend any mobile data at all, which is when it prompts you to make that
choice.

------
dietr1ch
I moved to Syncthing when they asked me to move to ext4.

I'm glad I did. Now my phone and tablet are first class citizens when syncing
and I can have multiple roots shared between different devices. I wish I
switched earlier.

~~~
mickael-kerjean
Syncthing is only for the sync component of Dropbox. If you have an always on
node for syncthing and miss the web UI component of Dropbox along with the
shared links and full text search, I've built Filestash:
[https://github.com/mickael-kerjean/filestash](https://github.com/mickael-
kerjean/filestash)

~~~
opencl
Syncthing isn't on the list of supported file providers, am I missing
something here?

~~~
mickael-kerjean
syncthing assume a filesystem, filestash connect to that filesystem with a
Dropbox like interface. In its simplest scenario you probably want to connect
to your syncthing instance via SFTP as it comes builtin with every server with
the SSH package (deeper integration is in the roadmap)

------
sebst
Maybe one of the most wanted feature in Dropbox (at least among developers) is
a .dropboxignore file[0].

When Dropbox stops syncing symlinks to outside files and directories, the
situations becomes a lot better. Placing node_modules/ or venv/ directories
outside the the dropbox and just placing a symlink here, makes Dropbox a good
option for code backups, again.

[0]: [https://www.dropboxforum.com/t5/Dropbox/Ignore-folder-
withou...](https://www.dropboxforum.com/t5/Dropbox/Ignore-folder-without-
selective-sync/idi-p/5926)

~~~
GordonS
This is also one of the top voted feature requests on the UserVoice site for
OneDrive - it's sat there for _years_ with no action. I don't get why they
wouldn't want to have this, given it would reduce the amount of data they have
to store.

~~~
ledauphin
probably because they ultimately make their money off people who go over the
free storage limit.

storage hardware is incredibly cheap, relatively speaking, so for Dropbox the
main thing is not reducing costs, it's convincing people to pay in the first
place.

------
delinka
My intuition says that Dropbox should never have followed (soft) links outside
the 'boundaries' of the sync folder. It never occurred to me to expect it to
work like that.

I have, however, use folders under Dropbox to sync local files into (make a
change, sync over into Db); or even have a Db folder for git repos added as a
remote (commit a change, git push dropbox branch.)

~~~
nashashmi
Symlinks are a terrific way to duplicate the presence of files in multiple
places.

When Dropbox allowed Symlinks, and recommended Symlinks, it fundamentally
changed the meaning of what Symlinks were. It focused it on its technique to
_emulate_ and a way to direct Dropbox to synchronize folders not necessarily
in the Dropbox folder.

------
kbumsik
What I don't understand about Dropbox in 2019 is that they are trying to limit
features known to work without any issues. What's worse is that they do this
with no particular reasons or explanations.

Why they are doing this recently?

~~~
criddell
If they can't explain how the change is an improvement or fix for some
problem, then it probably isn't being done for the benefit of the customer.

------
Syzygies
Finally! A symlink is a file like any other. You don't want sync software
going off and "thinking" about what a symlink really means, anymore than you'd
want sync software going off and "thinking" after finding porn on your
computer. It is a user's responsibility to insure that a symlink is useful
across sync'd computers, or to ignore the symlink.

A good test case is a MacOS Application Package. These often have internal
symlinks that most users never notice, e.g. from "current" to a version of
included software. A sync program that replaces the symlink with its contents
simply bloats such an application, but it still works. A sync program that
ignores a symlink breaks the application. In either case the mistake is
"thinking" about the symlink rather than treating it like any other file.

There's still only one sync program that I know of that handles every issue
like this correctly: Unison, written by a prominent computer scientist with
astute community feedback. This is collectively a smarter brain trust than the
sanctimonious support folks who have resisted my feedback at various sync
software companies, sure that their unique approach is correct. Not only does
Unison correctly handle symlinks, it also has a notion of an "atomic"
directory, so that one doesn't for example hose a git archive modified at both
ends, or a sparse disk image modified at both ends.

I use DropBox when I need the integration, to iOS or sharing with others. I
sync the guts of each machine, for my private work, using Unison.

------
krsdcbl
Well, there goes my whole workflow of backing up my graphic projects into
dropbox from their original location on our local server ...

------
djklanac
Primary reason for me to pay for Dropbox is symlinked files that act as a
backup and remote file access.

~~~
hnarayanan
Me too. Need to find an alternative.

------
dreamcompiler
How is this different from before? All my symlinks reside at odd (but
convenient for me) locations in my file system outside my Dropbox folder. They
all point to locations _inside_ my Dropbox folder. Everything works perfectly,
unless I make the mistake of creating a symlink inside Dropbox that points
out; those have always exhibited strange behavior so I stopped using them long
ago.

~~~
eslaught
It used to be that if you created a symlink (even an internal symlink) it
would result in storing a duplicate of the symlink target instead of the
symlink itself. On the first machine, it would preserve the symlink, but on
any subsequent machines it would store a copy of the file. You could restore
the symlink by hand on other machines, and it wouldn't interfere with syncing,
but you had to do it manually.

With the old Dropbox, if you did the following:

1\. machine A: clone a git repo that contains a symlink

2\. machine B: wait for repo to sync

3\. machine B: git status

You'd see a "type change" in the git status output. If you did git checkout
you'd get your symlink back and it wouldn't interfere with machine A.

Which was all fine if you had your file contents synced in git or similar, but
if you had it set up by hand it was a huge pain in the rear (because you'd
have to locate the bad symlinks and restore by hand manually).

------
fencepost
If it's all on the same filesystem/partition you could use hard links instead,
including on Windows (NTFS only though, and based on reading just now I'd
forgotten that it's files-only).

It would also be interesting to see if on Windows it handles Junctions as hard
links or soft - basically does this only affect shortcuts on Windows or also
catch the less used filesystem option.

------
telesilla
Any alternative suggestions? SyncThing that is discussed here seems to need
you to manage your own always-on system, which I suppose can be implemented
via a cloud server?

I've been using Dropbox for years but this change means I need to re-organise,
so may as well look at other options at the same time. I really enjoy the ease
of right-click to share, if any other service has replicated that.

~~~
veidr
Yes, basically any $5/month VPS works great for Syncthing.

The only thing I still do use Dropbox for is the share-with-whoever
functionality, too. I'd be curious to hear about alternatives for that as
well.

(To me it seems pretty orthogonal to syncing folders across machines, though,
and I'm fine with and probably prefer using different tools for that. Which I
guess I am doing, since I use Syncthing for syncing and Dropbox for sharing.)

~~~
unionpivo
I use firefox send its surprisingly useful
[https://send.firefox.com/](https://send.firefox.com/)

Where i need longer duration i just use gdrive

------
hprotagonist
well, fuck.

The only reason i have dropbox on my workstation is so that i can

    
    
      ln -s /media/user/ssd_drive/results/bigstupidfile.tar.gz ~/Dropbox/user/
    

and then share that link.

------
JorgeGT
That's too bad, thanks for the heads up. I use symlinks for the figures of my
LaTeX papers, the actual figure resides with the scripts and data that
generate the figure (many GBs usually) and in Dropbox I only have very
lightweight text files and symlinks. That way I know my figures are always up
to data with the data when compiling.

------
telesilla
Any alternative suggestions? SyncThing that is discussed here seems to need
you to manage your own always-on system, which I suppose can be implemented
via a cloud server?

I've been using Dropbox for years but this change means I need to re-organise,
so may as well look at other options at the same time.

~~~
jay_kyburz
I wonder if there is a business there for some startup to host the always on
part for SyncThing users.

~~~
erichocean
Yes.

------
pier25
For us techies this can be a big deal, but the vast majority of users do not
even know what symlink is.

Personally I'm moving to Resilio Sync since these days I only use Dropbox to
sync prefs and some files between devices. The idea of sharing the same folder
between many users can be disastrous.

------
TazeTSchnitzel
Couldn't Dropbox have let you choose the behaviour you want? :/

------
TheUndead96
Alternative headline: Dropbox is dying, consider moving your data soon.

------
Legogris
How did it work with shared folders prior to this? Has there been an attack
vector utilizing symlinks in shared folders, making other users' clients sync
files from their drives?

------
frereubu
I have a relatively simple use case, but I get around this by having all my
folders in Dropbox and setting up symlinks outside Dropbox that point to the
folders in Dropbox.

If you want to sync default MacOS folders that you can't delete in Finder
(Pictures, Movies etc.) you can delete them using sudo in terminal and
recreate them as symlinks. I've even done that with Desktop (I just keep plain
text files there) and it's been working fine for a few years now.

------
bsg75
I moved back to SpiderOak from Dropbox because although it saves symlinks as
the link files as well (not the files they point to), it supports both backup
and sync separately as part of job definitions and I don't have to worry about
how it interprets filesystems across the OSes it supports.

Being able to backup my home directory in its entirety and sync a subset of it
(ex code projects) between machines is handy.

------
MobileVet
I once tried to symlink from my personal folder to a team folder in a
Corporate Dropbox account. The reason was because I wanted the Dropbox App I
created to upload files to the Team directory but I could only create the app
from my user.

The result was continual sync, 100% cpu and growing RAM use (past 20GB). I had
to eventually delete the link and just copy the files over manually when they
were done being created.

------
vortico
For anyone that uses Linux, I think a simple ssh server should be fine for
their needs. What then is a tool or daemon that watches a directory and runs
scp or rsync when a file changes?

~~~
nightfly
[https://github.com/axkibe/lsyncd](https://github.com/axkibe/lsyncd)

------
nullify88
This is unfortunate. I have symlinks in dropbox to sync certain application
config and dot files on Linux. I guess I'll have to use a proper dot file
solution or another tool.

~~~
climb_stealth
You could use them the other way around. Leave the dotfiles in your dropbox
folder and symlink to them from your home directory. I keep my dotfiles in a
private git repo that way.

------
dbg31415
Anyone know why they are doing this? It disappoints me as I use this
functionality to keep files synced between devices. What's Dropbox's reasoning
for this?

------
mikorym
I didn't use Dropbox in this way (and I realise actually I should use symlinks
more) but why would they change this behaviour?

------
fiendsan
Seems dropbox keeps dropping features or adding irrelevant stuff, when was the
last time dropbox added something really useful?

------
josteink
For each one of these announcements, I’m increasingly glad I decided to setup
my own Nextcloud-instance.

~~~
Hamuko
I've been intending to setup my own after Dropbox emailed me about exceeding
my device limit. Surely I'll get to it one day.

------
m1sta_
Why not just make this configurable?

------
Spooky23
Too bad. How does Dropbox keep the premium pricing when they increasingly lack
premium features?

------
tyingq
Make a hardlink instead? Needs more oversight, but not as visible to DropBox.

------
TheChaplain
That is incorrect? I just tried and it works just fine on my Linux host.

As long as the symlink is inside the ~/Dropbox folder, pointing to a
file/folder also inside the ~/Dropbox folder, it works. I can open the
file/Folder when tapping on the symlink on mobile Dropbox.

~~~
frereubu
That's what the linked article says. It makes a distinction between a symlink
in your Dropbox folder that points to another item in your Dropbox folder
(syncs both symlink and target) and a symlink that points to another item
outside your Dropbox folder (only syncs the symlink).

~~~
Dylan16807
That's not really a distinction. It always syncs just a symlink now. If the
target is inside Dropbox then it gets synced by virtue of being in Dropbox,
not because a symlink points to it.

