// tier: vasic-util-secondary · order 21

Catalogizer productionlicense: UNVERIFIED

GoGinTypeScriptReactTailwindWebSocketsSQLCipherPostgreSQLRedisSMB/FTP/NFS/WebDAVPrometheusOpenTelemetryDockerTauri/RustS3Google Cloud Storage

Source

Catalogizer — layered architecture · multi-protocol fan-out Clients Encrypted data layer Multi-protocol fan-out Web UI · React + Tailwind Desktop · Tauri / Rust Realtime · WebSockets Catalogizer Core Go + Gin · unified API SQLCipher encrypted catalog PostgreSQL Redis cache Prometheus · OTel metrics · traces SMB · FTP · NFS · WebDAV storage sources S3 · Google Cloud Storage object storage
// architecture

उन्नत बहु-प्रोटोकॉल मीडिया संग्रह प्रबंधन — आपके पास मौजूद हर चीज़ का पता लगाएँ, सूचीबद्ध करें और समृद्ध करें।

Catalogizer एक स्व-होस्ट करने योग्य मीडिया संग्रह प्रबंधन प्रणाली है जो स्वचालित रूप से SMB, FTP, NFS, WebDAV और स्थानीय फाइल सिस्टम पर फैले मीडिया का पता लगाती, वर्गीकृत करती और व्यवस्थित करती है। इसमें रियल-टाइम निगरानी, एन्क्रिप्टेड भंडारण, बाहरी मेटाडेटा संवर्धन और एक आधुनिक React यूज़र इंटरफ़ेस शामिल है, जिसे उच्च-प्रदर्शन वाले Go API द्वारा समर्थित किया गया है।

एक उत्पादन-स्तरीय, बहु-प्रोटोकॉल मीडिया लाइब्रेरी प्रबंधक। Go/Gin REST API, SMB/FTP/NFS/WebDAV/स्थानीय स्रोतों पर 50 से अधिक मीडिया प्रकारों का पता लगाता है, TMDB/IMDB/MusicBrainz/Steam और अन्य स्रोतों से जानकारी समृद्ध करता है, और एक एन्क्रिप्टेड SQLCipher डेटाबेस पर रियल-टाइम React वेब ऐप के रूप में सेवा प्रदान करता है।

अधिकांश मीडिया प्रबंधक आपसे पहले ही आत्मसमर्पण करवा लेते हैं: सब कुछ एक डिस्क पर, एक प्रारूप में, एक प्रकार का रखें, तभी वे मदद करेंगे। Catalogizer इसके विपरीत सिद्धांत से शुरू होता है — आपका संग्रह पहले से ही वहीं है जहाँ वह है, NAS शेयरों और प्रोटोकॉलों में फैला हुआ है जो कभी सहमत नहीं होंगे — और वहीं पर उससे मिलता है। यह उन प्रोटोकॉलों को समझता है जिनका उपयोग स्टोरेज पहले से करता है — SMB/CIFS, FTP/FTPS, NFS, WebDAV और स्थानीय फाइल सिस्टम — एक एकीकृत क्लाइंट एब्स्ट्रैक्शन के पीछे, ताकि विंडोज शेयर, FTP संग्रह और WebDAV माउंट ऊपर की परतों के लिए एक जैसे दिखें और इन्हें मिलाया, बदला या हटाया जा सके बिना एप्लिकेशन कोड को छुए। एक Go बैकएंड (Gin REST API) इन स्रोतों पर लगातार नज़र रखता है, जैसे ही फ़ाइलें प्रकट होती हैं, 50 से अधिक मीडिया प्रकारों (फिल्में, टीवी शो, संगीत, गेम, सॉफ़्टवेयर, वृत्तचित्र) का पता लगाता और वर्गीकृत करता है, और प्रत्येक आइटम को बाहरी प्रदाताओं — TMDB, IMDB, TVDB, MusicBrainz, Spotify, Steam और अन्य — से समृद्ध करता है, ताकि एक साधारण फ़ाइल नाम एक पूर्ण विशेषताओं वाली कैटलॉग प्रविष्टि बन जाए जिसमें कलाकृति, कलाकार और मेटाडेटा शामिल हो। परिणाम WebSockets के माध्यम से TypeScript React फ्रंटएंड पर स्ट्रीम होते हैं, ताकि लाइब्रेरी में इंगेशन के दौरान ही लाइव अपडेट हो जाए, न कि मैन्युअल रिफ्रेश पर, और मेटाडेटा का हर बाइट एक एन्क्रिप्टेड SQLCipher डेटाबेस में संग्रहीत होता है, जिसे JWT-आधारित, भूमिका-आधारित प्रमाणीकरण द्वारा नियंत्रित किया जाता है।

