यह है क्या
abox.tools छोटे-छोटे टूल का एक जमावड़ा है, और हर टूल एक ही काम करता है: फ़ोटो का साइज़ बदलना, वीडियो में से एक हिस्सा काटना, दो PDF जोड़ना, यह पढ़ना कि किसी QR कोड के भीतर असल में है क्या। अभी इनकी गिनती 44 है, और साथ में गाइड का एक पूरा संग्रह है जो बताता है कि ये टूल किन कामों के लिए हैं।
अनोखी बात यह नहीं है कि ये क्या करते हैं, बल्कि यह है कि कहाँ करते हैं। इनमें से हर टूल पूरी तरह आपके ब्राउज़र के भीतर चलता है, आपके अपने हार्डवेयर पर, उन्हीं डिकोडर और एनकोडर से जो आपके ब्राउज़र में पहले से मौजूद हैं। आप जो फ़ाइल खोलते हैं वह कहीं नहीं भेजी जाती। इन पेजों के पीछे ऐसा कोई सर्वर है ही नहीं जिस तक वह पहुँच सके: पूरी साइट स्टैटिक फ़ाइलों की है, और टूल उनके बगल में रखे साधारण JavaScript मॉड्यूल भर हैं।
प्रोडक्ट यही है। इस पेज पर बाकी सब इस बारे में है कि इसे ऐसे बनाना क्यों सही है, और बना कौन रहा है।
बनाता कौन है
एक आदमी, अकेले, कनाडा के ओंटारियो प्रांत में। यह कोई कंपनी नहीं है। न कोई टीम है, न निवेशक, न कोई मूल कंपनी, और न किसी के हाथों बिकने की कोई योजना। चिट्ठी [email protected] पर जाती है और उसी आदमी तक पहुँचती है जिसने कोड लिखा है; यह पता किस काम के लिए ठीक है और किसके लिए नहीं, यह संपर्क पेज पर लिखा है।
साइट जान-बूझकर किसी के नाम के बिना छापी जाती है। यह एक छोटा प्रोजेक्ट है, कोई निजी ब्रांड नहीं, और यहाँ भरोसे के लायक चीज़ पेज के नीचे लिखा कोई नाम नहीं है। भरोसे के लायक हैं कोड, जिसे कोई भी पढ़ सकता है, और खुद पेजों का बरताव, जिसे कोई भी डेवलपर टूल खोलकर तीस सेकंड में जाँच सकता है। ये दोनों जाँचे जा सकते हैं। एक नाम नहीं।
इसे ऐसा क्यों बनाया गया है
ऐसे टूल बनाने का आम तरीका यह है कि फ़ाइल अपलोड हो, काम किसी सर्वर पर हो, और नतीजा वापस भेज दिया जाए। यह आसान भी है, हर डिवाइस पर चलता भी है, और लगभग हर “फ़्री ऑनलाइन कन्वर्टर” यही करता है।
इसका मतलब यह भी है कि आप अपनी फ़ाइल एक अजनबी को सौंप रहे हैं। किसी मीम के लिए इससे फ़र्क नहीं पड़ता। पासपोर्ट की स्कैन, किसी मेडिकल इमेज, दस्तखत वाले किसी अनुबंध, या ऐसी फ़ोटो के लिए जिसके मेटाडेटा में आपके घर का पता दर्ज है, बहुत फ़र्क पड़ता है। फ़ाइल एक बार किसी और की मशीन पर पहुँच गई, तो उसके साथ क्या होगा यह उनकी नीति और उनकी सावधानी पर टिका है, और इन दोनों में से किसी की जाँच का कोई रास्ता आपके पास नहीं है। ऐसी साइट की प्राइवेसी पॉलिसी एक वादा है, कोई रोक नहीं।
ब्राउज़र अब इतने अच्छे हो चुके हैं कि उस वादे की ज़रूरत ही न रहे। वे JPEG, PNG और WebP पढ़ भी सकते हैं और लिख भी, वीडियो का कंटेनर खोलकर उसे डिकोड कर सकते हैं, किसी फ़ाइल का हैश निकाल सकते हैं, QR कोड पढ़ सकते हैं और PDF लिख सकते हैं। अगर काम आपकी अपनी मशीन पर हो सकता है, तो “क्या ये मेरी फ़ाइल रख लेंगे” किसी की नीयत का सवाल नहीं रह जाता। वह इस बात का सवाल बन जाता है कि कोड असल में कर क्या सकता है, और इसका जवाब आप खुद निकाल सकते हैं।
पूरी दलील बस इतनी है, और एक गाइड इसे ढंग से खोलकर रखती है: क्या किसी वेबसाइट पर फ़ाइल अपलोड करना सुरक्षित है?
भरोसा करने के बजाय जाँचिए
ऊपर लिखी हर बात परखे जाने के लिए ही लिखी गई है। मेहनत के हिसाब से चार तरीके:
- इंटरनेट काट दीजिए। कोई भी टूल पेज खोलिए, कनेक्शन काटिए, और फिर भी उसे इस्तेमाल कीजिए। वह चलता रहेगा, क्योंकि उसमें नेटवर्क वाला कोई कदम कभी था ही नहीं। जो टूल आपकी फ़ाइल बाहर भेजकर प्रोसेस करता, वह यहीं रुक जाता।
- नेटवर्क पर नज़र रखिए। डेवलपर टूल खोलिए, Network टैब पर जाइए, और एक फ़ाइल प्रोसेस कीजिए। एक भी रिक्वेस्ट में न आपकी फ़ाइल जाती है, न उसका थंबनेल, न उसका नाम, न उसके भीतर का एक बाइट। जो दिखेगा वह है पेज, उसकी स्क्रिप्ट, विज्ञापन, और विज़िट गिनने वाला हिस्सा।
- पेज ने खुद पर जो नियम लगाया है, उसे पढ़िए। हर पेज एक
Content-Security-Policyलेकर चलता है जिसमें वे सारे पते गिनाए गए हैं जिनसे उसे बात करने की इजाज़त है, और उनमें से एक भी इस साइट का नहीं है। कोड में गलती हो तब भी फ़ाइल कहीं नहीं भेजी जा सकती, क्योंकि ब्राउज़र वह कनेक्शन ही नहीं बनने देगा। - कोड पढ़िए। वह पूरा खुला है, न कोई बिल्ड स्टेप है न बंडलर: रिपॉज़िटरी में जो है, बाइट-दर-बाइट वही आपका ब्राउज़र चलाता है। हर टूल के साथ एक README है जो बताता है वह कैसे काम करता है, और हर टूल पेज यह भी बताता है कि पहले कौन-सी फ़ाइलें पढ़नी चाहिए।
“नेटवर्क नहीं” का ठीक एक अपवाद है, जान-बूझकर रखा गया, और वह अपने ही पेज पर विस्तार से लिखा है: टेक्स्ट शेयर आपके अपने दो डिवाइसों के बीच टेक्स्ट ले जाता है, और यह नेटवर्क के बिना हो ही नहीं सकता। वह एक ही कनेक्शन खोलता है, एक ऐसे बिचौलिए तक जो कुछ भी सहेजता नहीं और जिसे सिर्फ़ इतना बताया जाता है कि दो ब्राउज़र एक-दूसरे से मिलना चाहते हैं।
टूल बनते कैसे हैं और जाँचे कैसे जाते हैं
कोई टूल तब जारी होता है जब वह असली फ़ाइलों पर चले, न कि तब जब वह उसी फ़ाइल पर चल जाए जिसे सामने रखकर उसे लिखा गया था। असल में इसका मतलब है उसे ब्राउज़र में हाथ से, मुश्किल इनपुट के साथ चलाकर देखना: वह वीडियो जिसमें ठीक उसी जगह कीफ़्रेम नहीं है जहाँ आप काटना चाहते हैं, उस फ़ोन की HEIC जो कंटेनर थोड़ा गलत लिखता है, वह PDF जिसमें फ़ॉन्ट सिर्फ़ आधा-अधूरा जुड़ा है। लोगों के पास असल में यही होता है, और यही वह चीज़ है जो उसी आदमी की लिखी टेस्ट नहीं पकड़ पाएगी जिसने वह गड़बड़ी लिखी थी।
इसके नीचे एक अपने आप चलने वाला टेस्ट सेट है जो दोनों हिस्से ढकता है: वह जेनरेटर जो साइट बनाता है, और वे मॉड्यूल जो ब्राउज़र चलाता है। यह हर बदलाव पर चलता है, और किसी टेस्ट के फ़ेल होने के बाद कुछ भी प्रकाशित नहीं होता। जहाँ एक ही काम एक से ज़्यादा टूल में मौजूद है, और उनमें से कई MP4 फ़ाइलें पढ़ते हैं, वहाँ एक टेस्ट यह पक्का करता है कि वे प्रतियाँ अब भी आपस में मेल खाती हैं, ताकि एक को ठीक करने पर बाकी चुपचाप गलत न रह जाएँ।
गाइड भी इसी तराज़ू पर लिखी जाती हैं। उनके स्क्रीनशॉट बनाए या नकल करके तैयार किए नहीं जाते, उन्हें एक स्क्रिप्ट बनी हुई साइट से खींचती है। इसलिए किसी गाइड में दिख रही तस्वीर उस पेज की वही शक्ल है जो आज असल में है।
खर्च कहाँ से निकलता है
विज्ञापन से, और उन लोगों के दान से जिन्हें ये टूल काम के लगते हैं। पूरा कारोबारी ढाँचा बस इतना है, और यह साफ़ कहना ज़रूरी है कि इसमें क्या शामिल है और क्या नहीं।
यहाँ खरीदने को कुछ नहीं है। न अकाउंट, न साइन-अप, न ऊपर किसी पेड प्लान वाला फ़्री प्लान, न हटाने के लिए कोई वॉटरमार्क, न फ़ाइल के साइज़ की कोई सीमा, न रोज़ की कोई हद, और न कोई फ़ीचर बचाकर रखा गया। साइट पर जो है, वही सब कुछ है।
आपकी फ़ाइलें इस सौदे का हिस्सा नहीं हैं। विज्ञापन Google के हैं और विज़िट गिनने का काम Google Analytics करता है, और इनमें से किसी को यह नहीं बताया जाता कि आपने क्या खोला, क्या बनाया, उसका नाम क्या था या वह कितना बड़ा था। वह जानकारी इन स्क्रिप्ट तक पहुँचती ही नहीं, और अगर इनमें से कोई भेजने की कोशिश करे तो पेज की सुरक्षा नीति उसे रोक देगी। ये दोनों असल में क्या जमा करते हैं और हर एक को कैसे बंद किया जाए, यह प्राइवेसी पेज पर लिखा है। दोनों को ब्लॉक कर देने पर भी हर टूल वैसे ही चलता है।
टूल विज्ञापन के लिए नहीं लिखे जाते। यहाँ का कोई टूल इसलिए नहीं बना कि कोई कीवर्ड पैसा दे रहा था, और किसी को ज़्यादा विज्ञापन दिखाने के लिए जान-बूझकर धीमा, झंझट भरा या ज़्यादा पेजों में बँटा नहीं बनाया गया। आगे क्या बनेगा इस पर बहस सबके सामने होती है — ROADMAP.md में, हर विचार के लिए एक पैराग्राफ़, और इसमें वे वजहें भी दर्ज हैं जिनके चलते कई साफ़ दिखने वाले सुझाव ठुकरा दिए गए।
भाषाएँ
साइट पंद्रह भाषाओं में छपती है। हर भाषा असली अनुवाद है, मशीन से निकालकर जहाँ का तहाँ छोड़ा हुआ नहीं: टूल के नाम, समझाइशें, गाइड और खुद पते तक अनूदित हैं, और कोई पेज किसी भाषा में तभी सूची में आता है जब वह भाषा सचमुच लिखी जा चुकी हो। जिस भाषा पर काम अब भी चल रहा है वह पढ़ी तो जा सकती है, पर उसे साइटमैप और भाषा चुनने वाले हिस्से से बाहर रखा जाता है, ताकि किसी को आधे अंग्रेज़ी वाले पेज पर न बुलाया जाए।
चिट्ठियों का जवाब अंग्रेज़ी में जाता है, और इतने छोटे प्रोजेक्ट के बारे में यही एक ईमानदार बात कही जा सकती है।
यह साइट क्या नहीं करेगी
- आपसे अकाउंट बनाने को कहना, या आपका ईमेल पता माँगना।
- यहाँ खोली गई किसी फ़ाइल को अपलोड करना, सहेजना, उसमें झाँकना या रोक रखना।
- नतीजे पर वॉटरमार्क लगाना, या किसी फ़ीचर को पेड प्लान के लिए बचाकर रखना।
- ऐसे टूल में नेटवर्क वाला कदम जोड़ना जिसे उसकी ज़रूरत नहीं।
- किसी टूल पेज पर ऐसा दावा करना जो रिपॉज़िटरी का कोड करता ही नहीं।
इनमें से कुछ भी होता दिखे तो वह एक साथ गड़बड़ी भी है और टूटा हुआ वादा भी, और उसे बताने लायक है। सबसे तेज़ रास्ता संपर्क पेज है।