1 पॉइंट द्वारा GN⁺ 2024-07-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें

PySkyWiFi: पूरी तरह मुफ्त और अविश्वसनीय रूप से बेवकूफ़ाना लंबी दूरी की उड़ान Wi‑Fi

  • जब विमान 10,000 फीट की ऊंचाई पर पहुंचा, तो लेखक ने इंटरनेट इस्तेमाल करने के लिए अपना लैपटॉप निकाला
  • इन-फ्लाइट Wi‑Fi से कनेक्ट होकर ब्राउज़र खोला, तो नेटवर्क लॉगिन पेज ने क्रेडिट कार्ड जानकारी मांगी
  • लॉगिन पेज पर एयरमाइल अकाउंट में मुफ्त लॉगिन करने का संदेश देखकर, लेखक ने फ़ायरवॉल की एक कमजोरी खोज ली
  • JetStreamers Diamond Altitude अकाउंट में लॉगिन करके इंटरनेट एक्सेस करने का तरीका ढूंढ लिया

Prototype 1: इंस्टेंट मैसेजिंग

  • एयरमाइल अकाउंट के name field के जरिए संदेश भेजने और पाने का तरीका बनाया गया
  • दो कंप्यूटरों पर एक ही एयरमाइल अकाउंट में लॉगिन करके name field को अपडेट और पढ़ने के तरीके से एक साधारण चैट बनाई गई
  • इस प्रक्रिया को ऑटोमेट करने के लिए एक command line tool लिखा गया

Prototype 2: रियल-टाइम headlines, stock prices, फुटबॉल स्कोर

  • एयरमाइल अकाउंट के जरिए रियल-टाइम जानकारी भेजने वाला एक प्रोग्राम लिखा गया
  • यह ऐसे काम करता है कि जमीन पर मौजूद कंप्यूटर समय-समय पर एयरमाइल अकाउंट के name field को जांचता है, और मांगी गई जानकारी वापस विमान तक भेजता है

वास्तविक इम्प्लिमेंटेशन: PySkyWiFi

  • PySkyWiFi एक ऐसा टूल है जो TCP/IP protocol को सरल बनाकर HTTP requests को एयरमाइल अकाउंट के जरिए भेजता है
  • जमीन पर मौजूद कंप्यूटर HTTP requests को प्रोसेस करता है और responses को फिर से एयरमाइल अकाउंट के जरिए विमान तक भेजता है

PySkyWiFi कैसे काम करता है

  • PySkyWiFi दो components से मिलकर बना है:

    • Sky Proxy: विमान में लैपटॉप पर चलने वाला proxy
    • Ground Daemon: जमीन पर इंटरनेट से जुड़े कंप्यूटर पर चलने वाला daemon
  • Sky Proxy HTTP requests को छोटे chunks में बांटकर एयरमाइल अकाउंट के name field में लिखता है

  • Ground Daemon इन chunks को पढ़ता है, HTTP request को प्रोसेस करता है, फिर response को छोटे chunks में बांटकर दोबारा एयरमाइल अकाउंट में लिखता है

  • Sky Proxy इन response chunks को पढ़कर उन्हें मूल HTTP response के रूप में फिर से जोड़ता है

PySkyWiFi का communication logic

  • PySkyWiFi का communication logic दो layers में बंटा है:

    • Transport Layer: डेटा को छोटे chunks में बांटता है और send तथा receive modes को मैनेज करता है
    • Network Layer: डेटा को वास्तव में ट्रांसफर करने का काम करता है
  • Transport Layer डेटा को छोटे chunks में बांटकर भेजता है, और रिसीवर द्वारा उसकी पुष्टि होने पर अगला chunk भेजता है

  • Network Layer एयरमाइल अकाउंट के name field का उपयोग करके डेटा भेजता और प्राप्त करता है

optimization और सुधार

  • एयरमाइल अकाउंट के field length limit को पार करने के लिए base26 encoding का उपयोग किया गया
  • bandwidth बढ़ाने के लिए कई fields का उपयोग किया गया

निष्कर्ष

  • PySkyWiFi का उपयोग करके ब्लॉग homepage को curl से लोड करने में सफलता मिली
  • यह प्रोजेक्ट लेखक की सबसे उत्पादक और साथ ही सबसे गैर-उत्पादक उड़ान थी