जहाँ अधिकांश कैटलॉगर एक शेयर के गिरते ही चुपचाप असफल हो जाते हैं, वहीं Catalogizer को आउटेज के दौरान भी उपयोगी बने रहने के लिए इंजीनियर किया गया है। अस्थायी SMB विफलता को एक्सपोनेंशियल-बैकऑफ़ पुनःकनेक्शन, सर्किट-ब्रेकर (जो मृत होस्ट को बार-बार हिट करने से रोकता है), निरंतर स्वास्थ्य निगरानी और एक ऑफ़लाइन मेटाडेटा कैश द्वारा संभाला जाता है, जो अंतिम ज्ञात अच्छी स्थिति से उपयोगकर्ता अनुरोधों का उत्तर देता रहता है — यह अंतर है "एक NAS के रीबूट होने पर पूरा ऐप डाउन हो जाता है" और "एक स्रोत में खराबी है और बाकी सब काम करता है" के बीच। कैटलॉगिंग के अलावा, यह संग्रह के लिए एक परिचालन उपकरण के रूप में भी काम करता है: वृद्धि के रुझानों और गुणवत्ता/संस्करण ट्रैकिंग पर विश्लेषण, पेशेवर PDF रिपोर्ट जनरेशन, PDF-से-इमेज/टेक्स्ट/HTML रूपांतरण सेवा, पसंदीदा निर्यात/आयात (JSON/CSV), और S3, Google क्लाउड स्टोरेज या स्थानीय फ़ोल्डरों के साथ सिंक। और यह कोई ऐसा मोनोलिथ नहीं है जो बड़ा हो गया हो — यह जानबूझकर 21 पुन: प्रयोज्य digital.vasic.* Go सबमॉड्यूल्स और TypeScript क्लाइंट पैकेजों से बना है, जिनमें से प्रत्येक स्वतंत्र रूप से परीक्षित और संस्करणित है, ताकि वही प्रमाणित प्रमाणीकरण, फाइल सिस्टम, स्ट्रीमिंग और अवलोकन क्षमताएँ जो Catalogizer को चलाती हैं, व्यापक उत्पाद परिवार को भी शक्ति प्रदान करती हैं। गुणवत्ता आश्वासन स्व-घोषित नहीं है: Challenges फ्रेमवर्क और HelixQA हर विज्ञापित क्षमता को प्रमाण-आधारित सत्यापन के लिए बाध्य करते हैं।

सामग्री

मौजूदा मीडिया प्रबंधक एकल भंडारण बैकएंड और एकल मीडिया प्रकार की धारणा पर आधारित होते हैं। वास्तविक संग्रह कई NAS शेयरों और प्रोटोकॉल पर फैले होते हैं, किसी शेयर के गिरने पर खराब हो जाते हैं, और फिल्मों, संगीत, गेम्स और सॉफ़्टवेयर का मिश्रण होते हैं। Catalogizer को सभी प्रोटोकॉल को समान रूप से संभालने, अस्थिर नेटवर्क भंडारण में भी काम करने, और हर चीज़ पर एक आधिकारिक, समृद्ध, एन्क्रिप्टेड कैटलॉग प्रदान करने के लिए बनाया गया।

