Fact-checked by Grok 2 weeks ago

Syncthing

Syncthing is an open-source, continuous program designed to synchronize files between two or more computers or devices in , operating via a decentralized protocol that prioritizes user privacy by avoiding central servers. It allows users to maintain control over their data storage and sharing, with synchronization occurring over local networks or the internet using unique device identifiers rather than IP addresses. Developed primarily in the Go programming language, Syncthing supports a wide range of platforms including macOS, Windows, , , , , and others, making it accessible for cross-platform file management. Key features of Syncthing include end-to-end encryption using TLS with perfect forward secrecy to protect data in transit, device authentication via cryptographic certificates, and a web-based user interface for easy configuration of multiple folders and devices. It employs efficient synchronization algorithms to handle file changes bidirectionally, supporting features like version control for conflict resolution and integration with network tools such as UPnP for automatic port forwarding. Licensed under the Mozilla Public License (MPL) 2.0 since 2015—having transitioned from the GNU General Public License version 3—Syncthing is maintained as a free software project, with its source code hosted on GitHub under the Syncthing Foundation, which oversees community contributions and development. Syncthing originated from initial development by Jakob Borg, with its first public release (version 0.1) occurring on December 22, 2013, followed shortly by version 0.2 on December 30, 2013. The project reached version 1.0 in 2019 after five years of iterative improvements and in August 2025, evolving from an early prototype into a robust tool for decentralized , initially inspired by the need for a privacy-focused to services. Today, it benefits from commercial support provided by Kastelo, while remaining community-driven through forums, documentation, and ongoing releases signed with ECDSA for security verification.

Introduction

Overview

Syncthing is a free and open-source continuous program licensed under the Mozilla Public License 2.0. It synchronizes files between two or more computers or devices in using a model that operates without a central . Developed primarily in the Go programming language and maintained by the Syncthing Foundation, the software supports multiple platforms, including Windows, macOS, , BSD variants such as and , , and via third-party applications following the discontinuation of the official Android app in December 2024. Multi-platform binaries are provided for easy deployment across these systems. Syncthing's initial public release (version 0.1) was on December 22, 2013, and as of November 2025, the latest stable version is 2.0.11. It is available in 68 languages to accommodate a global user base. Syncthing prioritizes user privacy by implementing for all communications using TLS with , ensuring that data remains protected from interception. Additionally, no user data is scanned or stored on any external servers beyond the participating devices.

Key Features

Syncthing provides continuous , automatically detecting and propagating file changes across connected devices as they occur, ensuring that updates are reflected almost instantaneously without manual intervention. One of its core capabilities is file versioning, which allows users to maintain historical versions of files for purposes; when a file is modified or deleted, Syncthing can previous versions in a designated such as .stversions, using configurable strategies like trash can (moving files with optional cleanup after a set period), simple (retaining a fixed number of timestamped versions), or staggered (keeping one version per escalating time interval up to a maximum age). For conflict handling, Syncthing automatically resolves simultaneous modifications on multiple devices by renaming the —typically to <filename>.sync-conflict-YYYYMMDD-HHMMSS.ext—rather than overwriting it, preserving both versions for review and preventing . Selective is supported through folder-based , where specify exact folders or subfolders to sync with selected devices, combined with ignore patterns to exclude specific or paths (e.g., via .stignore files using patterns like *.tmp), enabling fine-grained control over what gets transferred. Bandwidth and resource management features include adjustable global or per-folder and rate limits (in KiB/s, with -1 for unlimited), which apply by default to non-LAN connections, along with ignore patterns that optimize efficiency by skipping unnecessary files and reducing CPU or I/O overhead. Syncthing offers broad cross-platform compatibility, running on operating systems including Windows, macOS, , , , and , facilitating seamless folder sharing between heterogeneous devices such as desktops, laptops, and mobile platforms. As a fully decentralized tool, Syncthing operates without reliance on or central servers, keeping all data on user devices while optionally using global servers to locate peers over the . is secured via TLS with perfect , and management is handled through a responsive web-based accessible via a on the local .

Technical Architecture

Core Technology

Syncthing is implemented primarily in programming language, enabling straightforward cross-platform compilation and deployment across various operating systems without requiring extensive platform-specific adaptations. The software's database backend transitioned from to with the release of version 2.0 in August 2025, aiming to enhance performance, particularly in reducing usage for large folder configurations. This change includes an initial migration process upon first launch, which can be time-intensive for setups with substantial data volumes, potentially taking hours to complete depending on the size of the indexed folders. For efficient data handling, Syncthing employs a block-based approach to , where files are divided into fixed-size blocks and identified via cryptographic hashes, allowing only modified or missing blocks to be transferred rather than entire files. This mechanism facilitates deduplication by avoiding the retransmission of identical blocks across devices and supports the reuse of unchanged blocks to minimize consumption. Additionally, Syncthing applies LZ4 compression to data packets during transfer, balancing speed and reduction in network overhead for compressible content. Syncthing natively supports addressing for both listening and connections, accommodating modern network environments with dual-stack or IPv6-only configurations. For handling (NAT) scenarios, it incorporates for hole punching to establish direct peer-to-peer connections and utilizes UPnP or NAT-PMP for automatic port mapping on compatible routers. As an open-source project, Syncthing is hosted on GitHub under the Mozilla Public License 2.0, fostering community-driven development through contributions, issue reporting, and pull requests from volunteers worldwide.

