Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

계정도 구독료도 필요 없는 메모 시스템, Obsidian과 Syncthing 조합으로 완벽히 대체했습니다

대부분의 메모 앱은 두 개의 기기에서 내 노트를 사용하려면 돈을 요구합니다. 노트북에서 방금 작성한 파일? 구독료를 내기 전까지는 휴대폰에서 접근조차 할 수 없습니다. 이런 정책은 늘 마음에 걸렸습니다. 어차피 제 메모는 폴더 안의 평범한 텍스트 파일일 뿐인데 말이죠. 일부 메모 앱은 완벽하게 동기화되면서도 완전 무료이긴 하지만, 개인 데이터에 대한 완전한 통제권을 유지할 더 좋은 방법이 분명 있으리라 생각했습니다.

결론부터 말하자면, 무료 오픈소스 도구 두 가지가 이미 몇 년 전부터 이 문제를 해결해 왔고, 파워 유저들은 그동안 그 혜택을 누려왔습니다. Obsidian(옵시디언)이 작성을 담당하고, Syncthing(싱크씽)이 동기화를 처리합니다. 계정 가입도, 클라우드 중개 서버도, 월 구독료도 전혀 필요하지 않습니다. 한번 익숙해지면 '이게 안 될 리가 없는데' 싶을 만큼 강력한 환경이 완성됩니다.

Obsidian은 노트를 실제로 소유하는 파일로 취급합니다

트렌드는 흘러가도 평문 텍스트는 영원합니다

동기화 설정에 들어가기 전에, 왜 Obsidian을 중심으로 시스템을 구축할 가치가 있는지 먼저 이해할 필요가 있습니다. Notion, Evernote, Apple Notes 같은 인기 메모 앱들은 여러분의 데이터를 자사 서버에 독점 포맷으로 저장합니다. 노트를 작성하면 사실상 남의 서랍장에 생각을 넣고, 영원히 접근을 허락해 주기를 바라는 것과 다름없습니다.

Obsidian은 구조적으로 다릅니다. 생성하는 모든 노트는 컴퓨터 폴더 안에 있는 평범한 Markdown(.md) 파일입니다. 이 폴더를 '볼트(vault)'라고 부르는데, 어떤 텍스트 편집기로든 열 수 있고, 어떤 백업 도구로든 백업할 수 있으며, 원하는 곳으로 자유롭게 옮길 수 있는 일반적인 디렉터리일 뿐입니다. 로컬 우선(local-first) 방식의 메모 앱이라서 사용자가 원할 때만 동기화되며, 계정 가입이 전혀 필요 없습니다. 백그라운드에서 돌아가는 데이터베이스도 없습니다. 그냥 파일일 뿐입니다.

지루하게 들릴 수 있지만, 사실 이것이 다른 모든 것을 가능하게 만드는 핵심입니다. 볼트가 실제 파일을 담은 실제 폴더이기 때문에, 폴더를 다룰 수 있는 어떤 동기화 도구든 메모를 동기화할 수 있습니다. 월 5~10달러짜리 Obsidian 공식 Sync 서비스에 의존할 필요가 없다는 뜻입니다(원하면 쓸 수 있지만요). 직접 나만의 환경을 만들어도 되고, 그 역할에는 Syncthing이 최고입니다.

파일 구조 외에도 Obsidian은 '생각하기' 위한 도구로서 매우 훌륭합니다. 노트 간 양방향 링크와 볼트 전체의 연결 관계를 시각적으로 보여주는 그래프 뷰를 지원하는데, 필자의 동료가 여러 메모 앱을 하나의 Obsidian 워크플로로 통합한 결정적인 이유이기도 합니다. 캘린더 연동부터 칸반 보드까지 다양한 플러그인을 설치해 볼트를 더 스마트하게 만들 수 있고, 방해 요소 없는 깔끔한 글쓰기 인터페이스도 갖추고 있습니다. Windows, macOS, Linux, iOS, Android 모두 지원하므로 크로스 디바이스 워크플로를 구축할 때 중요한 장점입니다.

Syncthing 설정은 어렵지 않지만, 약간의 인내심이 필요합니다

플러그 앤 플레이는 아니지만, 그에 근접합니다

Syncthing은 오픈소스이며 무료이고, 완전히 여러분의 기기 위에서 실행됩니다. 파일을 보관하는 중개 서버가 없습니다. 두 기기가 같은 네트워크에 있으면 서로를 직접 찾아 암호화된 P2P 연결로 데이터를 전송합니다. 서로 다른 네트워크에 있을 때는 릴레이 서버가 연결 설정(handshake)을 돕지만, 이 경우에도 릴레이는 파일 내용이 아니라 연결 메타데이터만 볼 뿐입니다.

Windows에 Syncthing을 설치하는 데는 5분 정도 걸립니다. 설치 프로그램이 코어 바이너리를 내려받고, 로그인 시 자동 시작되도록 설정하며, 필요한 Windows 방화벽 규칙 생성 여부를 물어봅니다(이 프롬프트에는 '예'를 선택하세요). 실행되면 Syncthing은 https://127.0.0.1:8384에 로컬 웹 인터페이스를 열어주며, 이곳에서 폴더와 기기를 관리하는 깔끔한 대시보드를 사용할 수 있습니다.

