वेब पेज से आपको अपनी फ़ाइल देने से पहले क्या होना ज़रूरी है
आप वीडियो देख सकते हैं। यह वहीं, वेब ब्राउज़र में चल रहा है। तो इसे रखने का कोई तरीक़ा क्यों नहीं है? जवाब है कि एक वेब पेज शायद ही कभी कोई फ़ाइल थमाता है — यह निर्देश थमाता है, और ब्राउज़र उनसे जो फ़ाइल बनाता है वह शायद एक चीज़ के रूप में मौजूद ही न हो।
FoxDL एक पेज वीडियो देने के चार तरीक़े, इनमें से सिर्फ़ एक फ़ाइल है
सबसे पुराना और सबसे आसान है एक डायरेक्ट फ़ाइल: पेज .mp4 पर ख़त्म होने वाले पते की ओर इशारा करता है और ब्राउज़र इसे लाता है। अगर आप वह पता ढूंढ लें, तो फ़ाइल आपके पास है। ज़्यादातर छोटी साइट, फ़ोरम, न्यूज़ आउटलेट और फ़ाइल होस्ट अभी भी इसी तरह काम करते हैं।
दूसरा है अडैप्टिव स्ट्रीमिंग — HLS या DASH। पेज एक प्लेलिस्ट लोड करता है जो कई क्वालिटी स्तरों पर सैकड़ों छोटे सेगमेंट लिस्ट करती है, और प्लेयर इन्हें चलते-चलते जोड़ता है, आपका कनेक्शन बदलने पर क्वालिटी बदलता है। ढूंढने के लिए कोई एक फ़ाइल नहीं है। इसे सेव करने का मतलब है हर सेगमेंट लाना और उनसे एक फ़ाइल दोबारा बनाना।
तीसरा है एक blob URL। पेज ने पहले ही JavaScript से डेटा ला लिया है और प्लेयर को ब्राउज़र की अपनी मेमोरी में रहने वाली किसी चीज़ का एक रेफ़रेंस थमा दिया है। जो पता आप देख सकते हैं (blob:https://…) उस पेज और उस सेशन के बाहर बेमानी है — इसे खोला, शेयर या डाउनलोड नहीं किया जा सकता, और यही ज़्यादातर भोले "वीडियो ढूंढने वाले" टूल को उलझा देता है।
चौथा है सुरक्षित कंटेंट: DRM सिस्टम से चलाए एन्क्रिप्टेड सेगमेंट, जहां डिक्रिप्शन की ब्राउज़र को ऐसी शर्तों पर जारी होती है जो साफ़ तौर पर कॉपी रखने से मना करती हैं। यह कोई ऐसी बाधा नहीं जिसे तोड़ना है; यह वह तंत्र है जिस पर लाइसेंस समझौता बना है, और कोई भी वैध टूल इसे हरा नहीं सकता।
वेब ब्राउज़र कैसे नोटिस करता है कि सेव करने के लिए कुछ है
एक इन-ऐप वेब ब्राउज़र जो पाई गई चीज़ को सेव करने का ऑफ़र देता है वह एक साथ कई काम कर रहा होता है। हर एक उस मामले को पकड़ता है जो बाक़ी छोड़ देते हैं।
- पेज के मीडिया एलिमेंट पढ़ना
- दस्तावेज़ में
<video>,<audio>और<source>टैग ढूंढना और इनके पते पढ़ना। डायरेक्ट-फ़ाइल मामले को तुरंत पकड़ता है, पेज लोड होने के बाद JavaScript से बनी हर चीज़ छोड़ देता है। - Shadow DOM के अंदर देखना
- आधुनिक प्लेयर कस्टम एलिमेंट हैं जिनके अंदरूनी हिस्से जान-बूझकर पेज से सील किए गए हैं। सामान्य दस्तावेज़ पर रुक जाने वाली खोज को वहां एक ख़ाली डिब्बा दिखता है जहां वीडियो है।
- पेज ने असल में क्या मांगा वह देखना
- ब्राउज़र को पता है पेज ने कौन-सा हर रिसोर्स लाया। एक मीडिया फ़ाइल जो लोड हुई — किसी भी स्क्रिप्ट ने मांगी हो, कभी भी — यहां दिखती है भले दिखने वाले पेज में कुछ भी इसकी ओर इशारा न करे।
- रिस्पॉन्स टाइप सूंघना
.phpपर ख़त्म होने वाला URL वीडियो लौटा सकता है, और.mp4पर ख़त्म होने वाला URL एक एरर पेज लौटा सकता है। सर्वर ने असल में जोContent-Typeभेजा वही बताता है कि कौन-सा है — एक्सटेंशन एक अंदाज़ा भर हैं।
पेज से सेव करना जब काम करता है तो कैसा दिखता है
क्रम मायने रखता है। ज़्यादातर फ़ेलियर दूसरा स्टेप छोड़कर एक लॉगिन पेज का चार-गीगाबाइट ट्रांसफ़र शुरू करने से आते हैं।
-
पहले मीडिया का एक सेकंड चलाएं
कई पेज तब तक कुछ लोड नहीं करते जब तक प्लेबैक शुरू न हो। दो सेकंड चलाना अक्सर उम्मीदवारों की ख़ाली लिस्ट और भरी लिस्ट के बीच का फ़र्क़ होता है।
-
देखें उम्मीदवार असल में क्या है
तय करने से पहले, बताए गए साइज़ और टाइप को देखें। 14 KB की "फ़िल्म" एक HTML पेज है। जहां आपने
video/mp4की उम्मीद की थी वहांtext/htmlटाइप का मतलब है आपके पास ग़लत लिंक है। -
अपनी चाहिए वाली क्वालिटी चुनें
एक स्ट्रीम आमतौर पर कई देती है। फ़ोन पर सबसे ऊंची हमेशा सही जवाब नहीं होती, जहां फ़र्क़ अदृश्य है और स्टोरेज नहीं है।
-
सेशन को साथ ले जाने दें
सुरक्षित लिंक जांचते हैं कौन पूछ रहा है: आपके लॉग-इन सेशन की कुकी, आपको भेजने वाला पेज, कभी-कभी ब्राउज़र की पहचान। बिना इनके शुरू हुआ डाउनलोड 403 पाता है भले ही पेज ठीक चला हो।
-
जो पहुंचा उसे जांचें
इसे खोलें। जो फ़ाइल दो सेकंड चले और रुक जाए वह अधूरी रह गई थी — आमतौर पर एक एक्सपायर लिंक — और रखने के बजाय दोबारा शुरू करने लायक़ है।
इन-ऐप वेब ब्राउज़र को क्या सही करना ज़रूरी है
मीडिया ढूंढने से आगे, ये वे चीज़ें हैं जो तय करती हैं कि डाउनलोड असल में पूरा होता है या नहीं।
- सेशन को डाउनलोड तक ले जाएं
कुकी, referer और यूज़र एजेंट को रिक्वेस्ट के साथ सफ़र करना चाहिए। इनके बिना एक सुरक्षित लिंक पेज पर तो खुलता है पर डाउनलोडर में फ़ेल हो जाता है।
- उन क्रेडेंशियल को स्टोरेज से बाहर रखें
सेशन कुकी सेशन की लंबाई तक पासवर्ड जितनी ही अच्छी होती हैं। इनकी जगह ट्रांसफ़र की अवधि तक मेमोरी में है, कहीं और नहीं — न किसी डेटाबेस में, न किसी लॉग में।
- लिंक को दूसरे ऐप को थमाने से मना करें
iOS किसी टैप किए लिंक को किसी दूसरे ऐप में ख़ुशी-ख़ुशी खोल देगा अगर वह उस डोमेन का दावा करे। मीडिया सेव करने के लिए बना वेब ब्राउज़र को ख़ुद नेविगेशन रद्द करके दोबारा जारी करना पड़ता है, नहीं तो जो पेज आप चाहते थे वह किसी और के ऐप में ग़ायब हो जाता है।
- रेंडर होने से पहले पेज को ट्रिम करें
यहां एक कंटेंट ब्लॉकर सिर्फ़ विज्ञापन के बारे में नहीं है — कम ट्रैकर और ओवरले मतलब मीडिया लिस्ट में कम झूठे उम्मीदवार।
- वीडियो के साथ-साथ दस्तावेज़ भी संभालें
PDF, ZIP और Office फ़ाइलें वेब से लोग जो सेव करते हैं उसका दूसरा आधा हिस्सा हैं, और इन्हें बाक़ी सब जैसी ही लाइब्रेरी में उतरना चाहिए।
आम तौर पर उठने वाले सवाल
Safari ख़ुद यह क्यों नहीं कर सकता?
Safari फ़ाइलें डाउनलोड करता है — iOS 13 से करता आ रहा है। यह जो नहीं करता वह है किसी पेज को उस मीडिया के लिए जांचना जो लिंक होने के बजाय स्ट्रीम हो रहा है, या सेगमेंट में बंटी स्ट्रीम को दोबारा फ़ाइल बनाना। यह एक वेब ब्राउज़र है, और यह काम एक डाउनलोड मैनेजर का है।
blob URL क्या है और मैं इसे डाउनलोड क्यों नहीं कर सकता?
यह उस डेटा का एक हैंडल है जो पेज पहले से मेमोरी में रखता है। इसका उस टैब के बाहर कोई अस्तित्व नहीं, इसलिए इसे कहीं भी पेस्ट करने से कुछ नहीं निकलता। असली मीडिया कहीं असली से लाया गया था, और वह पता — blob नहीं — ढूंढने लायक़ है।
पेज ठीक चलता है पर डाउनलोड को 403 मिलता है। क्यों?
डाउनलोड रिक्वेस्ट उन चीज़ों के बिना पहुंची जो पेज के पास थीं: आपकी सेशन कुकी, रेफ़र करने वाला पेज, कभी-कभी मेल खाती ब्राउज़र पहचान। सर्वर ठीक इसी मेल से एक दर्शक और एक स्क्रेपर में फ़र्क़ करते हैं।
क्या सब कुछ सेव किया जा सकता है?
नहीं, और यह जान-बूझकर है। DRM से सुरक्षित कंटेंट ऐसी की से एन्क्रिप्ट होता है जो एक लाइसेंस के तहत जारी होती है जो इसे रखने से मना करता है। कुछ साइट हर सेगमेंट को अलग से छोटी उम्र के टोकन से साइन भी करती हैं। दोनों इरादे के मुताबिक़ काम कर रहे हैं।
FoxDL के अंदर का वेब ब्राउज़र
यह एक सामान्य टैब वाला वेब ब्राउज़र है जिसका काम चीज़ों को आपकी लाइब्रेरी में लाना है, आपका रोज़मर्रा का ब्राउज़र होना नहीं।
- छह डिटेक्शन चैनल, जिसमें Shadow DOM और पेज ने असल में क्या मांगा इसका रिकॉर्ड शामिल है, इसलिए पूरी तरह JavaScript में बना प्लेयर भी दिखता है।
- असली टाइप एक्सटेंशन से अंदाज़े के बजाय रिस्पॉन्स से सूंघा जाता है, और
blob:उम्मीदवार जिन्हें लाया नहीं जा सकता उन्हें दिखाकर फ़ेल करने के बजाय छांट दिया जाता है। - कुकी, referer और यूज़र एजेंट डाउनलोड तक ले जाए जाते हैं ताकि सुरक्षित लिंक खुले — और इनमें से कुछ भी कभी डिस्क पर नहीं लिखा जाता।
- एक कंटेंट ब्लॉकर रेंडर होने से पहले पेज ट्रिम करता है।
- PDF, ZIP और दस्तावेज़ एक टैप में मीडिया जैसी ही लाइब्रेरी में सेव होते हैं।
- टैब, बुकमार्क और आपके अपने शॉर्टकट का एक स्टार्ट पेज।
FoxDL अपना कोई कंटेंट नहीं देता। आप जो सेव करते हैं वह वह है जो आप लाए, और इसे रखने का अधिकार होने के लिए आप ज़िम्मेदार हैं।
अक्सर पूछे जाने वाले प्रश्न
- मैं किसी वेब पेज से फ़ाइल कैसे डाउनलोड करूं?
- क्या FoxDL किसी HLS (m3u8) स्ट्रीम को डाउनलोड कर सकता है?
- क्या ऐप छोड़ने पर भी डाउनलोड चलते रहते हैं?
- क्या FoxDL IPTV चैनल, फ़िल्में या स्ट्रीम देता है?
और पढ़ें
डाउनलोड मैनेजर वह क्या करता है जो वेब ब्राउज़र नहीं करेगा
ऐप बदलते ही ट्रांसफ़र क्यों रुकते हैं, रिज़्यूम करने के लिए असल में क्या चाहिए, और स्ट्रीम फ़ाइल कैसे बनते हैं।
आपके फ़ोन पर मौजूद मीडिया ऐप क्या देख सकता है, और उसे क्या कभी नहीं भेजना चाहिए
मीडिया ऐप क्या देख सकता है, प्राइवेसी लेबल कैसे पढ़ें, और लॉक एन्क्रिप्शन क्यों नहीं है।
आपकी फ़ाइलें iPhone पर असल में कहां रहती हैं, और इन्हें कौन देख सकता है
सैंडबॉक्स, डाउनलोड असल में कहां जाते हैं, और फ़ाइल का नाम बदलने से इतने ऐप क्यों टूट जाते हैं।
आपकी लाइब्रेरी, आख़िरकार एक ही जगह।
मुफ़्त डाउनलोड। कोई खाता नहीं — पूरी सुविधाएँ मुफ़्त संस्करण में।