Synchronization Mechanism

Syncthing employs a combination of periodic full scans and event-driven filesystem watching to detect changes in synchronized folders, such as additions, modifications, or deletions. Full scans occur approximately every hour, with intervals randomized between three-quarters and five-quarters of the configured period to distribute load across devices, while filesystem watchers trigger scans with a 10-second delay for most changes and up to one minute for deletions. During a scan, Syncthing checks file modification times, sizes, and permissions; unchanged files are skipped, but modified ones are rehashed to update their block lists and metadata. The core of Syncthing's synchronization is the Block Exchange Protocol (BEP) , which facilitates efficient file transfers by dividing files into fixed-size blocks ranging from 128 KiB to 16 MiB, chosen to divide the file into between 1000 and 2000 blocks using power-of-two sizes from 128 KiB to 16 MiB, to balance overhead and parallelism. Each block is hashed using SHA-256 to ensure integrity, with these strong hashes stored in file metadata for verification during transfers. BEP operates over TLS 1.3 connections between devices, using message types such as for metadata exchange, Request for soliciting blocks, and Response for delivering them, allowing devices to form clusters and exchange data without a central . Propagation begins with the exchange of information, where devices share about their local file versions, including block lists and hashes, to identify discrepancies against a shared global state maintained in an database. Once differences are detected—such as a file present on one device but not another—the needing device requests specific blocks from peers, pulling only the required data over established connections; blocks may also be sourced locally if matching hashes exist in other files on the same device. This index-first approach minimizes unnecessary transfers by enabling precise identification of needed blocks before any data is sent. For large files, Syncthing's block-based division allows efficient handling by transferring only changed portions, with SHA-256 hashes providing quick integrity checks during receipt to verify blocks without full file recomputation. If a transfer is interrupted, Syncthing supports resumption by maintaining temporary files—named with a .syncthing prefix and .tmp suffix—that preserve partially downloaded blocks, enabling continuation from the last successfully verified block upon reconnection, typically within a 24-hour window before cleanup.

Network Infrastructure

Device Discovery

Syncthing employs a decentralized approach to discovery, allowing peers to locate each other without a central authority, primarily through local network announcements, global servers, and manual configurations. Each is identified by a unique 256-bit ID, which is the SHA-256 hash of its certificate in DER format, incorporating the public key for during connections. This ID ensures secure peer verification and is used across all methods to announce and query for compatible . Local discovery enables devices on the same () to find each other automatically via announcements. When enabled, each Syncthing instance sends periodic Announcement packets containing its device ID and available connection addresses, such as endpoints. For IPv4 networks, these are broadcast to the address 255.255.255.255 or link-local specifics on port 21027/, while uses to ff12::8384 on the same port. Announcements occur every 30 to 60 seconds, or immediately upon detecting a new device or restarting the service, allowing peers to populate a local table of discovered addresses without requiring replies or solicitations. This mechanism is enabled by default but can be disabled to reduce local network traffic or enhance . For devices outside the local network, Syncthing relies on Global Discovery Servers (GDS), which are third-party endpoints operated by the Syncthing community to facilitate internet-wide peer location. Using the Global Discovery Protocol version 3, devices announce their connection addresses—such as dynamic source IPs resolved to public endpoints or static ones—via requests to the server's /v2/ path every 30 minutes when enabled. These announcements include the device ID for certificate-based authentication and are responded to with a 204 No Content status, along with a reannouncement interval header. To query for a peer, a device issues a GET request with the target device ID as a , receiving a array of announced addresses if available, or errors like 404 Not Found if none exist. The protocol enforces via 429 responses and verifies server identity through pinned fingerprints rather than standard , ensuring secure operation over public networks. Default servers like discovery.syncthing.net are used, but users can configure custom ones or run their own. Users can bypass automated discovery by manually configuring device addresses in the Syncthing configuration file or web interface, providing static IP addresses or DNS hostnames for reliable peer connections. In the device element of the config.xml, multiple
tags support formats like tcp://192.0.2.42:22000 for IPv4 static IPs, tcp://[2001:db8::23:42]:22000 for , or tcp://hostname.example.com:22000 for DNS-resolved endpoints, alongside the dynamic keyword for fallback . This approach is essential in environments without local or global , such as firewalled setups or when integrating with services. For enhanced , especially in setups avoiding third-party involvement, users can disable global entirely by setting the globalAnnounceEnabled option to false in the . This prevents announcements to GDS servers, ensuring no external mapping of device IDs to addresses occurs, though it requires manual address for remote peers and limits automatic . Local can similarly be disabled to avoid LAN broadcasts, further isolating the setup. Both options prioritize user control over exposure, as servers could otherwise infer device connections from announcements.

Connectivity and Relays

Syncthing establishes direct connections between devices using the Block Exchange Protocol (BEP) over on port 22000, secured with TLS 1.3 to ensure reliable and encrypted data transfer. For , Syncthing employs on port 22000, leveraging techniques such as to predict and maintain open paths through firewalls and translators, enabling connections without manual in many cases. Additionally, since version 1.2.0, Syncthing supports as an alternative UDP-based transport for direct connections, which can offer improved performance on high-latency networks by reducing connection establishment time and handling more efficiently. When direct connections cannot be established—often due to symmetric NATs or restrictive firewalls—Syncthing automatically falls back to relay servers via the version 1, which operates over . This uses a two-mode structure: a TLS-secured mode for device identification and session setup using device IDs, followed by a plain-text session mode that relays opaque, end-to-end encrypted bytes between peers. Relays act anonymously, routing traffic without access to the decrypted content, as the TLS encryption remains intact throughout the path; they only learn the endpoints' IP addresses and device IDs. The includes mechanisms like Ping/Pong messages for basic liveness checks during session establishment. The global relay pool comprises community-operated servers distributed worldwide, with Syncthing selecting relays based on low latency (grouped into 50ms buckets, prioritizing the fastest available). Users can configure private relays by running their own instances, which join the pool automatically or can be specified manually via URIs like relay://host:port/?id=relayID, providing options for dedicated, low-latency paths in or privacy-sensitive setups. To ensure connection persistence, Syncthing implements keep-alive pings every 90 seconds over established BEP connections, helping to sustain bindings and detect failures promptly. Upon disconnection or during relayed sessions, it employs reconnection logic with and periodic retries for direct connections—typically every few minutes—automatically switching back to direct mode if successful to minimize and overhead from relays. This prioritization of direct over relayed paths optimizes overall network efficiency, as relayed connections inherently introduce higher and reduced throughput due to the intermediary hop.

Usage and Configuration

Installation and Platforms

Syncthing can be installed via official precompiled binaries available from the project's releases page or the downloads section on the official website, supporting major platforms including Windows, , macOS, and . For distributions like and , users can add the official APT and install via apt-get install syncthing, ensuring access to updated stable releases. On macOS, installation is facilitated through Homebrew with the command brew install syncthing, which handles dependencies and enables easy updates. Other package managers, such as dnf on or pacman on , provide Syncthing in their repositories for straightforward integration. For advanced users requiring custom builds, Syncthing can be compiled from using Go, involving cloning the and running go run build.go after installing prerequisites like a C compiler for optimal performance. Platform-specific installation steps vary to align with operating system conventions. On Windows, users download the syncthing.exe or use the community-maintained Syncthing installer, which supports both 32-bit and 64-bit architectures and can configure it as a service during setup. For , after installation via , Syncthing is typically run as a user service by enabling it with systemctl --user enable syncthing and starting it with systemctl --user start syncthing, allowing automatic startup on boot. On macOS, the can be executed directly, or users may opt for the macOS bundle from the repository, which provides a native launcher and integrates with system preferences for autostart. For , the Syncthing was discontinued in December 2024, with the final release (v1.28.1) in December 2024; users now rely on third-party options like Syncthing-Fork, available via or , which embeds the Syncthing and offers additional mobile-specific features. Upon first launch, Syncthing generates a unique 56-character device ID, such as 6FOKXKK-SKUBWFW-GSKX6IQ-ZC4SYUZ-5IEVZKE-TC42AAX-HW7IBW4-GAZFAQ7, which is essential for connecting devices and displayed in the logs or Web GUI. The service starts automatically after installation, running as a daemon, and users access the initial setup through the Web GUI at http://127.0.0.1:8384/ (or localhost:8384), where they can configure folders, add remote devices by entering their IDs, and set basic options like the listening port. Mobile deployments require attention to platform constraints for reliable synchronization. On Android, battery optimization features like Doze mode can interrupt background syncing, so users must exempt from battery saver restrictions in device settings and select appropriate power policies in the app, such as syncing only on or when charging, to balance performance and drain—typically limiting continuous operation to avoid excessive consumption. iOS lacks official Syncthing support due to stringent background execution limits, relying on third-party apps that enable on-demand syncing but cannot maintain persistent connections, often requiring manual triggers or limited to scenarios for file access. Syncthing maintains a lightweight footprint, with no persistent data beyond its configuration directory, making it highly portable—users can relocate the entire folder to another device for seamless continuation. Uninstallation involves removing the binary executable and deleting the config directory: on , ~/.local/state/syncthing; on macOS, $HOME/Library/Application Support/Syncthing; on Windows, %LOCALAPPDATA%\Syncthing; ensuring all synced data remains in user-specified folders unaffected by the removal process.

Management and Interfaces

Syncthing provides a built-in web-based () for managing synchronization tasks, accessible by default at http://:8384. This allows users to add remote s by entering their unique device IDs, configure shared folders by selecting paths and setting permissions, monitor real-time sync status including connection states and file transfer progress, and edit various settings such as device names and folder options. The is served over HTTP on the local machine and uses the same REST API that enables programmatic access, ensuring consistency between manual and automated management. For advanced configuration, Syncthing uses an XML-based file named config.xml, typically located in platform-specific directories such as %LOCALAPPDATA%\Syncthing on Windows, HOME/Library/Application Support/Syncthing on macOS, or XDG_STATE_HOME/syncthing on Unix-like systems. This file can be manually edited when the application is stopped to perform tweaks like setting a GUI authentication password—configured via the element with a username and bcrypt-hashed password—or adjusting listen addresses for network interfaces in the section, such as tcp://0.0.0.0:22000 for synchronization traffic. Changes to config.xml require restarting Syncthing to take effect, and the file is automatically generated and validated on first run with default values. Third-party wrappers extend Syncthing's management capabilities across platforms, providing native desktop or mobile interfaces for monitoring and control. On Windows, SyncTrayzor offers a tray icon for quick access to the web , notifications, and basic operations like pausing sync. For and cross-platform use, Syncthing-GTK provides a graphical frontend with folder and device management integrated into desktop environments like . Mobile monitoring is supported through community apps such as Syncthing-Fork for , which wraps the core Syncthing binary to enable on-device and status viewing, though the official Android app was discontinued in December 2024 due to evolving platform requirements. Syncthing exposes a RESTful API over HTTP on the GUI port (default 8384) for scripting, automation, and third-party integrations, using for requests and responses. Access requires an , generated via the or config.xml under configuration/gui/apikey, and passed in headers like X-API-Key. Endpoints include /rest/db/status for retrieving shared folder statuses, such as need scans and file counts, enabling tools to query sync health without the full web interface. The API supports for large result sets and includes noauth paths for limited public access. Troubleshooting in Syncthing involves accessing logs through the GUI's "Failed items" section for sync errors or the syncthing.log file in the config directory for detailed events. Debug options can be enabled via environment variables like STTRACE=model to increase verbosity for specific facilities (e.g., , ), adding timestamps and line numbers to logs for deeper analysis. Restart mechanisms include CLI subcommands under syncthing operations for controlled restarts via the , or using --no-restart to prevent automatic recovery during sessions; service managers on supported platforms handle persistent restarts.

Security Practices

Syncthing implements for all communications between devices using TLS 1.3 as the preferred protocol, with support for TLS 1.2 for compatibility, ensuring that data transmitted during remains confidential and protected against eavesdropping. This encryption applies to direct connections, relayed traffic, and discovery server interactions, where relayed data is forwarded without decryption by the relay operator. Optional certificate pinning is achieved through the use of device IDs, which are SHA-256 hashes of the TLS certificate's public key, allowing devices to verify peer identities and prevent man-in-the-middle attacks by comparing expected fingerprints. Device authentication relies on , where each Syncthing instance generates a self-signed using a 384-bit ECDSA keypair on the NIST , and the device serves as a derived from this . During connection establishment, devices exchange certificates via the , and succeeds only if the remote device's ID matches the locally approved , requiring manual approval for new devices to join a . This process ensures that unauthorized devices cannot participate in synchronization without explicit user consent. Syncthing does not provide built-in encryption for , leaving files in their form on the filesystem after . To protect stored data, users are recommended to employ solutions such as LUKS on or FileVault on macOS, or container-based tools like for specific folders, ensuring that both synced files and the Syncthing directory (containing certificates and keys) reside on encrypted volumes to prevent leakage in case of device theft. Recommended best practices for securing Syncthing include setting a strong password for the web GUI, which is accessible only from by default but should be protected if exposed remotely via reverse proxies or . Users concerned about can disable global discovery to avoid announcing device IDs to public servers, relying instead on local discovery or static addresses, though this may require manual for connectivity. Additionally, monitoring usage is advised, as public relays can observe device IDs and IP addresses while forwarding encrypted traffic; preferring direct connections reduces reliance on relays and enhances . Regarding vulnerability history, Syncthing has experienced minor issues, such as a flaw allowing compromised instances to alter shared folder permissions (CVE-2022-46165), but no major data breaches have been reported, with all known vulnerabilities promptly addressed through releases. is maintained via community-driven audits and a dedicated reporting channel at [email protected], encouraging responsible without public exposure until patches are available.

Development and History

Origins and Community

Syncthing was founded in 2013 by Jakob Borg as a volunteer-led open-source project aimed at providing a decentralized solution. The initial release, version 0.1, occurred on December 22, 2013, marking the beginning of its development as a free alternative to centralized proprietary services. Borg, a software developer, initiated the project to address privacy and control concerns in file syncing, drawing from his experience in open-source contributions. Development of Syncthing is primarily volunteer-driven through its repository, where code changes, bug fixes, and enhancements are proposed and reviewed via pull requests. 342 individuals have contributed to the main codebase (as of November 2025), reflecting a broad base of community involvement in its evolution. The project operates without a formal , relying instead on among core maintainers who coordinate releases and priorities. To support ongoing operations, the Syncthing Foundation was established to manage donations and maintain essential infrastructure, including global servers and pools that facilitate connectivity. Donations fund hosting, grants for specific features, and community initiatives, ensuring the project's without commercial backing. The foundation emphasizes in fund usage, with periodic reports on expenditures such as support for humanitarian causes. The community plays a central role in Syncthing's growth, with an official serving as the hub for user discussions, bug reports, feature requests, and troubleshooting. This platform fosters and idea exchange among users and developers alike. Additionally, efforts have localized the software into 68 languages via Weblate, broadening its and demonstrating global participation in non-coding contributions.

Version Milestones

Syncthing's began with early alpha releases in , providing basic capabilities across devices. The initial public release, version 0.2, arrived on December 30, , establishing the core syncing mechanism without a centralized . By mid-2014, version 0.9.0 was released on August 2, marking a significant alpha milestone with foundational features like protocol compression using LZ4, reduced memory usage for large repositories, and an event-driven to lower idle CPU consumption. These early versions focused on proving the decentralized model, with ongoing refinements to node discovery and efficiency. The project reached its first stable release with version 1.0.0 on , 2019, coinciding closely with the fifth anniversary of the initial public launch. This milestone introduced enhancements such as options to limit maximum simultaneous scans for better , improved elements like displaying rate limits and locally changed files in receive-only folders, and systemd unit hardening for enhanced security on systems. File versioning, which had been prototyped in prior alphas like v0.8.10, was solidified as a configurable feature to archive replaced or deleted files, preventing in multi-device setups. In July 2021, version 1.18.0 brought performance optimizations and mobile-friendly improvements, including better database garbage collection to reduce overhead during scans and prompts for input when accepting encrypted folder shares from new devices. These tweaks addressed reliability on resource-constrained platforms like , with fixes for issues such as irreversible local additions in receive-only folders and out-of-sync states for zero-byte files, enhancing overall stability for mobile users. A major overhaul occurred with version 2.0.0, released on August 12, 2025, which migrated the database backend from to for reduced usage—particularly beneficial for large folders—and faster query performance during syncing operations. This update also improved relay handling for connections behind strict firewalls and revamped to structured formats for easier debugging. The initial launch includes a one-time migration process that can take considerable time on setups with extensive file histories, potentially hours for terabyte-scale repositories, advising users to plan downtime accordingly. Following the 2.0 debut, version 2.0.11 was issued on November 4, 2025, primarily delivering bug fixes to address migration-related edge cases and connection stability issues reported in early adopters. In 2024, the official app development was discontinued due to resource constraints, with users directed to community-maintained forks. Syncthing adheres to a semantic versioning scheme (major.minor.patch), where major releases introduce breaking changes like the database shift, minor versions add features while maintaining compatibility, and patch releases focus on fixes. Stable releases typically occur on the first of each month, with candidate builds the prior week for testing.

Adoption and Reception

Community Ecosystem

The Syncthing ecosystem includes several third-party applications that extend its functionality to mobile platforms where official support is limited. For devices, following the discontinuation of the official app in December 2024, Syncthing-Fork served as a popular unofficial client offering enhanced features such as improved sync progress visualization and compatibility with the core Syncthing protocol. However, as of November 2025, the Syncthing-Fork repository has been removed, prompting users to alternatives like running the core Syncthing binary in or community forks such as SyncMeow. Similarly, Möbius Sync provides compatibility, enabling file synchronization between devices and other platforms like Windows, macOS, , and through a third-party app that integrates with Syncthing's network. Syncthing integrates seamlessly with various tools and platforms, facilitating containerized deployments, smart home automation, and backup workflows. An official image allows users to run Syncthing in containerized environments for easy setup and scalability across servers and devices. The integration monitors synced folder states within the platform, enabling automations based on synchronization events for applications. Additionally, Syncthing is commonly paired with backup tools like , where it synchronizes backup snapshots and files in real-time to support off-site or distributed archiving strategies. Syncthing maintains a dedicated user base focused on and decentralization, with widespread adoption among users and self-hosting enthusiasts who value its open-source, model over services. It is recommended in privacy guides for secure without central servers, appealing to communities emphasizing and . The project's documentation is hosted at docs.syncthing.net, providing comprehensive resources including getting started guides, configuration details, mechanics, and an extensive FAQ section addressing common issues like file versioning and network setup. Community engagement occurs primarily through the official at forum.syncthing.net, which features dedicated categories for feature requests, bug reports, support discussions, and development coordination, fostering collaborative problem-solving among users and contributors. While formal meetups are infrequent, the serves as the central hub for ongoing community interactions and announcements.

Reviews and Comparisons

Syncthing has received positive feedback from various technology outlets for its emphasis on and decentralized . The Security Now! frequently praised Syncthing between 2014 and 2020, highlighting its and model as superior alternatives to cloud-based services for maintaining user without third-party intermediaries. In 2021, Linux Weekly News (LWN) commended the tool's reliability in continuous across diverse operating systems, noting its robustness in handling updates without centralized servers. More recently, in August 2025, BetaNews reviewed , applauding significant speed improvements in scanning and syncing large datasets, attributing these gains to architectural optimizations. Despite these strengths, Syncthing has faced criticisms regarding usability and occasional operational challenges. Reviewers often point to a steeper learning curve compared to intuitive cloud services like Dropbox, requiring users to manually configure device IDs and network settings for initial setup. Relay dependency has led to intermittent issues, such as connection failures when global relays become unavailable or overloaded, disrupting synchronization until resolved. Additionally, the official Android app was discontinued in December 2024 due to evolving platform requirements and resource constraints, leaving users to rely on community solutions for mobile support. In comparisons with similar tools, Syncthing stands out for its lightweight design and open-source nature. Against Nextcloud, it is notably lighter on resources and avoids the overhead of a full web interface or server management, making it preferable for simple peer-to-peer syncing rather than comprehensive collaboration suites. Versus Resilio Sync, Syncthing offers a fully free and open-source alternative without proprietary licensing, though it lacks some of Resilio's advanced selective sync features for paid tiers. Compared to Dropbox, Syncthing provides a decentralized approach that eliminates centralized storage risks but demands both devices be online for direct syncing, contrasting Dropbox's always-available cloud mediation. Adoption metrics underscore Syncthing's popularity in both personal and professional contexts. Its repository has garnered over 60,000 stars and thousands of forks as of late 2025, reflecting strong and contributions. Enterprises have adopted it for secure, internal , valuing its and lack of for compliance-heavy environments. Reviews from 2025, particularly following the version 2.0 release, emphasize the benefits of switching to an database backend, which enhances long-term stability and query efficiency over the previous system. However, users have reported pains, including prolonged database conversions that can take hours or days for large datasets, sometimes requiring manual interventions to complete.

References

  1. [1]
    Syncthing
    **Summary of Syncthing:**
  2. [2]
    Syncthing - openSUSE Wiki
    Apr 15, 2025 · Syncthing is a continuous file-synchronization program. Developer: The Syncthing Foundation. License: MPL-2.0. Website:.
  3. [3]
    Syncthing is now MPLv2 licensed
    Mar 17, 2015 · We have changed the license the Syncthing is distributed under from GPLv3 to MPLv2. This license is a large blob of legalese but differs ...Missing: history | Show results with:history
  4. [4]
  5. [5]
    Syncthing is one year old! - Announce
    Dec 23, 2014 · Syncthing 0.1 was released on the 22nd of December 2013. That's about a year ago. First binary release that anyone could try was a few days ...Missing: development | Show results with:development
  6. [6]
    Syncthing graduation day - Announce
    Jan 1, 2019 · Today is also almost Syncthing's birthday; the first public release was “0.2” on December 30, 2013, five years and two days ago. Given all of ...
  7. [7]
    Releases · syncthing/syncthing
    - **Initial Stable Release Date**: Around 2013 (exact date not specified in provided content).
  8. [8]
    Syncthing - Hosted Weblate
    Syncthing is being translated into 68 languages using Weblate. Join the translation or start translating your own project.
  9. [9]
  10. [10]
    File Versioning — Syncthing documentation
    ### Summary of Syncthing's File Versioning Feature (from https://docs.syncthing.net/users/versioning.html)
  11. [11]
    Understanding Synchronization - Syncthing documentation
    Syncthing does recognize conflicts. When a file has been modified on two devices simultaneously and the content actually differs, one of the files will be ...
  12. [12]
    Syncthing Configuration
    The maximum number of conflict copies to keep around for any given file. The default is 10 . -1 , means an unlimited number. Setting this to 0 disables ...
  13. [13]
    Syncthing 2.0 (August 2025) - Release
    Aug 12, 2025 · Syncthing 2.0 (August 2025) · Announce Release.
  14. [14]
    Block Exchange Protocol v1 - Syncthing documentation
    The Block Exchange Protocol (BEP) is used between two or more devices thus forming a cluster. Each device has one or more folders of files described by the ...Missing: deduplication | Show results with:deduplication
  15. [15]
    Compression option on folders · Issue #4296 · syncthing ... - GitHub
    Aug 9, 2017 · Whether or not to compress data should be decided on a folder basis not by device. For instance, I have a device where it syncs one folder ...Missing: based deduplication
  16. [16]
    Expect stronger NAT traversal capabilities. · Issue #10106 - GitHub
    May 12, 2025 · Syncthing implements STUN and traditional (TCP+UDP) hole-punching, as well as autoconfiguration of ports via NAT-PMP/UPnP. This is the exact ...
  17. [17]
    Enable NAT Traversal : What does it do? - Syncthing Forum
    Mar 19, 2019 · If your networks/routers do not support either UPnP or NAT-PMP, then “Enable NAT Traversal” can be disabled without any loss of functionality.Missing: IPv6 | Show results with:IPv6<|separator|>
  18. [18]
  19. [19]
  20. [20]
  21. [21]
    Understanding Device IDs - Syncthing documentation
    The device ID is used for address resolution, authentication and authorization. The term “device ID” could interchangeably have been “key ID” since the device ...Keys · Device Ids · Connection Establishment
  22. [22]
    Local Discovery Protocol v4 - Syncthing documentation
    Each participating device periodically sends an Announcement packet. It also keeps a table of the announcements it has seen.Missing: mDNS | Show results with:mDNS
  23. [23]
    Security Principles - Syncthing documentation
    When global discovery is enabled, Syncthing sends an announcement every 30 minutes to the global discovery servers so that they can keep a mapping between your ...Missing: mDNS | Show results with:mDNS
  24. [24]
    Global Discovery v3 - Syncthing documentation
    Global discovery is spoken over HTTPS and is protected against attackers in the same manner as other HTTPS traffic.Missing: 3 | Show results with:3
  25. [25]
    Syncthing Discovery Server
    Syncthing relies on a discovery server to find peers on the internet. Anyone can run a discovery server and point Syncthing installations to it.Missing: mDNS | Show results with:mDNS
  26. [26]
    Relaying - Syncthing documentation
    When connected via a relay, Syncthing will periodically retry a direct connection and, if one is established, stop communicating via the relay.
  27. [27]
    Connection Types? - Support - Syncthing Community Forum
    Jun 9, 2025 · A direct connection over internet shows up as either TCP WAN or QUIC WAN. Syncthing will usually prefer TCP if possible, but QUIC is fine as ...
  28. [28]
    Relay Protocol v1 - Syncthing documentation
    Relay is a service which relays data between two devices which are not able to connect to each other directly otherwise.Protocol Mode · Messages · Sessioninvitation Message...
  29. [29]
    How does syncthing choose a relay? - Support
    Jan 4, 2021 · It checks the latency of relays and puts them in 50ms buckets, trying the lowest-latency ones first. Which relay is chosen within those buckets is random.
  30. [30]
    Syncthing Relay Server
    Syncthing relies on a network of community-contributed relay servers. Anyone can run a relay server, and it will automatically join the relay pool and be ...Options · Setting Up · Running On Port 443 As An...
  31. [31]
    Downloads - Syncthing
    This is the basic Syncthing distribution, providing a command line / daemon like executable and a web based user interface.
  32. [32]
    Syncthing
    Add the release key, add the stable-v2 channel to APT sources, then update and install syncthing using apt-get.Missing: managers | Show results with:managers
  33. [33]
    syncthing - Homebrew Formulae
    Open source continuous file synchronization application. https://syncthing.net/. License: MPL-2.0. Formula JSON API: /api/formula/syncthing.json.
  34. [34]
    How to Set Up and Use Syncthing to Sync Files on Linux - Linuxiac
    Mar 4, 2023 · Step 1: Install Syncthing on Linux · sudo apt install syncthing · sudo dnf install syncthing · sudo dnf install epel-release sudo dnf install ...
  35. [35]
    Syncthing - ArchWiki
    Aug 31, 2025 · Syncthing. 2 languages. 日本語 · Русский · Page · Discussion. English ... Note You can run multiple copies of syncthing, but only one instance ...<|separator|>
  36. [36]
    Building Syncthing
    Note. You probably only need to go through the build process if you are going to do development on Syncthing or if you need to do a special packaging of it.
  37. [37]
    Bill-Stewart/SyncthingWindowsSetup: Syncthing Windows Setup
    Syncthing Windows Setup is a lightweight yet full-featured Windows installer for the open-source Syncthing file-synchronization application.
  38. [38]
    Starting Syncthing Automatically
    Task Scheduler is a built-in administrative tool, which can be used to start Syncthing automatically either at user log on, or at system startup.
  39. [39]
    Official frugal and native macOS Syncthing application bundle - GitHub
    A frugal native macOS Syncthing tray application bundle. It bundles its own Syncthing instance and wraps Syncthing background process.<|control11|><|separator|>
  40. [40]
    Discontinuing syncthing-android - Announce
    Oct 20, 2024 · The official syncthing-android app is being discontinued due to Google Play issues, lack of maintenance, and no active development. The last ...<|separator|>
  41. [41]
  42. [42]
    Explanation of the battery saving modes on Android - Syncthing Forum
    Jul 11, 2017 · Besides the Android optimization, I also see options to respect the Android battery saving setting, keep the CPU awake, and run service with ...
  43. [43]
    Syncthing for iOS - General
    Dec 20, 2020 · Syncthing only syncs when you connect for a brief period, as ios doesn't permit a daemon running full time in the background. Another limitation ...
  44. [44]
    How to uninstall - Support - Syncthing Community Forum
    Jun 12, 2014 · Remove the binary, wherever you installed it and rm -rf ~/.config/syncthing . You might also have the default sync directory ~/Sync that you can ...
  45. [45]
    Community Contributions - Syncthing documentation
    Community contributions include GUI wrappers, command line tools, packages, Docker containers, and integrations for Syncthing.
  46. [46]
    REST API — Syncthing documentation
    ### Summary of RESTful API for Scripting and Integration
  47. [47]
    None
    Nothing is retrieved...<|control11|><|separator|>
  48. [48]
    Command Line Operation - Syncthing documentation
    Syncthing lets you synchronize your files bidirectionally across multiple devices. This means the creation, modification or deletion of files on one machine ...
  49. [49]
    syncthing-security(7) - Arch manual pages
    When global discovery is enabled, Syncthing sends an announcement every 30 minutes to the global discovery servers so that they can keep a mapping between your ...
  50. [50]
    CVE-2022-46165 Detail - NVD
    Jun 6, 2023 · Syncthing is an open source, continuous file synchronization program. In versions prior to 1.23.5 a compromised instance with shared folders could sync ...Missing: audits | Show results with:audits
  51. [51]
    Syncthing | Security
    ### Privacy Features Summary
  52. [52]
    Syncthing v0.9.0 released - Announce
    Aug 2, 2014 · Syncthing v0.8 will not update automatically to Syncthing v0.9. Download the release from https://github.com/syncthing/syncthing/releases/latest ...Missing: features | Show results with:features
  53. [53]
    Syncthing v1.0.0 - Release
    Jan 1, 2019 · Today is also almost Syncthing's birthday; the first public release was “0.2” on December 30, 2013, five years and two days ago.Missing: stable | Show results with:stable
  54. [54]
    [v0.8.10] Simple File Versioning - Announce - Syncthing Forum
    May 26, 2014 · The first versioning scheme is “Simple File Versioning”. It's useful on its own but also serves as a template for how to implement new ...<|control11|><|separator|>
  55. [55]
    Syncthing v1.18.0 - Release
    Jul 6, 2021 · Syncthing v1.18.0 · Announce Release · calmh (Jakob Borg) July 6, 2021, 1:01pm 1. v1.18.0. Bugfixes. #7708: irreversible Local Additions after ...Missing: features | Show results with:features
  56. [56]
    Versions & Releases - Syncthing documentation
    Barring blocking issues, stable versions are released on the first Tuesday of the month. A new candidate releases is made on the second Tuesday of the month.Missing: initial | Show results with:initial
  57. [57]
    Möbius Sync | Bringing Syncthing to iOS. Sync files between all your ...
    Möbius Sync is a third-party iOS app for Syncthing, allowing you to synchronise files between iOS and other devices (including Windows, MacOS, Linux, Android).Missing: Fork | Show results with:Fork
  58. [58]
    syncthing/syncthing - Docker Image - Docker Hub
    Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers.Linuxserver/syncthingTags
  59. [59]
    Syncthing - Home Assistant
    The Syncthing integration allows you to monitor states of your synced folders from within Home Assistant and set up automations based on the information.
  60. [60]
    Syncthing used with duplicati,etc - Support - Syncthing Forum
    Mar 23, 2019 · Any1 have any experience with using syncthing and a backupsoftware like duplicati to sync snapshots and files at realtime?Missing: integration | Show results with:integration
  61. [61]
    File Sharing and Sync - Privacy Guides
    For private file sharing, use Send (encrypted on your device), OnionShare (Tor-based), or Syncthing (peer-to-peer, encrypted). Proton Drive and Bitwarden Send ...
  62. [62]
    Welcome to Syncthing’s documentation! — Syncthing documentation
    ### Summary of Key Features from Syncthing User Guide
  63. [63]
    Syncthing Community Forum - Support, announcements ...
    Discussion forum for the Syncthing community. Support, announcements, development coordination and general chat.Glusterfs vs. syncthing · Syncthing-Fork using the... · Towards Syncthing 2.0 · FAQ
  64. [64]
    Security Now! Transcript of Episode #734 - Gibson Research
    Oct 5, 2019 · ... Syncthing. Because Syncthing is able to sync a mounted drive, I used Syncthing to sync with my own LAN directory syncs, and it worked perfectly.
  65. [65]
    Syncing all the things - LWN.net
    Jul 16, 2021 · I want to like syncthing, but I've been using it for a few years and it has been extremely unreliable. I use it to sync photos/videos ...Missing: review | Show results with:review
  66. [66]
    Sync files quickly and securely between devices for free ... - BetaNews
    Aug 12, 2025 · Syncthing 2.0 has arrived, promising faster syncing, a new database system, and a number of major fixes and improvements.<|separator|>
  67. [67]
    Syncthing Reviews - 2025 - Slashdot
    Rating 5.0 (1) Apr 13, 2022 · Summary: Although it takes some time to setup , Syncthing is a great FOSS alternative to proprietary file and folder sync solutions. Positive: ...Missing: reception | Show results with:reception
  68. [68]
    All servers have lost access to relays - Support - Syncthing Forum
    Nov 28, 2024 · Everything was running fine this morning, then I rebooted my 16 servers to find that all of the file syncing has stopped. I'm getting this in all of the debugs.Missing: criticisms learning curve mobile app
  69. [69]
    Seafile vs NextCloud vs Syncthing - Best Open-Source Dropbox ...
    Rating 5.0 (241) May 9, 2024 · Syncthing is decentralized, Seafile is centralized with advanced syncing, and Nextcloud offers broader features including collaboration and ...Missing: Resilio | Show results with:Resilio
  70. [70]
    Compare Nextcloud vs. Resilio Sync - G2
    Users report that both products have strong security features, with Nextcloud scoring 8.5 and Resilio Sync slightly higher at 8.6, but Nextcloud's additional ...<|separator|>
  71. [71]
    If Dropbox is all you need you might be satisfied with Syncthing. I ...
    Comparatively, I think Syncthing is simpler to use and more robust than basically any other solution that isn't Dropbox.Missing: comparison | Show results with:comparison
  72. [72]
  73. [73]
    Syncthing Reviews & Ratings 2025 - TrustRadius
    Easy to Use: Syncthing offers a user-friendly interface accessible via a web browser. According to the vendor, users can effortlessly synchronize multiple ...Missing: reception | Show results with:reception
  74. [74]
    Syncthing 2.0 released with major changes, switching from LevelDB ...
    Aug 12, 2025 · Syncthing 2.0 is now available, introducing major changes such as a backend database shift from Google's LevelDB to SQLite.
  75. [75]
    Syncthing 2.0 Launches With Major Database Overhaul - Linuxiac
    Aug 12, 2025 · Syncthing 2.0, an open-source peer-to-peer file synchronization tool, debuts with a switch to SQLite, revamped logging, faster syncing, ...