GN⁺ का सार

  • PySkyWiFi इन-फ्लाइट Wi‑Fi की लागत बचाने का एक रचनात्मक तरीका दिखाता है
  • एयरमाइल अकाउंट की कमजोरी का उपयोग करके इंटरनेट एक्सेस करने का तरीका दिलचस्प है
  • यह प्रोजेक्ट network protocols और communication के बुनियादी सिद्धांतों को समझने में मदद करता है
  • मिलते-जुलते फीचर वाले प्रोजेक्ट्स में Tor जैसी proxy services शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-07-10
Hacker News टिप्पणियाँ
  • कुछ साल पहले, पार्टनर Google Voice का इस्तेमाल करके text messages भेजते थे। Gmail inbox में संदेश देखना और जवाब देना सुविधाजनक था

    • पार्टनर को मोबाइल फ़ोन पसंद नहीं थे, लेकिन वे unlimited 3G data वाले "Kindle Keyboard" मॉडल को साथ रखते थे
    • Kindle के साधारण web browser के ज़रिए Gmail interface लोड किया जा सकता था
    • एकमात्र समस्या incoming text notifications की थी
    • home server पर web browser को automate करके Amazon account में Kindle का device name update होने के लिए सेट किया था
    • device name को "My Kindle (x)" में update करके unread Google Voice texts की संख्या दिखाई जाती थी
    • यह तरीका कई सालों तक अच्छी तरह काम करता रहा
  • इटली से ग्रीस जाने वाली 20 घंटे की ferry में paid satellite internet का उपयोग नहीं करना चाहता था

    • payment system के लिए stripe.com तक पहुँच मिल रही थी
    • stripe.com के सभी content तक पहुँच थी, और उसके ज़रिए reddit ब्राउज़ किया जा सकता था
    • HTTP headers बदलकर reddit.com से connect किया था
    • TLS errors को ignore करके login किया जा सकता था
  • कुछ हफ़्ते पहले, बच्चों को mall में एक class में छोड़ने गया था और free Wi‑Fi इस्तेमाल करने की कोशिश की

    • laptop से login किया, लेकिन internet connection नहीं था
    • Cisco modem के diagnostic tools से समस्या की जाँच की
    • Google पर खोजकर default admin account की जानकारी मिली, जिससे modem में access मिला
    • internet button on किया और 15 सेकंड बाद connection हो गया
    • modem का password बदल दिया
  • हाल ही में, flight में देखा कि global DNS बिना payment के भी ठीक से काम कर रहा था

    • लगता है कि सामान्य iodine tunnel काम कर जाएगा
  • एक राय कि flight में हमेशा थकान रहती है और कुछ भी नहीं किया जाता

    • laptop या किताब निकालना भी थकाऊ लगता है
    • शोर बहुत होता है और noise-cancelling headphones न होने पर ध्यान लगाना मुश्किल होता है
    • airport का unhealthy food भी एक समस्या है
    • भारी backpack की वजह से पसीना आता है
  • flight में headphones charge न होने पर laptop speakers पर music चलाने का अनुभव

    • राय कि आसपास के लोगों को इससे असुविधा हुई होगी
  • Google की उस text-message information service की याद, जो पहले उपलब्ध थी

    • मौसम, stock information आदि text से मिल सकते थे
    • smartphone आने से पहले यह उपयोगी थी
  • एक राय कि TCP-over-shared-editable-fields की अवधारणा दिलचस्प है

    • ऐसा tool कल्पना में आता है जिसे SOCKS proxy की तरह इस्तेमाल किया जा सके
  • एक राय कि बेकार-सी software लिखना मज़ेदार और लाभदायक होता है

    • लगता है कि ऐसे और projects बनाए जाने चाहिए
  • कुछ साल पहले university में 10 बजे के बाद LAN network बंद कर दिया जाता था

    • IPv6 का उपयोग करके एक सरल P2P chat application बनाकर इसका समाधान किया था
    • दोस्तों के साथ IPv6 addresses साझा करने पड़ते थे, लेकिन यह अच्छी तरह काम करता था