다음 단계는 Obsidian 볼트를 Syncthing에 추가하는 것입니다. 여러 기기에서 무료로 볼트를 동기화하는 방법을 고민 중이라면, 이 지점에서 바로 결실을 맛볼 수 있습니다. Add Folder를 클릭하고 볼트 경로를 지정하세요(예: 필자의 경우 C:\Users\Oluwademilade\Documents\Obsidian Vault). 그리고 Folder TypeSend & Receive로 설정합니다. 저장하기 전에 File Versioning 탭으로 이동해 드롭다운 메뉴에서 Simple File Versioning을 선택하고, 버전 보관 개수를 5~10개로 지정하세요. 이것이 전체 설정에서 가장 중요한 안전장치입니다. 노트가 실수로 덮어쓰이거나 삭제되더라도, Syncthing은 이전 버전을 볼트 내부의 .stversions 폴더에 날짜와 시간 스탬프와 함께 조용히 보관합니다. 아무것도 소리 없이 사라지지 않습니다.

저장하기 전에 Ignore Patterns 탭에서 추가하면 좋은 무시 패턴 두 가지가 있습니다: .obsidian/cache.obsidian/workspace*. 이 제외 설정은 Syncthing이 Obsidian의 내부 UI 상태를 의미 있는 데이터로 오인해 기기 간 충돌을 일으키는 것을 방지합니다. 많은 사람들이 P2P 동기화 자체를 포기하게 만드는 원인인 의미 불명의 동기화 반복 현상이 바로 이것 때문에 발생합니다. 반면 .obsidian 폴더의 나머지 부분(플러그인, 테마, 설정)은 동기화되어야 하므로 폴더 전체를 무시해서는 안 됩니다.

두 번째 기기 연결은 훨씬 쉽고, Android에서도 방법은 동일합니다

어려운 부분은 이미 끝났습니다

두 번째 기기를 연결하려면 기기 ID(Device ID)를 교환하면 됩니다. 메인 PC의 Syncthing 대시보드에서 Actions > Show ID를 클릭하고 긴 영숫자 문자열을 복사하세요. 두 번째 기기에서 Add Remote Device로 이동해 붙여넣습니다. 양쪽 기기에 연결 확인 프롬프트가 뜨면 양쪽 모두 수락합니다. 그다음 첫 번째 기기에서 해당 폴더를 편집해 Sharing 탭에서 새 기기 옆의 체크박스를 선택합니다. 두 번째 기기에 새 폴더 수락 여부를 묻는 노란색 배너가 나타나면 Add를 클릭하고 로컬 경로를 지정하면 초기 동기화가 시작됩니다. 한 기기에서 노트를 저장하면 몇 초 안에 다른 기기에 나타납니다.

플러그인 기반 동기화 솔루션과 달리, Syncthing은 백그라운드에서 지속적으로 실행되므로 Obsidian을 열기 전에 이미 볼트가 최신 상태로 유지됩니다.

Android에서 추천하는 앱은 Play Store와 F-Droid에서 모두 받을 수 있는 Syncthing-Fork입니다. 공식 Android 클라이언트의 관리되는 포크(fork)로, 더 나은 배터리 최적화와 깔끔한 인터페이스가 장점입니다. 기기 페어링과 폴더 공유 과정은 데스크톱 버전과 완전히 동일합니다. 설정이 끝나면 Android에서 Obsidian을 열어 동기화된 폴더를 볼트로 선택하기만 하면 됩니다. 플러그인과 설정까지 포함해 지금까지 작성한 모든 노트가 이미 그곳에 있습니다.

두 기기에서 같은 노트를 동시에 편집하더라도, Syncthing은 조용히 덮어쓰지 않습니다. 원본 옆에 이름이 명확한 .sync-conflict 파일을 생성해 무슨 일이 있었는지 정확히 확인하고 버전을 수동으로 병합할 수 있습니다. 대부분의 동기화 도구가 숨기거나 엉망으로 처리하는 문제를 투명하고 비파괴적인 방식으로 다루는 셈입니다.

'소유권'이야말로 처음부터 원했던 기능입니다

설정 후의 일상적인 경험은 거의 존재감이 없습니다. 그리고 그것이야말로 목표였습니다. Syncthing은 백그라운드에서 파일 변경을 감시하고, 다른 기기가 같은 네트워크에 접속하는 순간 변경 사항을 전송합니다. 노트북에서 노트를 열고, 노트북을 덮고, 휴대폰을 집어 들면 노트가 그대로 있습니다. 유일하게 들이면 좋은 습관은 기기를 끄기 전에 Syncthing이 전송을 마칠 때까지 몇 초만 기다리는 것입니다. 그래야 변경 사항이 전송 중간에 고립되지 않습니다.