इसे कैसे इस्तेमाल करें : ज़िप और अनज़िप
ब्राउज़र दबाना तो जानता है, पर वह न CRC-32 निकालना जानता है न ज़िप का डिब्बा लिखना: ये दोनों हिस्से यहीं हाथ से लिखे गए हैं, और बनी हुई आर्काइव आपको लौटाने से पहले हमारे अपने पढ़ने वाले हिस्से से दोबारा खोली जाती है।
ईमेल के साथ लगाने के लिए तीन फ़ाइलें ज़िप कर देना मामूली काम है, और फिर भी यह उन हालतों में है जहाँ ऑनलाइन साइटें सबसे ज़्यादा ताक-झाँक करती हैं: उन्हें वह सब कुछ मिल जाता है जो आप भेजने वाले थे, अक्सर सरकारी काग़ज़ या घर की तस्वीरें। ब्राउज़र, दूसरी ओर, यह सब बिना कुछ भेजे कर सकता है।
वह Chrome 103, Firefox 113 और Safari 16.4 से कच्चे deflate नाम वाले फ़ंक्शन से दबाना और खोलना जानता है। पर वह न वह जाँच-कोड निकालना जानता है जो ज़िप आर्काइव अपनी हर प्रविष्टि के लिए माँगती है, न ख़ुद डिब्बा लिखना। ये दोनों टुकड़े इसी औज़ार में हाथ से लिखे गए हैं, और वे हमारे आइकन बनाने वाले औज़ार से कॉपी किए हैं जिसके पास वे पहले से थे: जो फ़ॉर्मैट हम यहाँ एक बार लिख चुके हैं उसे हम दोबारा नहीं गढ़ते।
और औज़ार अपना किया हुआ दोबारा पढ़ता है। आपकी आर्काइव बनाने के बाद वह उसे अपने ही पढ़ने वाले हिस्से से दोबारा खोलता है, हर प्रविष्टि खोलकर उसका जाँच-कोड दोबारा निकालता है। जिस आर्काइव को कोई सॉफ़्टवेयर खोल ही न सके वह झूठा नतीजा है, और इस दोबारा पढ़ने के बिना यह आपको ही पता चलता, वह भी अपने पाने वाले के सामने।
इसे कैसे इस्तेमाल करें
- आर्काइव बनाने के लिए एक साथ कई फ़ाइलें डालें: औज़ार उन्हें गिनाता है, एक-एक करके दबाता है और आपको एक आर्काइव लौटा देता है।
- खोलने के लिए सिर्फ़ एक आर्काइव डालें: औज़ार दिखा देता है कि उसमें क्या है, हर प्रविष्टि के असली साइज़ के साथ, और आप चुनते हैं कि क्या निकालना है।
- दिशा अपने आप निकल आती है, और वह एक्सटेंशन से नहीं, फ़ाइल के पहले बाइटों से निकलती है: एक्सटेंशन बदला जा सकता है, दस्तख़त नहीं।
चलने वाले फ़ॉर्मैट
आर्काइव बनाने के लिए कोई भी फ़ाइलें; उसे खोलने के लिए सिर्फ़ एक ज़िप आर्काइव। ढंग डाली गई फ़ाइल के पहले चार बाइटों से निकाला जाता है, उसके नाम से नहीं।
कोई भी फ़ाइलें, आर्काइव बनाने के लिए
जितनी चाहें एक साथ डाल दें। हर एक अलग से दबाई जाती है, और दबाई तभी लगाई जाती है जब उससे सचमुच जगह बचती हो: पहले से दबे हुए किसी JPEG या PDF पर वह और भी बड़ी धारा बना देती, और तब वह प्रविष्टि जस की तस रख दी जाती है।
कोई ज़िप आर्काइव, खोलने के लिए
जस की तस रखी प्रविष्टियाँ और deflate से दबाई प्रविष्टियाँ पढ़ी जाती हैं, जो असल दुनिया की लगभग सारी आर्काइव समेट लेता है। एन्क्रिप्टेड प्रविष्टियों का नाम बता दिया जाता है और उन्हें अलग रख दिया जाता है, और Zip64 फ़ॉर्मैट वाली आर्काइव कह देकर मना कर दी जाती हैं। यह हद फ़ॉर्मैट के संदर्भ दस्तावेज़ से आती है: 65,535 से ज़्यादा प्रविष्टियाँ, या चार गीगाबाइट से ऊपर का साइज़।
इसकी सीमाएँ
प्रति फ़ाइल 200 MB
ब्राउज़र की दबाई मेमोरी में चलती है, और पूरी आर्काइव को मूल फ़ाइलों के साथ ही उसमें समाना पड़ता है। उससे ऊपर, जिस फ़ोन की मेमोरी कम पड़ जाती है वह नतीजा देने के बजाय टैब गिरा देता है: इसलिए सीमा पहले ही बता दी जाती है, और औज़ार साफ़ मना कर देता है।
पासवर्ड से सुरक्षित आर्काइव यहाँ नहीं खुलती, और हम ऐसी बनाते भी नहीं
दो अलग वजहें। खोलने पर: ज़िप फ़ॉर्मैट का पुराना एन्क्रिप्शन कमज़ोर माना जाता है, और आर्काइव का नया एन्क्रिप्शन एक निजी कंपनी का जोड़ है जिसके कई रूप साथ-साथ चलते हैं; हम आधी प्रविष्टियाँ डिक्रिप्ट करने के बजाय एन्क्रिप्टेड प्रविष्टियों का नाम बताकर उन्हें अलग रख देते हैं। लिखने पर: किसी फ़ाइल की हिफ़ाज़त के लिए सुरक्षा वाले कोने का “फ़ाइल एन्क्रिप्ट करें” औज़ार बेहतर करता है, अपनी पूरी विधि दिखाकर और चाबी बनाने के छह लाख चक्करों के साथ, जो कोई ज़िप नहीं करता।
Zip64 वाली आर्काइव मना कर दी जाती हैं, और यह कह दिया जाता है
65,535 प्रविष्टियों या चार गीगाबाइट से आगे यह फ़ॉर्मैट अपनी गिनतियाँ एक अतिरिक्त रिकॉर्ड में रख देता है, और आम ख़ाने अपनी सबसे बड़ी क़ीमत पर भर जाते हैं। हम वह रिकॉर्ड पढ़ते नहीं: आधी पढ़ी हुई आर्काइव लौटाने के बजाय औज़ार कह देता है कि वह उसे पढ़ना नहीं जानता। इतनी बड़ी आर्काइव वैसे भी साइज़ की सीमा से बाहर चली जाती है।
डाउनलोड से फ़ोल्डर दोबारा नहीं बनाए जा सकते
ब्राउज़र फ़ाइलें उतारता है, फ़ोल्डरों के ढाँचे नहीं। इसलिए किसी उप-फ़ोल्डर में रखी प्रविष्टि अपने रास्ते समेत, नाम में चपटा किया हुआ, बाहर आती है, और औज़ार यह बता देता है। इसी से उन रास्तों का फंदा भी बेअसर हो जाता है जो निकालने वाले फ़ोल्डर से बाहर चढ़ जाते हैं: हम ऊपर चढ़ाने वाले टुकड़े हटा देते हैं और यह बता देते हैं, बजाय इसके कि अपनी हिफ़ाज़त के लिए ब्राउज़र पर टिके रहें।
कई प्रविष्टियाँ निकालने पर ब्राउज़र से इजाज़त माँगनी पड़ती है
एक ही हरकत में दूसरी फ़ाइल डाउनलोड होते ही Chrome “कई फ़ाइलें डाउनलोड करें” की इजाज़त माँगता है: उसका मूल कोड एक साथ पचास डाउनलोड की हद रखता है और आपका जवाब पता बदलने तक याद रखता है। Firefox ने वही रोक बनाने की कोशिश की थी और उसे कभी दिया नहीं, यह उसके अपने बग-रिकॉर्ड में लिखा है। Safari के लिए हमें कोई पहला-हाथ स्रोत नहीं मिला। इसे चकमा नहीं दिया जा सकता और हम देना चाहते भी नहीं: भेजने के बीच 350 मिलीसेकंड की दूरी रखी जाती है, और आप हमेशा एक बार में एक ही प्रविष्टि निकाल सकते हैं।
हम जो आर्काइव लिखते हैं उन पर कोई तारीख़ नहीं होती
ज़िप आम तौर पर हर प्रविष्टि का समय दर्ज करता है। यही वह इकलौती बात होती जो फ़ाइल आपके बारे में साथ ले जाती, जबकि उसकी ज़रूरत न पाने वाले को है, न फ़ॉर्मैट को। इसलिए हम वही तारीख़ लिखते हैं जो सबसे पुरानी यह फ़ॉर्मैट होने देता है, यानी 1 जनवरी 1980: एक ही फ़ाइलों से बनी दो आर्काइव बाइट दर बाइट एक जैसी होती हैं। यह वही फ़ैसला है जो तस्वीरों वाले कोने की आइकन आर्काइव पर लगता है।
इस औज़ार के बारे में सवाल
क्या मेरी फ़ाइलें कहीं भेजी जाती हैं?
नहीं। F12 कुंजी से इंस्पेक्टर खोलें, “Network” वाला टैब खोलें, सूची ख़ाली कर दें, फिर अपनी फ़ाइलें डालें और आर्काइव बनाएँ: कुछ भी बाहर नहीं जाता। अपना इंटरनेट काटकर दोबारा करें, औज़ार तब भी चलता है। आर्काइव वाले औज़ार पर यह सबसे ज़रूरी बात है, क्योंकि उसमें आम तौर पर वह सब कुछ डाला जाता है जो आप भेजने ही वाले थे।
मेरी आर्काइव मेरी फ़ाइलों जितनी ही भारी क्यों है?
क्योंकि आपकी फ़ाइलें बहुत मुमकिन है कि पहले से दबी हुई हों। JPEG फ़ॉर्मैट की कोई फ़ोटो, कोई PDF, कोई वीडियो, दफ़्तरी सॉफ़्टवेयर की कोई नई फ़ाइल: इन सब के अंदर पहले से दबाई मौजूद है, और उन पर कमाने को कुछ बचता ही नहीं। औज़ार आपको यह पंक्ति दर पंक्ति बता देता है, और ऐसी फ़ाइलों को दोबारा दबाकर बड़ा करने के बजाय जस का तस रख देता है। जो चीज़ें ख़ूब दबती हैं वे हैं लिखाई, पुरानी स्प्रेडशीट, कोड की फ़ाइलें, और बिना नुक़सान वाली तस्वीरें।
पन्ना जिस दोबारा पढ़ने की बात करता है वह असल में क्या करता है?
आर्काइव लिख लेने के बाद औज़ार उसे अपने ही पढ़ने वाले हिस्से से दोबारा खोलता है, ठीक वैसे जैसे कोई दूसरा सॉफ़्टवेयर खोलता: वह कैटलॉग ढूँढ़ता है, प्रविष्टियों पर चलता है, हर एक को खोलता है और मिले हुए बाइटों से उसका जाँच-कोड दोबारा निकालता है। किसी आर्काइव का ढाँचा बेदाग़ हो सकता है और उसका जाँच-कोड ग़लत: तब वह शक्ल की सारी जाँचें पार कर जाती और आपके पाने वाले के यहाँ गिर जाती। यह वही सख़्ती है जो इस साइट पर हर जगह है: बनी हुई फ़ाइल दोबारा पढ़ी जाती है, औज़ार की बात पर भरोसा नहीं किया जाता।
निकाली गई फ़ाइलों के फ़ोल्डर क्यों नहीं होते?
क्योंकि ब्राउज़र फ़ाइलें उतारता है, फ़ोल्डरों के ढाँचे नहीं: उसके पास आपके डिवाइस पर फ़ोल्डर बनाने का कोई रास्ता है ही नहीं, और यह अच्छी बात है। इसलिए किसी उप-फ़ोल्डर में रखी प्रविष्टि अपने रास्ते समेत, नाम में चपटा किया हुआ, बाहर आती है, जिससे जानकारी बची रहती है और कोई ढाँचा गढ़ा भी नहीं जाता। इसी से आर्काइव का एक पुराना फंदा भी बेअसर हो जाता है: जिस प्रविष्टि का रास्ता निकालने वाले फ़ोल्डर से बाहर चढ़ता हो वह कहीं और कुछ लिख ही नहीं सकती, और हम फिर भी उसका नाम साफ़ कर देते हैं।
कई फ़ाइलें निकालते वक़्त ब्राउज़र मुझसे इजाज़त क्यों माँगता है?
क्योंकि जो साइट एक ही क्लिक से कई डाउनलोड चला दे, ब्राउज़र उससे सावधान रहते हैं, और ठीक ही रहते हैं। “कई फ़ाइलें डाउनलोड करें” की इजाज़त एक बार माँगी जाती है, और यहाँ उसे दे देने में कोई जोखिम नहीं क्योंकि फ़ाइलें आपकी अपनी आर्काइव से आ रही हैं। हम भेजने के बीच तीन सौ पचास मिलीसेकंड की दूरी रखते हैं, जिससे वे आपस में रद्द नहीं होतीं, और आप हमेशा एक बार में एक ही प्रविष्टि निकाल सकते हैं।
क्या आप पासवर्ड से हिफ़ाज़त जोड़ सकते हैं?
हमारा ऐसा इरादा नहीं है, और वजह बुनियादी है। ज़िप आर्काइव का पुराना एन्क्रिप्शन बहुत समय से कमज़ोर माना जाता है; नया एन्क्रिप्शन इस फ़ॉर्मैट का एक निजी जोड़ है, जिसके कई रूप हैं और सॉफ़्टवेयर दर सॉफ़्टवेयर फ़र्क़ हैं। इसलिए हम भारी मेहनत करके ऐसी हिफ़ाज़त देते जिसके बारे में ईमानदारी से यह कह ही नहीं पाते कि वह मज़बूत है। सुरक्षा वाले कोने का एन्क्रिप्शन औज़ार असली दिक़्क़त हल करता है: वह अपनी पूरी विधि दिखाता है, चाबी बनाने के छह लाख चक्कर लगाता है, और बनी हुई फ़ाइल उसी पन्ने पर डिक्रिप्ट हो जाती है।
क्या मैं पहले से मौजूद आर्काइव में कोई फ़ाइल जोड़ सकता हूँ?
सीधे नहीं: औज़ार आर्काइव खोलता है या बनाता है, उसे बदलता नहीं। रास्ता यह है कि जो चाहिए वह निकाल लें, फिर सब कुछ नई फ़ाइल समेत दोबारा डाल दें। यह एक हरकत ज़्यादा है, पर इससे मुसीबतों का पूरा एक ख़ानदान टल जाता है: जगह पर ही बदली गई आर्काइव अपने पिछले माल के निशान रख सकती है, और जो औज़ार किसी आर्काइव को पूरा दोबारा लिखे बिना उसे “ताज़ा कर देने” का वादा करता है वह उतना साफ़ नहीं है जितना दिखता है।
ब्राउज़र दबाना तो जानता है, पर वह न CRC-32 निकालना जानता है न ज़िप का डिब्बा लिखना: ये दोनों हिस्से यहीं हाथ से लिखे गए हैं, और बनी हुई आर्काइव आपको लौटाने से पहले हमारे अपने पढ़ने वाले हिस्से से दोबारा खोली जाती है।
जाँचेंसबूत, कदम दर कदमनेटवर्क इंस्पेक्टर से जाँच, एक-एक हरकत समझाई हुई, तस्वीरों के साथ।
यह कोनारोज़मर्रा वाला कोनाइकाइयाँ बदलना और यह भी बताना कि हर गुणक कहाँ से आया, घड़ी बदलने के झाँसे में आए बिना तारीख़ें निकालना, किसी रिकॉर्डिंग को काटना, किसी फ़ोल्डर को ज़िप करना। वे औज़ार जो महीने में एक बार ढूँढे जाते हैं और कभी मिलते नहीं।