Hacker News new | past | comments | ask | show | jobs | submit login
FreeFileSync: Open-Source File Synchronization and Backup (freefilesync.org)
180 points by rcoilliot on Dec 23, 2021 | hide | past | favorite | 68 comments



There is apparently also a "Donation Edition" -

    Everyone who donates is eligible to download a special 
    version of FreeFileSync without any advertisements,
    including a few of bonus features.
It is built from a different source, so it's neither free or open source. Not that anything wrong with it, but it should probably not be distributed under the same name - https://freefilesync.org/faq.php#donation-edition


This project is kinda wonky from a free/open-source perspective. It's ostensibly licensed under GPL-3 (i.e., there's a source zip which has a License.txt that's GPL-3), but it otherwise acts like freeware with a single developer.

It has a history of bundling file-droppers/malware; there's a donation edition with a different feature set, with some extra features (including removal of arbitrary limitations on the regular versions); the installers are binary blobs, and there's no attempt (and passive hostility) towards integration with distros and package managers; source control isn't provided, and there's basically no attempt to create a dev community.

The binary installers may or may not include things that are not in the provided source code, like installer and ad systems. That's not really cool.


That's a hard pass from me. I will keep using Seafile and supporting FOSS by paying for hosting.


I've been through tons of different file sync/backup solutions but once I landed on seafile I haven't looked back. Truly awesome software, does one thing really well, upgrades are a breeze, I can run it in a container that bind mounts zfs volumes for storage and MySQL database so I can even snapshot those. Love it!


Have you tried synching? It is what I currently use and I would be grateful if you can share your insight on how they compare.


It seems like it serves the same kind of purpose as SyncThing (https://github.com/syncthing/syncthing).

SyncThing seems like a safer bet (better community, proper OSS, etc). :)


Last I checked, it looked like the difference was entirely in the installer, with the program just checking for a registration file at run time. Has that changed? Was my assessment wrong?


There apparently also was a Malware Edition: https://news.ycombinator.com/item?id=29662608


It's technically a recurring donation too if you want the current versions, for €20 you get 1 year of updates.


One issue we've had with FreeFileSync is that the 'portable' functionality of it is a paid-only feature. As are removing ads. We'd rebuild it ourselves and rename it if needed, but the source code requires patched libraries and has no/incomplete build instructions. Neither I nor anyone else I know was able to get it to build, at least over the many years I played with it. That's why the version we make available at PortableApps.com is still version 6.2, that last version that didn't purposely break portability.


The killer feature of this over rsync or rclone (which I love and use almost daily) is pre-run inspection and conflict resolution for each individual file. You know when you need it, and when you do, FreeFileSync shines.

For those mentioning WSL enabling using rsync on Windows: have been using it with Cygwin for years, zero issues. So, WSL wasn't a hard requirement.


I can also recommend Cygwin, and I really don’t understand why so many people seem to have either completely overlooked it, or outright dislike it. It’s so much better than having to keep a full blown WSL “VM”/container just to get access to basic tools.


It's been a long time since I've used it, but I seem to recall Cygwin having a lot of minor but annoying "gotchas" with things like package management, file paths, etc. that you don't have to deal with in a more complete environment like WSL.

The fact that software needs to be specifically compiled for Cygwin is a big enough hassle on its own that I'd rather just use a "real" Linux environment and not have to deal with it.