यह एक स्व-होस्टेड, एन्क्रिप्टेड पैकेज में उन सभी सुविधाओं को समाहित करता है जिन्हें सामान्यतः अलग-अलग टूल्स के ढेर की ज़रूरत होती है: प्रोटोकॉल-अज्ञेय अंतर्ग्रहण जो हर भंडारण बैकएंड को समान महत्व देता है, लचीलापन जो भंडारण में व्यवधान आने पर कैटलॉग को सक्रिय रखता है बजाय इसके कि वह भी क्रैश हो जाए, और समृद्ध बहु-प्रदाता संवर्धन जो कच्ची फ़ाइलों को एक ब्राउज़ करने योग्य, विशेषताओं से युक्त लाइब्रेरी में बदल देता है। निकाले गए मॉड्यूल आर्किटेक्चर का लाभ संचयी होता है: फ़ाइलसिस्टम क्लाइंट में किया गया कोई भी सुधार या नया प्रदाता प्लगइन एक बार लागू होने पर हर उपभोक्ता के लिए काम करता है, जिससे Catalogizer अपने आसपास के सिस्टम के साथ लगातार बेहतर होता जाता है। संक्षेप में, यह एक मीडिया इंडेक्स और एक मीडिया *सिस्टम* के बीच का अंतर है—एक जिसे आप स्वयं के मालिक हैं, जो अस्थिर बुनियादी ढाँचे में भी काम करता है, और जिसकी आंतरिक कार्यप्रणाली वादों पर नहीं, बल्कि सिद्ध तथ्यों पर आधारित है।

  • एकीकृत बहु-प्रोटोकॉल फ़ाइलसिस्टम क्लाइंट (SMB/FTP/NFS/WebDAV/स्थानीय) एक ही इंटरफ़ेस के पीछे।
  • ऑफ़लाइन कैश + सर्किट ब्रेकर ताकि भंडारण में व्यवधान आने पर भी कैटलॉग प्रयोग करने योग्य बना रहे।
  • 21 पुनः प्रयोग योग्य digital.vasic.* Go सबमॉड्यूल्स और TS क्लाइंट मॉड्यूल्स में पूर्ण निष्कर्षण।
  • आराम से एन्क्रिप्टेड कैटलॉग (SQLCipher) जिसमें UI के साथ वास्तविक समय में WebSocket सिंक होता है।
  • चुनौतियों के ढाँचे और HelixQA एकीकरण के माध्यम से साक्ष्य-आधारित गुणवत्ता आश्वासन।

  • अस्थिर नेटवर्क भंडारण: इसे घातांकीय बैकऑफ़, सर्किट ब्रेकर, स्वास्थ्य जाँच और निष्कासन-नीति आधारित ऑफ़लाइन कैश के माध्यम से हल किया गया, जो स्रोतों के अनुपलब्ध होने पर कैश्ड मेटाडेटा प्रदान करता है।
  • प्रोटोकॉल विविधता: इसे हर प्रोटोकॉल को एक सामान्य digital.vasic.filesystem क्लाइंट के पीछे अमूर्त करके हल किया गया, ताकि उच्च स्तर के लेयर प्रोटोकॉल से अनजान रहें।
  • डेटा सुरक्षा: इसे SQLCipher आराम से एन्क्रिप्शन और JWT/RBAC प्रमाणीकरण तथा अनुरोध स्वच्छता मिडलवेयर के माध्यम से हल किया गया।
  • विस्तार पर रखरखाव: इसे सभी सामान्य तर्कों को एक मोनोलिथ के बजाय स्वतंत्र रूप से परीक्षित सबमॉड्यूल्स में निकालकर हल किया गया।

  • Go + Gin — उच्च प्रदर्शन वाला REST API कोर (catalog-api); निरंतर निगरानी कार्यभार पर समवर्तीता और थ्रूपुट के लिए चुना गया।
  • TypeScript + React + Tailwind (Vite) — वास्तविक समय में अपडेट होने वाला प्रतिक्रियाशील catalog-web UI।
  • WebSockets — बैकएंड हब और UI के बीच लाइव डेटा सिंक्रोनाइज़ेशन।
  • SQLCipher (एन्क्रिप्टेड SQLite) — आराम से एन्क्रिप्टेड मेटाडेटा स्टोर; digital.vasic.database के माध्यम से दोहरा SQLite/PostgreSQL समर्थन।
  • SMB/FTP/NFS/WebDAV क्लाइंट्सdigital.vasic.filesystem के माध्यम से बहु-प्रोटोकॉल अंतर्ग्रहण।
  • बाहरी मेटाडेटा API (TMDB, IMDB, TVDB, MusicBrainz, Spotify, Steam) — संवर्धन के लिए प्रदाता प्लगइन्स।
  • Prometheus + OpenTelemetrydigital.vasic.observability के माध्यम से मेट्रिक्स/ट्रेसिंग।
  • Docker / बिल्डर कंटेनर — पुनरुत्पादनीय बिल्ड (Tauri/Rust को catalogizer-builder के माध्यम से रूट किया गया)।
  • Redisdigital.vasic.cache / ratelimiter के माध्यम से कैशिंग/रेट सीमित करना।
  • S3 / Google क्लाउड स्टोरेज — क्लाउड सिंक और चेकपॉइंट भंडारण।