मैं Obsidian के लिए open source sync plugin Synch बना रहा हूँ.
यह इस सवाल से शुरू हुआ कि क्या Obsidian Sync जैसा अनुभव open source में बनाया जा सकता है।
लक्ष्य है तेज sync, E2EE, version history, और self-host कर सकने वाला Obsidian Sync का विकल्प।
क्योंकि यह Obsidian plugin तरीके से काम करता है, इसलिए अलग app install करने की बजाय इसे उस desktop/mobile environment में इस्तेमाल किया जा सकता है जहाँ Obsidian चलता है।
फ़िलहाल यह सुविधाएँ समर्थित हैं:
- फ़ाइल content और path metadata को लोकल में encrypt करने के बाद upload करना
- कई devices के बीच कुछ सेकंड में बदलाव sync करना
- version history
- delete की गई फ़ाइलों की recovery
- फ़ाइल conflict होने पर automatic merge
तकनीकी रूप से यह Cloudflare Workers + Durable Objects + R2 पर चलता है।
- client पर फ़ाइल content और path metadata को encrypt करने के बाद upload किया जाता है।
- server सिर्फ encrypted blob और sync metadata ही store करता है।
- Durable Objects का इस्तेमाल vault-स्तर के sync state और change order को manage करने के लिए किया जा रहा है।
- फ़ाइल body और version history को R2 में store किया जाता है।
जो लोग इसे खुद deploy करके देखना चाहते हैं, उनके लिए Cloudflare free account से deploy किया जा सकने वाला one-click deployment भी तैयार किया गया है।
जिन लोगों के लिए deploy करना झंझट वाला है, वे पहले hosted server पर आसान तरीके से test कर सकते हैं।
GitHub: https://github.com/hjinco/synch
13 टिप्पणियां
सेल्फ-होस्टिंग गाइड देखकर Cloudflare में साइन अप किया, R2 भी एक्टिवेट किया और सब कुछ बिल्कुल वैसा ही फॉलो किया लगता है,
लेकिन सिंक नहीं हो रहा है.. T_T क्या गलत हुआ है समझ नहीं आ रहा
ओ.. सोच रहा था इसे कैसे बनाया होगा, अच्छा है! बस थोड़ा अफ़सोस है कि यह Cloudflare से बंधा हुआ है। हाहा
मैं पहले Google Drive/DriveSync के साथ इस्तेमाल कर रहा था, लेकिन कुछ कमी महसूस हो रही थी (जैसे आख़िरी डेटा किसी दूसरे डिवाइस की वजह से उड़ गया हो... या conflict हो गया हो..), इसलिए Obsidian Sync के बारे में सोच रहा था। अब लगता है, एक बार इसे इस्तेमाल करके देखना चाहिए! धन्यवाद।
मैंने self-hosting से अकाउंट बनाया था, लेकिन उसी अकाउंट से लॉग इन नहीं कर पा रहा हूँ।
शायद मेरी ही गलती है कि मैं पासवर्ड भूल गया हूँ^^
लेकिन पासवर्ड रीसेट करने का कोई तरीका नहीं दिख रहा है।
मजबूरी में github repo और workers सब delete करके फिर से सेटअप कर रहा हूँ।
इस बार अजीब बात यह है कि साइन अप करते समय कह रहा है कि अकाउंट पहले से मौजूद है..
workers बनाते समय d1, r2 भी अपने-आप बन जाते हैं, इसलिए जुड़े हुए d1, r2 को भी आपको हटाना पड़ेगा।
आपने जैसा बताया था, वैसे करने पर समस्या हल हो गई। धन्यवाद।
क्या self-hosting भी सशुल्क है?
नहीं, बस आपके पास एक Cloudflare अकाउंट होना चाहिए। https://synch.run/ko/self-hosting गाइड देख लें।
ओ~ यह काफ़ी polished लग रहा है.
लेकिन जब मैंने remote vault बनाया और 2 डिवाइस पर sync किया, तो हर एक के folder tree में एक vault और बन गया, और उसके नीचे मूल folder tree duplicate होकर बन रही है. क्या यह मूल रूप से ऐसे ही होना चाहिए?
मूल रूप से यह ऐसा व्यवहार नहीं है.
वह समस्या मेरे या beta testers के यहाँ दोबारा दिखाई नहीं दी, लेकिन अगर आप ठीक समझें तो कृपया contact@synch.run पर ईमेल भेजें या GitHub issue दर्ज करें। हम इसे और विस्तार से जाँचकर आपकी मदद करेंगे।
लगता है मैं vault को delete करने की कोशिश कर रहा हूँ, लेकिन error आ रहा है.
delete failed - coordinator purge failed with status 500
यह Obsidian LiveSync से कैसे अलग है?
LiveSync, CouchDB-आधारित होने की वजह से, अधिक सामान्य self-hosting की सुविधा देता है, जबकि Synch की संरचना Cloudflare पर निर्भर है.
इसके बजाय, फोकस इस बात पर रखा गया है कि जो लोग server setting करना नहीं जानते, वे भी सिर्फ़ एक मुफ़्त Cloudflare account के साथ एक बटन दबाकर deploy करें और तुरंत इस्तेमाल शुरू कर सकें।