- फ़ाइल स्टोरेज के लिए S3-केंद्रित infrastructure लगभग de facto standard बन चुका है, लेकिन personal project या self-hosting environment में WebDAV अब भी एक उपयोगी alternative के रूप में सामने आता है
- लेखक बताते हैं कि वे S3 की जटिलता और dependency से थक चुके थे, और इसलिए simple authentication-आधारित file storage के लिए फिर से WebDAV इस्तेमाल करने लगे
- WebDAV को MacOS Finder, Windows Explorer, rclone, curl जैसे कई tools में built-in support मिलता है, इसलिए इसकी accessibility अच्छी है
- Apache, Nginx, Caddy जैसे प्रमुख web server पर सरल configuration से हर user के लिए private directory बनाई जा सकती है, और इसे LDAP authentication जैसी प्रणालियों से भी जोड़ा जा सकता है
- अपना file management infrastructure सरल रखना चाहने वाले developer, जो cloud dependency से बाहर निकलना चाहते हैं, उनके लिए WebDAV अब भी एक practical विकल्प है
S3-केंद्रित file storage की समस्याएँ
- FTP लगभग गायब हो चुका है, और SFTP की संरचना SSH और Unix authentication पर ज़रूरत से ज़्यादा निर्भर होने के कारण असुविधाजनक है
- AWS S3 de facto industry standard बन जाने के बाद ज़्यादातर web app को S3 connection को ध्यान में रखकर design किया जाता है
- यह Amazon के लिए फायदेमंद है, लेकिन बाकी users के लिए असुविधाजनक हो सकता है
- personal project या self-hosting environment में S3 के जटिल features की ज़रूरत नहीं होती; अक्सर सिर्फ authenticated file storage ही काफ़ी होता है
- लेखक ने S3 का इस्तेमाल बंद कर WebDAV अपनाया, और दूसरे developers को भी यही विकल्प सोचने की सलाह दी
किन users और requirements के लिए WebDAV उपयुक्त है
- WebDAV उन personal users या छोटे projects के लिए उपयुक्त है जिन्हें file system स्तर पर HTTP access चाहिए
- ज़रूरी features: authentication, file write, efficient sync, default private setting, और आसानी से public access में बदलने की सुविधा
- गैर-ज़रूरी features: advanced ACL, signed URL, versioning, hierarchical storage, lifecycle rules, quota आदि
- ये ज़रूरतें ज़्यादातर individual developers को समझ में आने वाली हैं, और इनके लिए OpenStack Swift, CEPH, Minio जैसे जटिल systems चलाने की आवश्यकता नहीं है
- खासकर Minio ने हाल में management UI को बड़े पैमाने पर हटा दिया और manual JSON policy file लिखने का तरीका अपनाया, जिससे simple file storage के लिए यह और कम उपयोगी हो गया
WebDAV की accessibility और tool support
- WebDAV को कई operating systems और tools में built-in support मिलता है
- MacOS Finder: “Connect to Server” मेन्यू में
https://... दर्ज करें
- Windows Explorer: “Map Network Drive” या “Add a network location” फीचर
- CLI और apps: rclone, curl, CyberDuck, WinSCP, Filezilla आदि
- बहुत से लोग WebDAV को पुरानी तकनीक मानते हैं, लेकिन वास्तव में अधिकांश web server इसे built-in support देते हैं
- Apache, Nginx, Caddy, Lighttpd, IIS आदि में इसे आसानी से enable किया जा सकता है
- OwnCloud, NextCloud आदि भी WebDAV-आधारित access का उपयोग करते हैं
WebDAV के वास्तविक उपयोग के उदाहरण
- WebDAV पहले से ही CardDAV, CalDAV के रूप में contacts और calendar sync के लिए उपयोग हो रहा है
- यानी user बिना जाने भी रोज़मर्रा में WebDAV-आधारित services इस्तेमाल कर रहे हो सकते हैं
- लेखक ने Apache-आधारित WebDAV setup बनाया और LDAP authentication जोड़कर हर user के लिए private directory access लागू किया
- Caddy में user-specific directory separation और भी आसानी से configure की जा सकती है, लेकिन Apache में भी यह पूरी तरह संभव है
- Apache configuration थोड़ा जटिल है, लेकिन multi-user environment में privacy सुनिश्चित की जा सकती है
Apache-आधारित WebDAV configuration का उदाहरण
- Apache में ज़रूरी modules:
mod_dav, mod_dav_fs, mod_dav_lock
- पुराने clients के compatibility के लिए
BrowserMatch setting भी शामिल है
- मुख्य configuration elements
DavLockDB, DavMinTimeout, DavDepthInfinity आदि से WebDAV behavior नियंत्रित किया जाता है
AuthType Basic, AuthBasicProvider ldap आदि के ज़रिए LDAP authentication जोड़ा जाता है
RewriteEngine का उपयोग कर login किया हुआ user केवल अपनी directory तक ही पहुँच सके, यह सुनिश्चित किया जाता है
/usr/local/www/webdav के नीचे username के समान directory बना दी जाए, तो वह user authentication के बाद अपनी जगह का उपयोग कर सकता है
WebDAV के उपयोग के मामले और विस्तार की संभावनाएँ
- लेखक WebDAV को निम्न apps के साथ इस्तेमाल कर रहे हैं
- Joplin: अपने server पर notes sync करने वाला app
- Keepassium: iOS/MacOS के लिए Keepass client
- VLC, Infuse: media streaming और playback
- rclone: static blog publish करने के लिए file sync (NFS/SMB से तेज़ और VPN की ज़रूरत नहीं)
- साथ ही लेखक ने Altmount नाम का नया project भी खोजा
- Usenet पर पोस्ट किए गए content को download किए बिना सीधे “mount” करके access किया जा सकता है
- Usenet तक आसानी से multi-gigabit access मिलना उन्हें दिलचस्प लगा
2 टिप्पणियां
घर के इन्फ्रास्ट्रक्चर के अंदर तो मैं NFS या SMB इस्तेमाल करता हूँ, और बाहर के लिए WebDAV अच्छी तरह इस्तेमाल कर रहा हूँ, हाहा
Hacker News टिप्पणियाँ
इससे WebDAV servers के बीच sync या mount करना संभव है, और local filesystem, S3, Google Drive आदि को WebDAV server के रूप में expose भी किया जा सकता है
RFC, FTP से बेहतर है, लेकिन implementations के बीच अंतर की वजह से अब भी non-standard behavior बहुत मिलता है, इसलिए कई workarounds की ज़रूरत पड़ती है
modification time या hash सेट करना डिफ़ॉल्ट रूप से संभव नहीं है, लेकिन ownCloud, Nextcloud जैसी implementations इसे support करती हैं
HTTP और TLS आधारित होने की वजह से यह SFTP से काफ़ी तेज़ है
NFS भी TCP आधारित है और encryption संभव है, लेकिन Windows में इसका support कमज़ोर है और macOS में ही default support है
वहीं WebDAV दोनों platforms पर अच्छी तरह काम करता है
अभी मैं davx5 इस्तेमाल करता हूँ, लेकिन files access करना असुविधाजनक है
यह पहले से बनी mTLS infrastructure के साथ अच्छी तरह फिट बैठता है, इसलिए मैं WebDAV को prefer करता हूँ
server side पर sftpgo इस्तेमाल कर रहा हूँ
यह सिर्फ Amazon की technology नहीं है, Garage S3 जैसे EU Horizon समर्थित open source projects भी हैं
https://garagehq.deuxfleurs.fr/
उदाहरण के लिए Tailscale Drive Share WebDAV आधारित है, और Fastmail का file storage भी WebDAV से access किया जा सकता है
WebDAV काफ़ी शानदार technology है
यह बहुत अच्छी तरह काम करता है
Windows और macOS दोनों में built-in support है, लेकिन आम users इसकी पहुँच में नहीं हैं
Windows में यह सिर्फ WSL के लिए है, macOS में सिर्फ virtualization के लिए, इसलिए अफ़सोस होता है
अगर UI से सीधे 9p mount किया जा सके तो शानदार होगा
यह NextCloud client (desktop/Android) के साथ compatible है, और Gnome Online Accounts या Nautilus में भी इस्तेमाल किया जा सकता है
https://codeberg.org/lunae/dav-next
अभी packaging या binary releases नहीं हैं, लेकिन feedback का स्वागत है
हमारी कंपनी के cloud platform में भी WebDAV के ज़रिए drive की तरह access देने वाला feature विकसित किया जा रहा है
HTTP आधारित infrastructure को वैसे का वैसा इस्तेमाल किया जा सकता है, इसलिए अतिरिक्त complexity लगभग नहीं है
उबाऊ लेकिन स्थिर technology ही आखिरकार लंबे समय तक टिकती है
और यह एक open standard भी है
अब भी कई shared hosting services FTP upload की सलाह देती हैं
SSH key या SFTP भी संभव है, लेकिन documentation में अब भी FileZilla जैसे FTP tools का ज़िक्र होता है
OVHcloud का FTP guide
अब भी बिना encryption वाले protocol का इस्तेमाल हो रहा है, यह मानना मुश्किल है
ऐसी hosting को मैं तुरंत बाहर कर दूँगा
software distribution या academia में इसके इस्तेमाल वाले दिन याद आते हैं, लेकिन अब इसके लिए लगभग आख़िरी उपयोग ही बचे हैं
इससे कई iCloud accounts इस्तेमाल करने वाले users के बीच sync संभव है, और Dropbox subscription की भी ज़रूरत नहीं पड़ती
यह CloudKit से तेज़ है और maintenance का बोझ भी कम है
लगता है इसे आगे भी लंबे समय तक इस्तेमाल कर पाऊँगा
इसमें web scraper भी शामिल है, इसलिए LLM chatbot के markdown storage के लिए यह अच्छा है
आजकल ज़्यादातर vendors S3 API compatibility देते हैं
आखिरकार यह protocol itself के बारे में बात लगती है