18 คะแนน โดย hyeongjin 13 일 전 | 13 ความคิดเห็น | แชร์ทาง WhatsApp

กำลังพัฒนาปลั๊กอินซิงก์โอเพนซอร์สสำหรับ Obsidian ชื่อ Synch

เริ่มต้นโปรเจ็กต์นี้จากคำถามว่า จะสามารถสร้างประสบการณ์แบบ Obsidian Sync ด้วยโอเพนซอร์สได้หรือไม่
เป้าหมายคือเป็นทางเลือกแทน Obsidian Sync ที่รองรับการซิงก์อย่างรวดเร็ว, E2EE, ประวัติเวอร์ชัน และสามารถนำไป deploy เองได้

เนื่องจากมาในรูปแบบปลั๊กอินของ Obsidian จึงไม่ใช่วิธีที่ต้องติดตั้งแอปแยกต่างหาก แต่สามารถใช้งานได้ในสภาพแวดล้อมเดสก์ท็อป/มือถือที่ Obsidian ทำงานอยู่

ขณะนี้รองรับฟีเจอร์ดังต่อไปนี้

  • เข้ารหัสเนื้อหาไฟล์และเมทาดาทาเส้นทางไฟล์บนเครื่องก่อนอัปโหลด
  • ซิงก์การเปลี่ยนแปลงระหว่างหลายอุปกรณ์ได้ภายในไม่กี่วินาที
  • ประวัติเวอร์ชัน
  • กู้คืนไฟล์ที่ลบไปแล้ว
  • รวมไฟล์อัตโนมัติเมื่อเกิดการชนกันของไฟล์

ในเชิงเทคนิค ระบบทำงานบน Cloudflare Workers + Durable Objects + R2

  • เข้ารหัสเนื้อหาไฟล์และเมทาดาทาเส้นทางไฟล์ที่ฝั่งไคลเอนต์ก่อนอัปโหลด
  • เซิร์ฟเวอร์จะเก็บเฉพาะ blob ที่เข้ารหัสแล้วและเมทาดาทาสำหรับการซิงก์
  • ใช้ Durable Objects เพื่อจัดการสถานะการซิงก์และลำดับการเปลี่ยนแปลงในระดับ vault
  • เนื้อหาไฟล์และประวัติเวอร์ชันจะถูกเก็บไว้ใน R2

สำหรับผู้ที่อยากลอง deploy เอง ได้เตรียม one-click deployment ที่สามารถนำไป deploy ด้วยบัญชี Cloudflare ฟรีไว้แล้ว
ส่วนผู้ที่ไม่สะดวกกับการ deploy ก็สามารถทดลองใช้งานแบบง่าย ๆ ได้ก่อนผ่าน hosted server

GitHub: https://github.com/hjinco/synch

13 ความคิดเห็น

 
yinn27 7 일 전

ฉันดูคู่มือ self-hosting แล้ว สมัคร Cloudflare เปิดใช้งาน R2 และทำตามเหมือนกันทุกอย่างแล้ว
แต่ซิงก์ไม่ได้เลย.. ฮือๆ ไม่รู้ว่าผิดตรงไหน

 
nokdu 8 일 전

โอ้.. ตอนแรกก็สงสัยว่าเขาทำกันยังไง แต่ดีเลยครับ! แอบเสียดายนิดหน่อยที่ทั้งหมดผูกกับ Cloudflare อยู่ ฮ่าๆ

 
rkjun 12 일 전

ก่อนหน้านี้ผมใช้ Google Drive/DriveSync อยู่แล้วรู้สึกว่ายังมีอะไรขาด ๆ อยู่ (อย่างเช่นข้อมูลล่าสุดถูกอุปกรณ์อื่นทำหายไปบ้าง.. หรือเกิดการชนกันบ้าง..) ก็เลยกำลังคิดเรื่อง Obsidian Sync อยู่ คงต้องลองใช้ดูสักครั้งแล้วครับ! ขอบคุณครับ

 
grollcake 13 일 전

ฉันสร้างบัญชีแบบ self-hosted ไว้ แต่ตอนนี้กลับล็อกอินด้วยบัญชีเดิมไม่ได้
คงเป็นความผิดพลาดที่ฉันลืมรหัสผ่านเองนี่แหละ ^^
แต่ดูเหมือนจะไม่มีวิธีรีเซ็ตรหัสผ่านเลย
สุดท้ายเลยต้องลบทั้ง GitHub repo และ workers แล้วตั้งค่าใหม่ทั้งหมด
แต่คราวนี้แปลกตรงที่ตอนสมัครสมาชิกกลับขึ้นว่ามีบัญชีนี้อยู่แล้ว..

 
hyeongjin 13 일 전

ตอนสร้าง workers ระบบจะสร้าง d1 และ r2 ให้อัตโนมัติด้วย ดังนั้นน่าจะต้องลบ d1 และ r2 ที่เชื่อมต่ออยู่ด้วยครับ

 
grollcake 13 일 전

ฉันทำตามที่คุณบอกแล้วและแก้ปัญหาได้ ขอบคุณนะครับ

 
kurthong 13 일 전

ถ้าโฮสต์เองก็ยังต้องเสียเงินด้วยเหรอ?

 
hyeongjin 13 일 전

ไม่ครับ แค่มีบัญชี Cloudflare ก็พอ ดูคู่มือได้ที่ https://synch.run/ko/self-hosting

 
grollcake 13 일 전

โอ้~ ดูเหมือนว่าทำออกมาได้สมบูรณ์พอสมควรเลยนะครับ
แต่พอลองสร้าง remote vault แล้วซิงก์บนอุปกรณ์ 2 เครื่อง กลับมี vault เพิ่มขึ้นมาอีกอันในแต่ละโฟลเดอร์ทรี แล้วภายใต้ vault นั้นก็มีโฟลเดอร์ทรีเดิมซ้ำขึ้นมา แบบนี้เป็นปกติอยู่แล้วหรือเปล่าครับ?

 
hyeongjin 13 일 전

เดิมทีไม่ได้เป็นพฤติกรรมที่ควรจะเกิดขึ้นแบบนั้น

ปรากฏการณ์นั้นทั้งผมและผู้ทดสอบเบต้ายังไม่สามารถทำให้เกิดซ้ำได้ แต่ถ้าสะดวก รบกวนส่งอีเมลมาที่ contact@synch.run หรือเปิด GitHub issue ไว้ได้เลยครับ/ค่ะ ผมจะตรวจสอบเพิ่มเติมอย่างละเอียดและช่วยเหลือให้ครับ/ค่ะ

 
grollcake 13 일 전

พยายามลบ vault แต่เกิดข้อผิดพลาดขึ้นครับ

ลบไม่สำเร็จ - การล้างข้อมูลของ coordinator ล้มเหลวโดยมีสถานะ 500

 
calofmijuck 13 일 전

ต่างจาก Obsidian LiveSync อย่างไร?

 
hyeongjin 13 일 전

LiveSync ใช้ CouchDB เป็นฐาน จึงสามารถ self-hosting ได้อเนกประสงค์กว่ามาก ขณะที่ Synch เป็นโครงสร้างที่ผูกติดกับ Cloudflare
แต่แทนที่จะเป็นแบบนั้น เราโฟกัสกับการทำให้คนที่ตั้งค่าเซิร์ฟเวอร์ไม่เป็น แค่มีบัญชี Cloudflare แบบฟรีก็สามารถกดปุ่มเดียวเพื่อ deploy แล้วใช้งานได้ทันที