싱팅

Syncthing
싱팅
Syncthing logo
로고 동기화
Syncthing 1.7.1 web interface.png
웹 인터페이스 동기화
원본 작성자야콥 보그
개발자제이콥 보그 [1]
초기 릴리즈2013-12-15
안정적 해제1.18.6 (2022년
1월 11일 (38일 전) (2022-01-11)[2] [±]
릴리스 미리 보기1.18.2-rc.3 (2021년
8월 24일 (5개월 전) (2021-08-24) [2][±]
리포지토리
기록 위치가다
운영 체제Linux, OS X, Windows, Android, BSD, Solaris
다음에서 사용 가능38개국어[3]
언어 목록
영어, 독일어, 그리스어, 스페인어, 프랑스어, 이탈리아어, 폴란드어, 포르투갈어, 러시아어, 스웨덴어, 노르웨이어
유형파일 동기화
면허증MPL 2.0[4]
웹사이트syncthing.net

동기화는 Windows, MacOS, Linux, Android, Solaris, Darwin 및 BSD에서 사용할 수 있는 무료 오픈 소스 피어 투 피어 파일 동기화 애플리케이션이다.[5]로컬 네트워크의 장치 간 또는 인터넷을 통해 원격 장치 간에 파일을 동기화할 수 있다.데이터 보안과 데이터 안전은 소프트웨어 설계에 내장되어 있다.

기술

동기화는 Go로 쓰여져 있으며, 그 자체로 균등하게 자유로운 블록 교환 프로토콜을 구현한다.[6]

동기화는 사용자가 소프트웨어가 실행되는 하드웨어를 제공하는 BYO 클라우드 모델이다.IPv6을 지원하며, IPv4 네트워크에 있는 사용자를 위해 NAT 펀칭 및 릴레이를 제공한다.서로 연결되는 기기는 메쉬의 보안성을 높이는 명시적 승인(소개서 기능을 사용하지 않는 경우)이 필요하다.장치 간에 직접 전송하든 릴레이를 통해 전송하든 모든 데이터는 TLS를 사용하여 암호화된다.[7][8]

오래된 파일의 이름을 "동기화-충돌" 접미사(시간 및 날짜 스탬프와 함께)로 바꾸면서 충돌이 처리되어, 사용자가 동기화 간에 변경된 동일한 이름의 파일 2개 이상의 관리 방법을 결정할 수 있다.[9]GUI 래퍼는 이러한 파일을 사용하여 사용자에게 수동 파일 처리에 의존하지 않고도 충돌을 해결하는 방법을 제시할 수 있다.

전체 해시를 계산하고 저장한 후에는 메타데이터 또는 모든 전송 데이터의 압축,[10] 변경된 파일에 대한 블록 재사용[11] 및 경량 스캔을[12] 통해 효율적인 동기화가 달성된다.동기화는 원격 장치의 업데이트가 처리되지 않는 송신 전용 및 수신 전용 폴더 유형[13], 다양한 파일 버전 유형[14](트래시 캔, 단순 또는 시차 버전, 외부 프로그램 또는 스크립트에 버전 전달) 및 파일/경로 무시 패턴을 제공한다.[15]현재 2개의 서로 다른 SHA256 해싱 구현이 지원되고 있으며, 그 중 빠른 것은 스타트업에 대한 간략한 벤치마크 후 동적으로 사용될 것이다.[16]파일 및 폴더의 이동 및 이름 변경은 데이터를 처음부터 다시 다운로드하는 대신 이러한 작업을 지능적으로 처리하는 방식으로 효율적으로 처리된다.[17]

사회 기반 시설

장치 검색은 프로젝트 개발자가 호스팅하는 공개 액세스 검색 서버,[18] 브로드캐스트 메시지를 통한 로컬(LAN) 검색, 장치 기록 및 정적 호스트 이름/addressing을 통해 이루어진다.이 프로젝트는 또한 공용 서버를 대체하거나 함께 사용할 수 있는 자신의 검색 서버를 호스팅하기 위한 Syncting Discovery Server[19] 프로그램을 제공한다.

커뮤니티 제공 릴레이 서버 네트워크는 서로 다른 IPv4 NAT 방화벽 뒤에 있는 장치 모두 제3자를 통해 암호화된 데이터를 릴레이하여 통신할 수 있도록 허용한다.수행된 릴레이는 트래픽 TLS 암호화 단말간 엔드투엔드(즉, 릴레이 서버도 데이터를 볼 수 없고 암호화된 스트림만 볼 수 있음)로 TROND 프로토콜과 성격이 유사하다.원하는 경우 공개 릴레이를 포함하거나 포함하지 않고 개인 릴레이를 설정 및 구성할 수도 있다.직접 연결을 사용할 수 있게 된 것을 발견하면 동기화가 릴레이에서 직접 장치 간 연결로 자동 전환된다.[20]

프로젝트 또는 커뮤니티의 서버에 연결하지 않고 동기화를 사용할 수 있다.[21] 업그레이드, 옵트인 사용 데이터, 검색 및 릴레이는 모두 비활성화 및/또는 독립적으로 구성될 수 있으므로, 메쉬와 그 인프라는 모두 개인 정보 보호 또는 기밀성을 위해 폐쇄적인 시스템에서 실행될 수 있다.

구성 및 관리

동기화는 로컬 또는 원격으로 웹 브라우저를 통해 구성되어야 하며(그리고 프록시 서버를 통한 액세스를 지원), REST 및 이벤트 API 또는 커뮤니티가 제공하는 래퍼 프로그램 중 하나를 통해 구성되어야 한다.[22]도커 이미지에 대한 링크는 커뮤니티 기여 페이지와 Puppet, Annible 등 지원되는 구성 관리 솔루션에 대한 링크도 제공된다.

리셉션

  • 시큐리티나우! 456회에서 진행자 스티브 깁슨은 싱팅을 비토렌트 싱크의 잠재적 오픈소스 교체라고 치켜세웠고,[23] 603, [24]698,[25] 727화,[26] 734화, 781화에서 다시 한번 참조했다.[27][28]
  • LWN의 한 리뷰어는[29] "싱크는 좋은 인상을 남긴다.개발자들은 능력 있고, 신뢰할 수 있고, 안전하며, 합리적으로 잘 작동하는 시스템을 만드는 일을 한 것 같다.그러나 그들은 또한 많은 무료 소프트웨어 프로젝트들이 무너질 것 같은 장소인 설치와 활용을 용이하게 하기 위해 이 작업을 해 왔다.데이터 동기화 및 복제 요구 사항을 제어하고자 하는 모든 사용자에게 매력적인 툴"이라고 말했다.

역사

버전 기록 동기화
날짜 버전 주요 변경 사항
2019-10-01 1.3.0[30]
  • 데이터베이스 크기 조정을 위한 새 매개 변수
  • 데이터베이스 성능 향상
2019-07-09 1.2.0[31]
  • 새 전송 프로토콜(QUIC)
  • 자동 충돌 보고
2019-05-09 1.1.3[32]
  • Windows에서 패닉 버그를 수정하기 위한 릴리스용 핫픽스
2019-04-02 1.1.1[33]
  • TLS1.3에 대한 지원 추가
2019-04-22 1.1.0[34]
  • 상위 dir를 따르는 사용자/그룹 소유권
  • 해싱 성능 수정
2019-01-01 1.0.0[35]
  • 최대 동시 검색 제한
  • 수신 폴더에만 대해 로컬로 변경된 파일 제한 표시
2016-06-19 0.14 "디프로시움 잠자리"[36]
  • 확장 가능한 새 동기화 프로토콜(폴더 콘텐츠의 전체 재시동은 처음 다시 시작할 때 수행됨)
2016-05-17 0.13 "코퍼 바퀴벌레"[37]
  • 파일을 다운로드하는 동안 파일 제공
  • 레이블과 별개의 고유 폴더 ID
2015-11-05 0.12 "베릴륨 베드버그"[38]
  • 연결 릴레이
  • HTTPS를 통한 장치 검색

최초 공개 바이너리 공개(v0.2)는 2013년 12월 30일에 이루어졌다.[39]

2014년 10월 원저자에 의해 싱팅이 "펄스"[40]로 재브랜드되고 있다고 발표되었다.하지만 11월 17일 개발사는 싱팅을 펄스로 바꾸지 않기로 결정하고 더 이상 아마존닷컴과 협력하지 않고 있다.아마존의 펄스는 이제 공식적으로 허가된 싱팅의 포크다.[41]

있을 때 드라이브를 접근하기 어려운 곳 예를 들어 문제가 있어, 외부 버전 관리 소프트웨어를 지지하고 있는 것은 4월 22일 2015년에, 0.11.0고, 갈등 처리를 소개한 UI, CPU사용과synching 속도 개선, Windows에 오래filename 지원, 자동 restarting에 언어 선택 메세지 공개되었다.[42]의 기록를 0.11은 이전 기종과 호환이 되는 wi.이전 버전의 Syncting.[42]0.10.x에 있던 REST API Syncting 클라이언트의 변경으로 인해 출시 당시 많은 타사 통합과 호환되지 않아 0.11로 자동 업데이트되지 않았다.[42]

0.13.0은 대부분의 이전 버전의 Syncting과 마찬가지로 0.12.x 이하 버전을 실행하는 클라이언트와 호환되지 않는다. 0.13.x는 폴더 ID를 폴더 레이블에서 분리한다.그것은 또한 그것이 다운로드되는 동안 이미 다른 고객들에게 다운로드 된 파일의 일부를 제공할 수 있는 능력을 가지고 있다.[43]

1.0.0, 암호명 에르비움 지렁이는 [44]표에 어떤 큰 변화도 가져오지 않았다.그것은 프로그램의 광범위한 사용과 그 시점에서 이미 거의 5년 동안 개발되어 왔다는 사실에 대한 개발자들의 성찰에 가까웠다.[45][46]주요 번호의 변경에도 불구하고, 선도 개발자인 Jakob Borg는 0.14.55-rc.2와[44] 동일하다고 말했다.

1.0.0 릴리즈와 함께 팀은 다음과 같은 기준을 가진 새로운 semver 유사 버전 시스템을 도입했다.[47]

  • 이전 버전과 호환되지 않는 새로운 버전이 주요 버전으로 구성될 것이다.
  • REST API의 변경 사항이 있거나 다운그레이드를 허용하지 않는 데이터베이스 또는 구성 변경 사항이 있는 새로운 버전은 부 버전을 구성한다.
  • 위와 같이 특별한 우려가 없다면 새로운 패치 버전이다.

1.1.0에서 채택된 Go 1.12 동기화에서 Windows XPWindows Server 2003과[48] 호환성 손실

1.2.0은 QUIC에 대한 지원을 도입하고, 이제 자동 충돌 보고를 수행할 수 있으며, 소형/고정 블록을 더 이상 사용할 수 없다. 1.2.0은 0.14.45 이상 실행 중인 Syncting 클라이언트와의 통신에 대한 지원도 떨어졌다.[49]

1.8.0은 사용자가 파일 변경 내용을 복사-쓰기 파일 시스템에 저장해야 하는 방법을 지정할 수 있는 실험적인 폴더 옵션을 추가하고 TCP 홀 펀칭 지원도 추가한다.[50]

1.9.0이 옵션을 도입caseSensitiveFS사용자가 대소문자를 구분하지 않는 파일 시스템에 대해 새로 추가된 처리를 비활성화할 수 있도록 허용했다.[51]

1.10.0 릴리스는 사용자가 LAN IP를 글로벌 검색 네트워크로 방송하기를 원하는지 여부를 전환할 수 있는 기능을 제공했다.[52]

참고 항목

참조

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

외부 링크