omg it's a smolsite — एक ऐसी साइट जिसमें पूरा वेबसाइट पते (URL) के भीतर समाया होता है
(smolsite.zip)- वेबसाइट की सभी फ़ाइलों को ZIP में कंप्रेस करके फिर Base64 में एन्कोड कर डोमेन के बाद जोड़ दिया जाए, तो वही पता अपने-आप में एक पूरा वेबसाइट बन जाता है।
- अलग से फ़ाइल अपलोड या सर्वर स्टोरेज के बिना सिर्फ़ URL शेयर करके साइट पहुँचाई जा सकती है।
- एक लाइन के कमांड से ZIP कंप्रेशन, Base64 एन्कोडिंग और URL जनरेशन किया जा सकता है, और अगर command line न हो तो ZIP फ़ाइल को drag करने का तरीका भी समर्थित है।
- सर्वर कंटेंट को सिर्फ़ 15 मिनट तक RAM में रखता है और उसके बाद हटा देता है; वही लिंक दोबारा खोलने पर ही फिर से प्रोसेस होता है।
- यह Lwan web server project का हिस्सा होने के कारण open source है, और QR code के ज़रिए कागज़ पर प्रिंट व स्कैन करना भी संभव है।
smolsite की अवधारणा
- पूरा साइट URL के भीतर शामिल होता है, इसलिए पता शेयर करने पर साइट खुद भी साथ में पहुँच जाती है।
index.html,mylogo.pngजैसी दो फ़ाइलों वाले उदाहरण की तरह, कई फ़ाइलों को बाँधकर एक ही पते में बदला जा सकता है।
smolsite बनाने का तरीका
- सभी फ़ाइलों को ZIP फ़ाइल में कंप्रेस करके Base64 में एन्कोड करें, फिर उसे
https://smolsite.zip/के बाद जोड़ दें।- उदाहरण कमांड:
$ echo "https://smolsite.zip/\zip -DXjq9 - index.html mylogo.png | base64 --wrap 0`"`
- उदाहरण कमांड:
FAQ
-
अगर command line न हो
- नीचे की बैंगनी पट्टी पर ZIP फ़ाइल drag करने से शेयर किया जा सकता है।
-
क्या इसे कागज़ पर host किया जा सकता है
- हाँ, और QR code पर क्लिक करने पर प्रिंट व स्कैन योग्य संस्करण देखा जा सकता है।
-
क्या यह open source है
-
सर्वर पर ZIP को कैसे प्रोसेस किया जाता है
- कंटेंट सर्वर पर प्रोसेस होकर 15 मिनट तक RAM में रखा जाता है, उसके बाद हटा दिया जाता है।
- लेकिन अगर कोई वही लिंक फिर से खोले, तो उसे दोबारा प्रोसेस किया जाता है।
-
ZIP bomb से कैसे निपटा जाता है
- deflated डेटा बिना किसी बदलाव के सीधे browser को भेजा जाता है, और recursive decompression न होने से कुछ हद तक सुरक्षा मिलती है।
-
क्या कंटेंट डाउनलोड या डिलीट किया जा सकता है
- smolsite के ज़रिए सटीक URL शेयरिंग को रोकने की पूरी कोशिश की जाती है, लेकिन कंटेंट URL के भीतर होने के कारण उसे पूरी तरह हटाना संभव नहीं है।
- जिसके पास लिंक है, वह smolsite के बिना भी कंटेंट निकाल सकता है
- smolsite के ज़रिए सटीक URL शेयरिंग को रोकने की पूरी कोशिश की जाती है, लेकिन कंटेंट URL के भीतर होने के कारण उसे पूरी तरह हटाना संभव नहीं है।
1 टिप्पणियां
Hacker News की राय
https://smolsite.zip/UEsDBBQAAgAIAFtLJ1daaE7RlwIAAN4EAAAKAAA...
https://tinyurl.com/dmk9e4m2
data:text/html,My%20small%20websiteLook,%20it's%20real!चाहें तो data URI generator से base64 encoding भी कर सकते हैं। smolsite का फायदा यह है कि zip होने पर data URI की तुलना में थोड़ा ज़्यादा डाल सकते हैं, और कुछ JavaScript API smolsite URL पर काम करते हैं लेकिन data URI पर नहीं
data:text/html,इसे bookmarks toolbar में रखकर इस्तेमाल करता हूं
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_...
https://wgx.github.io/anypage/?eyJoMSI6IkhlbGxvIEhOISIsImgyI...
[0] https://nopaste.boris.sh/
हालांकि anchor वाला हिस्सा सर्वर को भेजा नहीं जाता, इसलिए सर्वर चाहे भी तो इसके ज़रिए भेजे जा रहे हानिकारक content की जांच नहीं कर पाएगा
अब तक देखे गए सभी Show HN posts दिलचस्प रहे हैं, और उन्होंने मुझे अपना project शुरू करके उसे इतना polish करने की motivation दी कि उसे यहां दिखा सकूं। जब कोई और मेरा काम submit करता है और मैं वहां उसके बारे में बात कर पाता हूं, तो बहुत अच्छा लगता है
जाहिर है, आखिर में URL length limit से टकराना पड़ेगा, लेकिन curator URL bundles को जोड़कर बड़े text बनाने के लिए ऊपर एक layer भी रख सकते हैं। थोड़ी LLM magic डालकर bundles generate भी कराए जा सकते हैं, और तब यह ऐसी library बन जाएगी जिसमें सिर्फ अब तक लिखी गई सारी किताबें ही नहीं, बल्कि लिखी जा सकने वाली सारी किताबें भी होंगी
बेशक, यह मज़ाक है। मुझे पता है कि यह उस बात जैसा ही है कि Notepad में भी मौजूद हर किताब पहले से है, बस आपको उसे खुद type करना है
https://mkaandorp.github.io/hdd-of-babel/
https://news.ycombinator.com/item?id=34312546
https://news.ycombinator.com/item?id=2464213
महंगे event calendar module के लिए website vendor को पैसे न देने के लिए, मैंने एक public page code किया था जो
data-eventsattribute में base64 encoded simple JSON event schema डालकर calendar बनाता था। Staff private page पर public page से existing event data लाते, calendar builder को pre-fill करते, edit करते, फिर नया code snippet निकालकर public page में paste कर देते थेमूल रूप से यह ठीक काम करता था, लेकिन आखिर में शायद हमने calendar add-on के पैसे दे ही दिए थे
https://sonnet.io/projects#:~:text=Laconic!%20(a%20Twitter%2...