Syncthing
syncthing.netWindows, Mac, Linux, BSD, AndroidContinuous file synchronization between 2 or more clients. It is simple, yet powerful, and fully-encrypted and private. Syncthing can be deployed with Docker, and there are native clients for Windows, Mac, Linux, BSD and Android.
- Homepage:syncthing.net
- GitHub:github.com/syncthing/syncthing
- Web info:web-check.xyz/check/syncthing.net
Syncthing Source Code
Author
Description
Open Source Continuous File Synchronization
Homepage
https://syncthing.net/Repository
- LicenseMPL-2.0
- Created26 Nov 13
- Primary languageGo
- Size127,717 KB
- Stars89,200
- Forks5,506
- Watchers89,200
Top Contributors
@calmh (4644)
@AudriusButkevicius (987)
@imsodin (894)
@st-release (230)
@tomasz1986 (125)
@jesselucas (112)
@acolomb (91)
@greatroar (88)
@Zillode (58)
@bt90 (34)
@dependabot-preview[bot] (33)
@uok (29)
@dependabot[bot] (28)
@lkwg82 (28)
@norgeous (26)
@andersonvom (21)
@canton7 (18)
@rasa (16)
@pixelspark (15)
@deepsource-autofix[bot] (14)
@marbens-arch (14)
@emlun (13)
@alex2108 (13)
@aviau (12)
@nekr0z (11)
@wweich (11)
@cqcallaw (10)
@plouj (10)
@KayoticSully (10)
@filoozom (9)
@nrm21 (9)
@ralder (9)
@kamadak (7)
@rumpelsepp (7)
@dargmuesli (6)
@xduugu (6)
@qepasa (5)
@letiemble (5)
@otbutz (5)
@krozycki (5)
@brgmnn (5)
@cyberb (4)
@seehuhn (4)
@keevBush (4)
@pyfisch (4)
@ardevd (4)
@Stefan-Code (4)
@ProactiveServices (4)
@HairyFotr (4)
@jpjp (4)
@maen-bn (3)
@Valloric (3)
@bigbear2nd (3)
@kluppy (3)
@kozec (3)
@jarlebring (3)
@fti7 (3)
@mrclmr (3)
@tmm1 (3)
@AkaZecik (3)
@Ratio2 (3)
@danog (3)
@acogdev (3)
@yyogo (3)
@marclaporte (3)
@KeyWeeUsr (3)
@rjpruitt16 (3)
@Shablone (3)
@Shidory (3)
@swenske (2)
@liusy182 (2)
@maishivamhoo123 (2)
@shaaraddalvi (2)
@ruslanye (2)
@hiqua (2)
@nicoonoclaste (2)
@MikolajTwarog (2)
@MikeLund (2)
@maximal (2)
@kralo (2)
@burkemw3 (2)
@veeti (2)
@dagecko (2)
@desbma (2)
@entity0xfe (2)
@gudvinr (2)
@kwhite17 (2)
@mathias4833 (2)
@mattn (2)
@SimplyPeachy (2)
@tbodt (2)
@xarx00 (2)
@gsaraf (2)
@vrusinov (2)
@jayachithra (2)
@aionescu (2)
@andrewrabert (2)
@qbit (2)
@agoeckner (2)
@bahadir60 (2)
Recent Commits
Jakob Borg(07 Oct 26)
fix(sqlite): do not generate unbounded prepared statements (ref #10913) (#10915) The API can use arbitrary paging parameters, causing arbitrary numbers of prepared statements, which becomes a memory leak. Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(07 Oct 26)
fix(sqlite): avoid early garbage collection of deleted recv-enc files (#10916) Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(07 Oct 26)
fix: handle missing max-sequence file entries (#10912) This could happen when a folder has deleted files as the latest entries, and nothing else happened for 180 days (the default tombstone cleanup time). Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(06 Oct 26)
build: skip defunct loki sending Signed-off-by: Jakob Borg <[email protected]>
Syncthing Release Automation(05 Oct 26)
chore(gui, man, authors): update docs, translations, and contributors
Jakob Borg(04 Oct 26)
fix: remove unnecessary delay in index transmission (#10908) Prior to refactoring, this delay kicked in once all batches were sent. Now, it came between each batch. Fix that. --------- Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(30 Sept 26)
fix: use global short lived HTTP client with proper HTTP/2 support (#10901) In e7b8efb41 I disabled keepalives in several HTTP clients, which inadvertently also disabled HTTP/2. However, the TLS setup announced h2 as a supported protocol, which caused confusion. This fixes that, and makes sure to use the same client in all relevant places. The old option to do usage reporting posts with InsecureSkipVerify goes away -- nobody should have ever used it. --------- Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(30 Sept 26)
fix(watchaggregator): properly convert floating-point time duration (fixes #10899) (#10900) Signed-off-by: Jakob Borg <[email protected]>
Syncthing Release Automation(28 Sept 26)
chore(gui, man, authors): update docs, translations, and contributors
Giridhar(22 Sept 26)
fix(gui): improve header and button color contrast (fixes #10488) (#10815) ### Purpose Improve the contrast of semantic request-dialog headers and buttons in the light, dark, and black GUI themes. The light theme keeps its bright semantic colors and uses black text for success, warning, and danger alerts plus success/warning buttons. Danger buttons use the existing darker red with white text. The dark themes use darker success, warning, and danger backgrounds with white text. The lowest enabled-state contrast ratio is 4.509:1, meeting WCAG AA for normal text. ### Testing - `go run build.go assets` - `go run build.go build syncthing` - `git diff --check` - Checked the base and interactive semantic color pairs with a WCAG contrast calculation; all enabled states are at least 4.5:1. - Loaded the generated GUI assets in Chromium and verified the computed foreground/background colors for success, warning, and danger alerts and buttons in both light and dark themes. ### Screenshots Rendered light and dark fixtures locally to verify the complete alert and button combinations. The computed colors matched the intended theme rules and no clipping or layout changes were introduced. ### Documentation No documentation changes are required; this only corrects existing theme colors. Signed-off-by: Giridhar <[email protected]> Co-authored-by: Giridhar <[email protected]>
Shablone(22 Sept 26)
fix(monitor): continue log writes when stdout is unavailable on detached Windows consoles (fixes #10882) (#10889) ### Purpose #10726 introduces a problematic side effect which only surfaced recently in #10882: On Windows 24H2 stdout will be invalid when Syncthing is started detached from a console. This caused the monitors logwriter to fail silently before it writes it a log file. This PR fixes this by letting the multiwriter continue even after failing on stdout. ### Testing #10882 can be reproduced without this PRs commit. With this PR logging does work again. Following scenarios are tested in which the logfile will be written again -console: syncthing.exe -console: start "" syncthing.exe -console: start "" syncthing.exe serve --log-file=path -explorer: double click `go test ./lib/osutil ` checks if the introduced tolerantMultiWriter writes to all targets even on errors. --------- Signed-off-by: Elias <[email protected]> Co-authored-by: Elias <[email protected]>
Jakob Borg(22 Sept 26)
fix: disable keepalive on most outgoing HTTP connections (#10891) Where we don't expect connection reuse for further requests this reduces the number of open connection server-side. Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(14 Sept 26)
fix(model): properly error out when a temp file can't be created (#10883) Such as when the base filename contains a character disallowed on the current filesystem... Signed-off-by: Jakob Borg <[email protected]>
Syncthing Release Automation(14 Sept 26)
chore(gui, man, authors): update docs, translations, and contributors
Jakob Borg(12 Sept 26)
doc: simplify security reporting note Signed-off-by: Jakob Borg <[email protected]>
Tomasz Wilczyński(12 Sept 26)
fix(gui): add accessible labels to buttons in Edit Device modal (fixes #10873) (#10874) fix(gui): add accessible labels to buttons in Edit Device modal (fixes #10873) Currently, the buttons show text on mouse hover or keyboard focus, but they are inaccessible to screen readers due to a lack of any readable labels. However, there is not enough space to add full-length textual labels that would be visible to everyone. Therefore, add only aria labels for screen readers, while keyboard and mouse users can still learn their function via the tooltips. Signed-off-by: Tomasz Wilczyński <[email protected]> Signed-off-by: Tomasz Wilczyński <[email protected]>
Jakob Borg(12 Sept 26)
fix(model): introducers should not be able to add themselves to folders (#10880) As documented and intended, introducers should be able to vouch for folders shared with them, but not other folders. Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(08 Sept 26)
build: give macos security set-key-partition-list the correct password Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(08 Sept 26)
Merge branch 'infrastructure' * infrastructure: chore(discosrv): add debug headers to ping response chore(stupgrades): allow templating the asset URL
Jakob Borg(22 Aug 26)
chore(discosrv): add debug headers to ping response Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(19 Aug 26)
chore(stupgrades): allow templating the asset URL Signed-off-by: Jakob Borg <[email protected]>
Syncthing Release Automation(07 Sept 26)
chore(gui, man, authors): update docs, translations, and contributors
Jakob Borg(24 Aug 26)
chore: set User-Agent on all outgoing HTTP requests (#10867) It's only polite, and it enables better troubleshooting in situations like weird-ass requests to the upgrades download service. --------- Signed-off-by: Jakob Borg <[email protected]>
Syncthing Release Automation(24 Aug 26)
chore(gui, man, authors): update docs, translations, and contributors
Jakob Borg(20 Aug 26)
build(deps): update dependencies (#10865) Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(19 Aug 26)
build: use Go 1.27, minimum version is Go 1.26 (#10864) ### Purpose 🎉 Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(18 Aug 26)
Merge branch 'infrastructure' * infrastructure: fix(stdiscosrv): slightly increase reannounce times and smoothing fix(stdiscosrv): 500 errors should be accompanied by log entry fix(ursrv): data problems are the clients fault build: sign docker images
Jakob Borg(16 Aug 26)
fix(stdiscosrv): slightly increase reannounce times and smoothing Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(15 Aug 26)
fix(stdiscosrv): 500 errors should be accompanied by log entry Signed-off-by: Jakob Borg <[email protected]>
Jakob Borg(15 Aug 26)
fix(ursrv): data problems are the clients fault Signed-off-by: Jakob Borg <[email protected]>
Syncthing Security
Security Advisories (2)
- mediumPatched
CVE-2022-46165Cross-site Scripting (XSS) in Web GUI
- mediumPatched
CVE-2021-21404Crash due to malformed relay protocol message
Syncthing Website
Website
Syncthing
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address185.199.108.153
- Hostnamecdn-185-199-108-153.github.com
- LocationFrancisco,Indiana,United States of America,NA
- ISPGitHub Inc.
- ASNAS54113
Associated Countries
DE
US
ES
Safety Score
Website marked as safe
100%
Trackers
No known trackers found
Blacklist Check
syncthing.net was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Syncthing Docker
Container Info
Syncthing
[Syncthing](https://syncthing.net) replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.
View on DockerHub
linuxserver/syncthing:latestRun Command
docker run -d \
-p 8384:8384/tcp \
-p 22000:22000/tcp \
-p 22000:22000/udp \
-p 21027:21027/udp \
-e PUID=${PUID} \
-e PGID=${PGID} \
-e TZ=${TZ} \
-v /srv/lsio/syncthing/config:/config \
-v /srv/lsio/syncthing/data1:/data1 \
-v /srv/lsio/syncthing/data2:/data2 \
--restart=unless-stopped \
linuxserver/syncthing:latestCompose File
version: 3.8
services:
syncthing-container:
image: "linuxserver/syncthing:latest"
ports:
- "8384:8384/tcp"
- "22000:22000/tcp"
- "22000:22000/udp"
- "21027:21027/udp"
environment:
PUID: 1000
PGID: 1000
TZ: Etc/UTC
volumes:
- "/srv/lsio/syncthing/config:/config"
- "/srv/lsio/syncthing/data1:/data1"
- "/srv/lsio/syncthing/data2:/data2"
restart: unless-stoppedEnvironment Variables
- Var NameDefault
- PUID1000
- PGID1000
- TZEtc/UTC
Port List
- 8384:8384/tcp
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
Volume Mounting
- Container PathHost Bind
- /config/srv/lsio/syncthing/config
- /data1/srv/lsio/syncthing/data1
- /data2/srv/lsio/syncthing/data2
Syncthing Reviews
More Backup and Sync
Modern and simpler alternative to Nextcloud/ownCloud crafted with TypeScript. Unifies file management, sync, sharing, notes, RSS, expenses, calendars, contacts, and photos, with MFA, WebDAV, CalDAV, CardDAV, SSO, and more.
Feature-rich productivity platform, that can be used to backup and selectively sync encrypted files and folders between 1 or more clients. A key benefit the wide range of plug-ins in the NextCloud App Store, maintained by the community. NextCloud was a hard fork off OwnCloud.
An open source cloud storage and sync solution. Files are grouped into Libraries, which can be individually encrypted, shared of synced. Docker image available for easy deployment, and native clients for Windows, Mac, Linux, Android and iOS.
About the Data: Syncthing
Edit Syncthing Data
You can edit Syncthing's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access Syncthing's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/syncthingThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Syncthing
Help your friends compare Backup and Sync, and pick privacy-respecting software and services.
Share Syncthing and Awesome Privacy with your network!