Open Source Continuous File Synchronization
Go to file
Jakob Borg 61a182077f Clarify and correct handling of existing files/directories when pulling
This fixes a corner case I discovered in the symlink branch, where we
unexpectedly succeed in "replacing" an entire non-empty directory tree
with a file or symlink. This happens when archiving is in use, as we
then just move the entire tree away into the archive. This is wrong as
we should just archive files and fail on non-empty dirs in all cases.

New handling first checks what the (old) thing is, and if it's a
directory or symlink just does the delete, otherwise does conflict
handling or archiving as appropriate.
2015-08-15 15:29:59 +02:00
assets Add .gitattributes; normalize line endings 2015-04-25 23:16:46 +09:00
cmd Clean up the scripts a bit (...) 2015-08-13 12:35:26 +02:00
etc Fix Systemd readme link 2015-07-21 20:32:35 +02:00
Godeps Stop folder when running out of disk space (fixes #2057) 2015-08-09 10:37:23 +02:00
gui Don't get stuck at "Syncing 0%" when adding a new folder 2015-08-14 10:35:51 +02:00
lib Clarify and correct handling of existing files/directories when pulling 2015-08-15 15:29:59 +02:00
man Translations and docs update 2015-08-09 11:56:22 +02:00
protocol The protocol specs moved again 2015-01-09 08:54:19 +01:00
script Clean up the scripts a bit (...) 2015-08-13 12:35:26 +02:00
test Update test configs to v11 2015-08-14 14:19:43 +02:00
.gitattributes Revert "Enforce line endings when cloning (fixes #1766)" 2015-05-07 22:55:31 +02:00
.gitignore hax 2015-05-11 18:39:53 +02:00
.mailmap Include ref#, show author nickname in release notes 2014-12-07 12:52:18 +01:00
AUTHORS Add dva 2015-07-20 14:25:07 +02:00
build.go Clean up the scripts a bit (...) 2015-08-13 12:35:26 +02:00
build.sh Clean up the scripts a bit (...) 2015-08-13 12:35:26 +02:00
CONDUCT.md Add Code of Conduct 2014-12-02 15:57:31 +01:00
CONTRIBUTING.md Links are nice, too 2015-06-10 00:04:53 +02:00
LICENSE MPLv2 2015-03-17 16:02:27 +01:00
NICKS Add dva 2015-07-20 14:25:07 +02:00
README.md Correct docs site link 2015-06-11 14:24:39 +02:00

Syncthing

Latest Build API Documentation MPLv2 License

This is the Syncthing project which pursues the following goals:

  1. Define a protocol for synchronization of a folder between a number of collaborating devices. This protocol should be well defined, unambiguous, easily understood, free to use, efficient, secure and language neutral. This is called the Block Exchange Protocol.

  2. Provide the reference implementation to demonstrate the usability of said protocol. This is the syncthing utility. We hope that alternative, compatible implementations of the protocol will arise.

The two are evolving together; the protocol is not to be considered stable until Syncthing 1.0 is released, at which point it is locked down for incompatible changes.

Getting Started

Take a look at the getting started guide.

There are a few examples for keeping Syncthing running in the background on your system in the etc directory.

There is an IRC channel, #syncthing on Freenode, for talking directly to developers and users.

Building

Building Syncthing from source is easy, and there's a guide. that describes it for both Unix and Windows systems.

Signed Releases

As of v0.10.15 and onwards, git tags and release binaries are GPG signed with the key D26E6ED000654A3E (see https://syncthing.net/security.html). For release binaries, MD5 and SHA1 checksums are calculated and signed, available in the md5sum.txt.asc and sha1sum.txt.asc files.

Documentation

Please see the Syncthing documentation site.

All code is licensed under the MPLv2 License.