I tried to use Cygwin a handful of times, but having to stop, close, and re-run the installer every time I forgot some package was overbearing. WSL was much easier to get running (it's a part of Windows!), and since it's a real ubuntu/debian/etc. installation, it behaves like one, too. Far and away much better UX with WSL.


I want to try out Liferea (RSS Reader) for my Windows. Let say it been a pain trying to get it to compile in Cygwin. I reinstalled Cygwin 4 times because I keep missing the dependencies that Liferea needs. I haven't start again because I'm worried that I have to go through this again. That's what happened today. I want to install a full package but people warned not to do it since it will balloon the size.


I've only had to stop the terminal if I'm updating cygwin.dll, not if I'm just installing more packages


There's a script somewhere called "cyg-get" I think that works like apt-get for Cygwin.


I think WSL1 sound like it's better than cygwin because it's native and made by MS. I also preferred babun and cmder for occasional scripting/dev needs (the Windows machine is only for entertainment to me), but WSL has an upper hand for easier integration with VSCode, Docker and other tools


I have a happy setup of Cygwin + Bash script invoking find/mv and a Windows Scheduler cron job to run it every 5 minutes. But to be honest, FreeFileSync is my first choice, but it was not viable for my use-case (moving files in Dropbox without downloading them, FFS and rsync do copy/delete).


You can use the --dry-run option in rsync, with which you can do a pre-run inspection.


That's only a fraction of it. This is an interactive tree view of all the files and all the pending transfers, with the ability to exclude or change sync settings on specific selections or directories, either temporarily or permanently into a saved configuration. It's extremely convenient, and a place where a GUI really matters.


I've used FreeFileSync to keep two Windows machines in sync for years. It works incredibly well. It's very fast too; copying lots of files in Windows is often bafflingly slow. Whatever this tool does is not.

I finally quit using it because I got Starlink at my house and now have enough bandwidth to just let Syncthing keep the machines in sync. But if you need to sync through a hard drive you carry around FreeFileSync is great.


> It's very fast too

This is due to parallel (threaded) copying, which is a paid-for feature in recent versions.

If you need fast copying, "robocopy" comes bundled with Windows and it has /mt option that allows spawning multiple copying threads. This is as fast as gets, beating even this tool with ease.


Robocopy is what we used for copying multi-terabyte genomic data files off sequencers. It _mostly_ worked...it was not very fault-tolerant.


Robocopy uses /mt 8 by default.


/MT defaults to 8 threads (can be between 2 and 128 threads) but /MT is not on by default.


That's, if /mt is specified without a thread count, the count will default to 8. Without the switch it will run single-threaded.


This used to be my go-to sync software. I used it via portableapps on Windows. I stopped using it in favor of free portable syncing software when they started charging for the portable version and not allowing it to run from the PA launcher.


What did you switch to?

In my experience, the older PortableApp versions of FreeFileSync continue to work just fine.


I moved to Toucan for Windows.

For Linux I bit the bullet and learned rsync and a little bash programming. I was putting this off for a while but happy with my really simple script.


This tool is in my essentials toolbox. I use it for everything, backups, comparing snapshots, comparing git branches, external drives, you name it.

Inspecting file tree differences is key to all of those actions, as far as I am concerned, and FreeFileSync does it best, and is multiplatform to boot.


I've always used Beyond Compare to compare file trees (best $60 I ever spent!) Is there anything FreeFileSync does that Beyond Compare is missing?


Run natively on Linux.

But yes, BC is great too, and it was what I was using before.


BC runs natively on Linux. Or am I missing your point?


It didnt used to, although it worked in Wine. Shows you how long ago I switched.


It's incredible how it turns all those nightmarish actions into zen and pure satisfaction !


How does this compare to Syncthing or rsync?


Freefilesync gives you a (good!) gui to observe and then resolve differences between file trees. This is useful if the keep-latest strategy all of those 'blind' sync tools doesn't (always) work for your use case. Freefilesync has let me catch accidental deletes countless times for instance. I use Syncthing and rclone as well, but for some use cases I need 'eyes'.


Overall, FreeFileSync is more like Unison [1] than like Syncthing or rsync. Though, I haven't really used rsync, so I can't make a detailed comparison.

Syncthing is automated/daemon, so the syncing happens in the background automatically. FreeFileSync's default behavior requires manual start/stop of sync jobs, though it does have an optional real-time sync feature.

The main advantage of Syncthing is that it supports multiple hosts/locations for the same backup, and that syncing is P2P between the hosts.

[1] https://www.cis.upenn.edu/~bcpierce/unison/


First of all, both of these are different beasts. Syncthing requires building a network layer of trusted machines to share files between.

FFS is closer to Rsync and the main feature is fast and detailed file tree inspection and conflict resolution with the help of GUI.


How come this awesome software not more discussed here ? Anyone here use it ? It literraly been a life changer for me in my backup strategy and I can't recommend it enough to everyone.


I vaguely remember skipping over it because it included malware in the installer. But it looks like that was fixed a few years ago.

Sources so people know I'm not crazy:

https://freefilesync.org/forum/viewtopic.php?t=5068

https://www.ghacks.net/2018/05/03/freefilesync-10-0/


Once somebody has done something like that I can't trust them again.


I dont see the benefits tbh, as much as people here dislike them, a web interface would be better than its own desktop application in order to manage your homelab backups from different computers.

Also, the "Donation" edition is smelly, just be honest and call it "Pro" version to give consumer rights to the buyer.


It works well for some use cases, I used it when I just had a windows desktop with 4TB acting as NAS, now I have a more mature backup strategy because I have nearly 200TB of disks.


I think because there are even more awesome (opinionated) tools out there... mostly command line.

Like - rsync

- rclone

- restic

- rdedup

- etc.


Just wondering what's the sync algorithm being used by FFS, is it similar to vanilla rsync algorithm, Microsoft's RDC or Syncpal [1],[2],[3]?

[1]https://www.andrew.cmu.edu/course/15-749/READINGS/required/c...

[2]https://www.microsoft.com/en-us/research/wp-content/uploads/...

[3]https://hal.inria.fr/IFIP-LNCS-11534/hal-02319573


Great software, but building it from source is complicated, as libraries need manual patching. And on Linux from version 11.6 they introduced custom binary installer, that's useful for beginners, but for power users and flatpak packagers it only brought problems.



I've essentially stopped using Unison in favor of FreeFileSync. Its GUI is much more featureful and informative, not to mention easier to use.

For example, I get live stats (bandwidth, files/second, etc. on a chart) during sync operations when using FreeFileSync. Unison only shows bandwidth, and it's usually inaccurate.

Though, I haven't used FreeFileSync with large backups yet, so I don't yet know how it compares to Unison in terms of performance.


I used a tool similar to this for many years. Then WSL happened, and I started using rsync in there instead to backup and restore stuff on Windows, just like I do on Linux.


Have you seen rclone?


I use this for managing offline backups and syncing my music library to my phone and a USB stick for my car stereo. Great tool, stable and dependable.


I looked at a fair amount of sync and backup tools for macOS a little while ago including this one and couldn’t find any that copied to an external drive on connection. Only on a schedule.

Does anyone know if this is a technical limitation? It seemed like such a core thing to me but it just kept coming up missing.


For anyone mentioning rsync, I would assert that rsync is very poorly named, and has polluted the ‘sync’ namespace with a meaning outside of what most people understand synchronization to be.

Outside of rsync, the ‘sync’ term almost invariably refers to bi-directional synchronization, with data going between both systems, so when the process is complete, both sides match. Rsync does not do this—it sends files one way only, which is what most people would refer to as a ‘mirror’.

Every other “sync” tool does things bidirectionally, so rsync really doesn’t belong in a comparison with other sync tools.

P.S. I’m aware that people who have never known a world without rsync may not realize that there’s a very real dividing line here, and this concept is very much one of the first the needs to be explained to people when first learning rsync.


rsync is from 1996. I remember I told me something like "it's like rcp but only for what's changed". I agree that with hindsight mirror could be a better name and mirrordir [1] would have had to pick a different name in 1998 [2]

[1] https://linux.die.net/man/1/mirrordir

[2] http://www.landley.net/kdocs/als1999/Conference/PSheer2/Mirr...


I think Google sync allowed a type of mirror mode too.

Personally I just call both types sync, and remember it can be bidirectional or unidirectional.


Unfortunately no brew install skipt for this gem? Anybody knows why?


Meh I'll just stick with syncthing.


I love this software. It solves a lot of problems with legacy environments where I tend to operate. :)


Windows used to have SyncToy in the PowerTools package. Guess this is better for multi platforms.


Where's the source then?

And it displays ads?


The source is available in a zip file on the download page. I didn't see any links to a VCS repo (but I also didn't look very carefully.)


Thoughts vs Beyond Compare (at least for Windows)?

UI looks noisier to me.


What are the different use cases for this versus meld?


Meld the diff tool?! https://meldmerge.org/ Does Meld allow to set automated file syncs?


would people be upset if there was an android version?


i wonder why does this tool needs access to the internet?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: