Syncthing

Syncthing
Original author(s)Jakob Borg
Developer(s)Jakob Borg et al.[1]
Initial releaseDecember 15, 2013; 11 years ago (2013-12-15)
Stable release1.28.1[2] Edit this on Wikidata (3 December 2024; 25 days ago (3 December 2024)) [±]
Preview release1.28.1-rc.2 (25 November 2024; 33 days ago (2024-11-25)[3]) [±]
Repository
Written inGo
Operating systemLinux, macOS, Windows, Android, BSD, Solaris
Available in38 languages[4]
List of languages
English, German, Greek, Spanish, French, Italian, Polish, Portuguese, Russian, Swedish, Norwegian
TypeFile synchronization
LicenseMPL 2.0[5]
Websitesyncthing.net

Syncthing is a free and open source peer-to-peer file synchronization application available for Windows, macOS, Linux, Android, Solaris, Darwin, and BSD.[6] It can sync files between devices on a local network, or between remote devices over the Internet. Data security and data safety are built into its design. Version 1.0 was released in January 2019 after five years in beta.[7]

Technology

Syncthing is written in Go and implements its own, equally free Block Exchange Protocol.[8]

It is a BYO cloud model where users provide the hardware it runs on. It supports IPv6 and, for those on IPv4 networks, NAT punching and relay. Devices that connect to each other require explicit approval (unless using the Introducer feature) which increases the security of the mesh. All data, whether transferred directly between devices or via relays, is encrypted using TLS.[9][10]

Conflicts are handled with the older file being renamed with a "sync-conflict" suffix (along with time and date stamp), enabling the user to decide how to manage two or more files of the same name that have been changed between synching.[11] GUI Wrappers can use these files to present the user with a method of resolving conflicts without having to resort to manual file handling.

Efficient syncing is achieved via compression of metadata or all transfer data,[12] block re-use[13] and lightweight scanning[14] for changed files, once a full hash has been computed and saved. Syncthing offers send-only and receive-only folder types[15] where updates from remote devices are not processed, various types of file versioning[16] (trash can, simple or staggered versioning, and handing versioning to an external program or script) and file/path ignore patterns.[17] Two different SHA256 hash implementations are currently supported, the faster of which is used dynamically after a brief benchmark on startup.[18] Moving and renaming files and folders is handled efficiently, with Syncthing intelligently processing these operations rather than re-downloading data from scratch.[19]

Infrastructure

Device discovery is achieved via publicly-accessible discovery servers hosted by the project developers,[20] local (LAN) discovery via broadcast messages, device history and static host name/addressing. The project also provides the Syncthing Discovery Server[21] program for hosting one's own discovery servers, which can be used alongside or as a replacement for the public servers.

The network of community-contributed relay servers allows devices behind different IPv4 NAT firewalls to communicate by relaying encrypted data via a third party. The relay is similar to the TURN protocol, with the traffic TLS-encrypted end-to-end between devices (thus even the relay server cannot see the data, only the encrypted stream). Private relays can also be set up and configured, with or without public relays, if desired. Syncthing automatically switches from relaying to direct device-to-device connections if it discovers a direct connection has become available.[22]

Syncthing can be used without any connection to the project or community's servers:[23] upgrades, opt-in usage data, discovery and relaying can all be disabled or configured independently, thus the mesh and its infrastructure can all be run in a closed system for privacy or confidentiality.

Configuration and management

Syncthing can be configured via a web browser either locally or remotely (and supports access via proxy server), but it is also possible to edit the configuration file directly. The REST and Events APIs or one of the community-contributed wrapper programs.[24] Links to Docker images are also provided on the community contributions page, as well as links to supported configuration management solutions such as Puppet, Ansible and others.

Reception

  • In episode 456 of SecurityNow!, host Steve Gibson praised Syncthing as a potential open-source replacement for BitTorrent Sync,[25] and again referenced it in episodes 603,[26] 698,[27] 727,[28] and in more detail in episodes 734 and 781.[29][30]
  • A reviewer in LWN writes[31] "Syncthing leaves a favorable impression. The developers seem to have done the work to create a system that is capable, reliable, secure, and which performs reasonably well. But they have also done the work to make it all easy to set up and make use of — the place where a lot of free-software projects seem to fall down. It is an appealing tool for anybody wanting to take control of their data synchronization and replication needs."

History

Syncthing version history (part)
Date Version Major Changes
2023-09-25 1.25.0[32]
2022-05-04 1.20.0[32]
2021-04-06 1.15.0[32]
2020-09-15 1.10.0[32]
2020-04-21 1.5.0[32]
2019-10-01 1.3.0[33]
  • New parameter for adjusting database size
  • Better database performance
2019-07-09 1.2.0[34]
  • New transport protocol (QUIC)
  • Automatic crash reporting
2019-05-09 1.1.3[35]
  • Hotfix for release to fix a panic bug on Windows
2019-04-02 1.1.1[36]
  • Add support for TLS1.3
2019-04-22 1.1.0[37]
  • User/group ownership follows parent dir
  • Fix hashing performance
2019-01-01 1.0.0[38]
  • Limit max simultaneous scans
  • Show limit locally changed files for receive only folders
2016-06-19 0.14 "Dysprosium Dragonfly"[39]
  • new, extensible sync protocol (full rehashing of folder contents will happen on first restart)
2016-05-17 0.13 "Copper Cockroach"[40]
  • Serve files while downloading them
  • Unique folder ID separate from label
2015-11-05 0.12 "Beryllium Bedbug"[41]
  • Connection Relaying
  • Device Discovery over HTTPS

The initial public binary release (v0.2) was made on 30 December 2013.[42]

In October 2014 it was announced by the original author that Syncthing was being rebranded as "Pulse".[43] However, on November 17, the developer decided not to change Syncthing to Pulse and is no longer working with ind.ie. Ind.ie's Pulse is now an officially sanctioned fork of Syncthing.[44]

On 22 April 2015, 0.11.0 was released and it introduced conflict handling, language selection in the UI, CPU usage and synching speed improvements, Long filename support on Windows, automatic restarting when there is a problem for example the drive being inaccessible, and support for external versioning software.[45] 0.11 is not backwards compatible with older versions of Syncthing.[45] Because of changes to the REST API Syncthing clients that were on 0.10.x wouldn't automatically update to 0.11 as it wasn't compatible with a lot of the 3rd party integrations at the time of its release.[45]

0.13.0 like many of the older releases of Syncthing is incompatible with clients that are running version 0.12.x and below. 0.13.x separates the folder ids from folder labels. It also now has the ability to serve parts of the file that have already been downloaded to other clients while it is still downloading.[46]

1.0.0, codenamed Erbium Earthworm,[47] didn't really bring any major changes to the table. It was more of a reflection by the developers on the widespread use of the program and the fact that it had already been in development for almost 5 years at that point.[48][49] Despite the change in the major number Jakob Borg, the lead developer, stated that it was otherwise identical to 0.14.55-rc.2[47]

Alongside the 1.0.0 release the team introduced a new semver-like versioning system with the following criteria:[50]

  • A new version which is protocol incompatible with the previous one would constitute as a major version.
  • A new version which has changes in the REST API or has database or configuration changes which would not allow downgrading would constitute a minor version.
  • If there are no specific concerns as above, it is a new patch version.

In 1.1.0 syncthing adopted Go 1.12 and as such loses compatibility with Windows XP and Windows Server 2003[51]

1.2.0 introduces support for QUIC, can now perform automatic crash reporting and deprecates small / fixed blocks. 1.2.0 also dropped support for communicating with Syncthing clients that are running 0.14.45 or older.[52]

1.8.0 adds an experimental folder option that allows users to specify how file changes should be saved on Copy-on-write file systems and also adds TCP hole punching support.[53]

1.9.0 introduced the option caseSensitiveFS that allowed users to disable the newly added handling for case insensitive filesystems.[54]

The 1.10.0 release gave users the ability to toggle whether they would like LAN IPs to be broadcast to the global discovery network.[55]

See also

References

  1. ^ "AUTHORS". Retrieved 7 April 2016 – via GitHub.
  2. ^ "Release 1.28.1". 3 December 2024.
  3. ^ "Release v1.28.1-rc.2". Retrieved 2024-12-03 – via GitHub.
  4. ^ "The syncthing translation project on Transifex". www.transifex.com. Retrieved 24 August 2020.
  5. ^ "LICENSE". Retrieved 7 April 2016 – via GitHub.
  6. ^ Wallen, Jack (5 January 2016). "Let Syncthing turn your desktop into a local cloud for your mobile device". TechRepublic. CBS Interactive.
  7. ^ "Syncthing 1.0.0 released as open-source P2P sync tool, finally leaves beta". BetaNews. 2019-01-03. Retrieved 2023-10-18.
  8. ^ "Block Exchange Protocol v1". Retrieved 7 April 2016.
  9. ^ "Security Principles — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  10. ^ "Relaying — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  11. ^ "FAQ — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  12. ^ "FAQ — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  13. ^ "Understanding Synchronization — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  14. ^ "Understanding Synchronization — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  15. ^ "Folder Types". Retrieved 2020-07-09.
  16. ^ "File Versioning — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  17. ^ "Ignoring Files — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  18. ^ "cmd/syncthing: Add selectable sha256 package (fixes #3613, fixes #3614)". Github.com. 2016-09-22. Retrieved 2017-01-04.
  19. ^ "FAQ — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  20. ^ "Understanding Device IDs — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  21. ^ "Syncthing Discovery Server — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  22. ^ "Relaying — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  23. ^ "Security Principles — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  24. ^ "Community Contributions — Syncthing v0.14 documentation". Docs.syncthing.net. Retrieved 2017-01-04.
  25. ^ "Security Now! Episode 456". Grc.com. Retrieved 4 November 2014.
  26. ^ "Security Now! Episode 603". Grc.com. Retrieved 7 February 2019.
  27. ^ "Security Now! Episode 698". Grc.com. Retrieved 7 February 2019.
  28. ^ "Security Now! Episode 727". Grc.com. Retrieved 14 August 2019.
  29. ^ "Security Now! Episode 734 on YouTube". YouTube.com. October 2019. Retrieved 3 October 2019.
  30. ^ "Security Now! Episode 781 on YouTube". YouTube.com. 25 August 2020. Retrieved 1 September 2020.
  31. ^ "Syncing all the things". Retrieved 7 September 2021.
  32. ^ a b c d e "Versions & Releases — Syncthing documentation". docs.syncthing.net. Retrieved 2023-10-18.
  33. ^ v1.3.0, The Syncthing Project, 2019-10-01
  34. ^ v1.2.0, The Syncthing Project, 2019-07-09
  35. ^ v1.1.3, The Syncthing Project, 2019-05-31
  36. ^ v1.1.1, 2019-05-31
  37. ^ v1.1.0, 2019-05-31
  38. ^ v1.0.0, 2019-05-31
  39. ^ "0.14". Github.com. 19 June 2016.
  40. ^ "0.13". Github.com. 17 May 2016.
  41. ^ "0.12". 14 April 2016.
  42. ^ "Releases". 30 December 2013 – via GitHub.
  43. ^ Borg, Jakob (9 October 2014). "Introducing Pulse, and ind.ie". Retrieved 7 April 2016.
  44. ^ Borg, Jakob (17 November 2014). "Syncthing is still Syncthing". Retrieved 7 April 2016.
  45. ^ a b c "Syncthing v0.11.0 Release Notes". Syncthing Community Forum. 14 April 2015. Retrieved 15 October 2020.
  46. ^ "Release v0.13.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.
  47. ^ a b "Syncthing graduation day". Syncthing Community Forum. 1 January 2019. Retrieved 15 October 2020.
  48. ^ "Release v1.0.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.
  49. ^ "Syncthing 1.0.0 released as open-source P2P sync tool, finally leaves beta". BetaNews. 3 January 2019. Retrieved 15 October 2020.
  50. ^ "Versions & Releases — Syncthing v1 documentation". docs.syncthing.net. Retrieved 15 October 2020.
  51. ^ "Release v1.1.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.
  52. ^ "Release v1.2.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.
  53. ^ "Release v1.8.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.
  54. ^ "Release v1.9.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.
  55. ^ "Release v1.10.0 · syncthing/syncthing". GitHub. Retrieved 15 October 2020.

Read other articles:

Imperialisme bahasa atau imperialisme linguistik didefinisikan sebagai pemindahan bahasa yang paling berpengaruh kepada bangsa lain. Pemindahan bahasa ini dianggap sebagai bukti kekuasaan, tidak hanya melalui kekuatan militer, tetapi juga kekuatan ekonomi. Aspek-aspek budaya yang paling berpengaruh biasanya turut dipindahkan bersama dengan bahasa itu.[1][2] Sejak awal 1990-an, imperialisme bahasa telah menarik perhatian dalam kalangan ahli linguistik terapan. Khususnya, buku k...

 

 

Species of bird Yellow-bellied prinia Conservation status Least Concern (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Aves Order: Passeriformes Family: Cisticolidae Genus: Prinia Species: P. flaviventris Binomial name Prinia flaviventris(Delessert, 1840) The yellow-bellied prinia (Prinia flaviventris) is a species of bird in the family Cisticolidae. It is found in Pakistan, the southern Himalayan foothills, the northeaste...

 

 

2011 South Korean television series Dream HighPromotional posterHangul드림하이Revised RomanizationDeurimhaiMcCune–ReischauerTŭrimhai GenreMusicTeenRomantic comedyScreenplay byPark Hye-ryunDirected by Lee Eung-bok Kim Seong-yoon Creative directorBae Yong-joonStarring Bae Suzy Ok Taec-yeon Kim Soo-hyun Hahm Eun-jung Jang Wooyoung Lee Ji-eun Opening themeDream HighComposerPark Jin-youngCountry of originSouth KoreaOriginal languageKoreanNo. of seasons1No. of episodes16 (+1 special)Producti...

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (December 2020) (Learn how and when to remove this template message) Zoran Pešić Pešić holding the 2004 Angola CupPersonal informationDate of birth (1951-05-09) 9 May 1951 (age 72)Place of birth Belgrade, FPR YugoslaviaManagerial careerYears Team1998 Dynamos1999 Amaz...

 

 

358 АполлоніяВідкриттяВідкривач Огюст ШарлуаМісце відкриття Обсерваторія НіцциДата відкриття 8 березня 1893ПозначенняПозначення 358 ApolloniaНазвана на честь Аполлонія ІллірійськаТимчасові позначення 1893 K, 1949 OG1, A901 XAКатегорія малої планети Астероїд головного поясуОрбітальні

 

 

Zuber kan verwijzen naar: Personen Jean Zuber (1773-1852), Frans industrieel Inês Cristina Zuber (1980), Portugees politica Andreas Zuber (1983), Oostenrijks autopiloot Steven Zuber (1991), Zwitsers voetballer Andere Manufacture Zuber et Cie, Franse producent van behangpapier Bekijk alle artikelen waarvan de titel begint met Zuber of met Zuber in de titel. Dit is een doorverwijspagina, bedoeld om de verschillen in betekenis of gebruik van Zuber inzichtelijk te maken....

Опис файлу Опис Джерело www.idsoftware.com Автор зображення id Software Ліцензія див. нижче Ліцензування Цей твір поширюється на умовах ліцензії Creative Commons Attribution-Share Alike 2.5. Коротко: ви можете вільно поширювати цей твір, змінювати і використовувати його в будь-яких цілях за умови...

 

 

البنك التجاري المغربي شعار البنك التجاري المغربي البلد المغرب المقر الدار البيضاء تاريخ إنشاء 1911   التجاري وفا بنك تم حل البنك بعدما اندمج مع بنك الوفاء وأصبح يحمل اسم التجاري وفا بنك تعديل مصدري - تعديل   البنك التجاري المغربي (بالفرنسية: banque Commerciale du Maroc)‏ ويُعرف اختص�...

 

 

Not to be confused with One Wall Street, now known as the Bank of New York Building. Office skyscraper in Manhattan, New York United States historic place48 Wall StreetU.S. National Register of Historic PlacesU.S. Historic districtContributing propertyNew York City Landmark No. 2025 Location48 Wall Street, Manhattan, New York, United StatesCoordinates40°42′23″N 74°00′33″W / 40.70639°N 74.00917°W / 40.70639; -74.00917Built1927–1929ArchitectBenjam...

أدب الأطفالصنف فرعي من أدب جزء من children's and youth literature (en) يمتهنه كاتب للأطفال تعديل - تعديل مصدري - تعديل ويكي بيانات أدب الأطفال نوع من الفن الأدبي الذي يشمل القصص والكتب والمجلات والقصائد المؤلفة بشكل خاص للأطفال. ويتم تصنيف أدب الأطفال الحديث بطريقتين مختلفتين: حسب الفئة أو ...

 

 

Радянський теплопаровоз ТП1 Теплопаровоз — локомотив-гібрид, який поєднує в собі тепловоз безпосередньої дії (тобто без проміжної передачі між дизельним двигуном і рушійними колісними парами) і паровоз. Парова машина використовується для розгону, а на певній швидкос...

 

 

Novel by Douglas Coupland Hey Nostradamus! Paperback edition coverAuthorDouglas CouplandCountryCanadaLanguageEnglishGenreNovelPublisherBloomsbury USAPublication dateJuly 2, 2004Media typePrint (Hardcover & Paperback)Pages244 ppISBN1-58234-415-9OCLC55055459Dewey Decimal813/.54 22LC ClassPS3553.O855 H49 2004Preceded byAll Families Are Psychotic Followed byEleanor Rigby This article needs additional citations for verification. Please help improve this article by...

1998 video gameBaroqueNorth American PS2 cover art featuring the character ArchangelDeveloper(s)Sting EntertainmentPublisher(s)Sega Saturn, PlayStationJP: Entertainment Software PublishingPlayStation 2, WiiJP: Sting EntertainmentNA: Atlus USAEU: Rising Star GamesNintendo SwitchJP: Sting EntertainmentDirector(s)Kazunari YonemitsuNoriaki KanekoDaizo Harada (Remake)Producer(s)Takeshi SantoDesigner(s)Kazunari YonemitsuHaruhiko MatsuzakiProgrammer(s)Shinichi AbeSatoshi MiyauchiRyuji KudoArtist(s)H...

 

 

2021 Taiwanese filmGoddamned AsuraPromotional posterTraditional Chinese該死的阿修羅Simplified Chinese该死的阿修罗Literal meaningdamned AsuraHanyu PinyinGāisǐ de Āxiūluó Directed by Lou Yi-anWritten by Lou Yi-an Singing ChenProduced by Gao Junting Xu Guolun Wang XinhongStarring Joseph Huang Morning Mo Peijia Huang Devin Pan Wang Yu-xuan Hao-zhe LaiMusic by Hu XusongProductioncompanies Content Digital Film Co., Ltd SEASHORE IMAGE PRODUCTIONS CO., LTD.Distributed by Hope Ma...

 

 

Gmina in Opole Voivodeship, PolandGmina Strzelce Opolskie Strzelce Opolskie CommuneGminaRoad in Rożniątów FlagCoat of armsGmina Strzelce OpolskieCoordinates (Strzelce Opolskie): 50°30′N 18°17′E / 50.500°N 18.283°E / 50.500; 18.283Country PolandVoivodeshipOpoleCountyStrzelceSeatStrzelce OpolskieArea • Total202.35 km2 (78.13 sq mi)Population (2019-06-30[1]) • Total30,603 • Density150/km2 ...

Algunas de las fallas del vino se deben a una mala condición del corcho de la botella de vino. Los fallos del vino (denominado también como defecto del vino) existen, al igual que en cualquier otro alimento, y se puede definir como una alteración de las propiedades organolépticas deseadas en el vino, por parte de los vinicultores. El vino es susceptible de ser atacado por diferentes substancias químicas así como por diversos microorganismos. Pero, al contrario que los alimentos, el vino...

 

 

Region of Chile Region of ChileBiobío Region Región del BiobíoRegion of Chile FlagCoat of armsMap of Biobío RegionCoordinates: 36°50′S 73°03′W / 36.833°S 73.050°W / -36.833; -73.050Country ChileCapitalConcepciónProvincesBiobío, Concepción, AraucoGovernment • IntendantJorge Ulloa Aguillón (UDI)Area[1] • Total23,890.2 km2 (9,224.1 sq mi) • Rank10Lowest elevation0 m (0 ft)Popula...

 

 

1998 studio album by Dave DouglasCharms of the Night SkyStudio album by Dave DouglasReleased1998RecordedSeptember 18–19, 1997GenreJazzLength64:36LabelWinter & WinterProducerDave Douglas, Stefan Winter, and Joe FerlaDave Douglas chronology Moving Portrait(1998) Charms of the Night Sky(1998) Magic Triangle(1999) Charms of the Night Sky is the tenth album by the trumpeter Dave Douglas.[1] It was released on the German Winter & Winter label in 1998 and contains performan...

1 MalamTerbaik karya D'BagindasDirilis20 Oktober 2013Direkam2010-2013GenrePopLabelTrinity Optima ProductionBermuda MusicKronologi D'Bagindas Yang No. 1 (2011)Yang No. 12011 1 Malam(2013) 1 Malam adalah album ketiga grup D'Bagindas yang dirilis pada tahun 2013. Lagu utamanya di album ini ialah 1 Malam dan Relakan. Album ini merupakan album terakhir D'Bagindas dengan format band setelah itu 5 personelnya yaitu Dandy, Tile, Leo, Indra, Bian memutuskan keluar dari grup musik ini. Setelah itu ...

 

 

Australian rules footballer, born 1984 For other people named Michael Johnson, see Michael Johnson. Australian rules footballer Michael Johnson Johnson playing for Fremantle in March 2016Personal informationFull name Michael JohnsonDate of birth (1984-10-20) 20 October 1984 (age 39)Original team(s) Perth (WAFL)Draft No. 8, 2004 pre-season draftHeight 195 cm (6 ft 5 in)Weight 92 kg (203 lb)Position(s) DefenderPlaying career1Years Club Games (Goals)2005–2018...

 

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!