1 puan yazan GN⁺ 2024-07-10 | 1 yorum | WhatsApp'ta paylaş

PySkyWiFi: Tamamen ücretsiz ama inanılmaz derecede saçma bir uzun mesafe uçuşu Wi‑Fi'ı

  • Uçak 10.000 fitte ulaştığında, yazar internete girmek için dizüstü bilgisayarını çıkardı
  • Uçak içi Wi‑Fi'a bağlanıp tarayıcıyı açınca ağ giriş sayfası kredi kartı bilgileri istedi
  • Giriş sayfasında ücretsiz olarak hava mili hesabında oturum açma mesajını görünce, güvenlik duvarında bir açık keşfetti
  • JetStreamers Diamond Altitude hesabında oturum açarak internete erişmenin bir yolunu buldu

Prototype 1: Anlık mesajlaşma

  • Hava mili hesabındaki ad alanı üzerinden mesaj gönderip almanın bir yolunu tasarladı
  • Aynı hava mili hesabında iki bilgisayardan oturum açıp ad alanını güncelleyerek ve okuyarak basit bir sohbet sistemi kurdu
  • Bu süreci otomatikleştirmek için bir komut satırı aracı yazdı

Prototype 2: Canlı başlıklar, hisse fiyatları, futbol skorları

  • Hava mili hesabı üzerinden gerçek zamanlı bilgi ileten bir program yazdı
  • Yerdeki bir bilgisayar, hava mili hesabının ad alanını düzenli olarak kontrol ediyor ve istenen bilgiyi tekrar uçağa iletiyordu

Gerçek uygulama: PySkyWiFi

  • PySkyWiFi, HTTP isteklerini hava mili hesabı üzerinden iletmek için TCP/IP protokolünü basitleştiren bir araç
  • Yerdeki bilgisayar HTTP isteklerini işliyor ve yanıtı tekrar hava mili hesabı üzerinden uçağa gönderiyor

PySkyWiFi nasıl çalışıyor

  • PySkyWiFi iki bileşenden oluşuyor:

    • Sky Proxy: Uçakta dizüstü bilgisayarda çalışan proxy
    • Ground Daemon: Yerde internete bağlı bir bilgisayarda çalışan daemon
  • Sky Proxy, HTTP isteklerini küçük parçalara bölüp hava mili hesabının ad alanına yazıyor

  • Ground Daemon bu parçaları okuyup HTTP isteğini işliyor, ardından yanıtı yeniden küçük parçalara bölerek hava mili hesabına yazıyor

  • Sky Proxy bu yanıt parçalarını okuyup özgün HTTP yanıtı olarak yeniden birleştiriyor

PySkyWiFi'nin iletişim mantığı

  • PySkyWiFi'nin iletişim mantığı iki katmana ayrılıyor:

    • Transport Layer: Veriyi küçük parçalara böler ve gönderme/alma modlarını yönetir
    • Network Layer: Veriyi fiilen iletir
  • Transport Layer veriyi küçük parçalara ayırarak gönderiyor ve alıcı bunu onaylayınca sonraki parçayı gönderiyor

  • Network Layer veriyi gönderip almak için hava mili hesabının ad alanını kullanıyor

Optimizasyonlar ve iyileştirmeler

  • Hava mili hesabı alanlarının uzunluk sınırını aşmak için base26 kodlaması kullanıldı
  • Birden fazla alan kullanılarak bant genişliği artırıldı

Sonuç

  • PySkyWiFi kullanılarak blog ana sayfasını curl ile yüklemeyi başardı
  • Bu proje, en üretken ama aynı zamanda en verimsiz uçuş oldu

GN⁺ Özeti

  • PySkyWiFi, uçak içi Wi‑Fi maliyetini düşürmek için yaratıcı bir yöntem sunuyor
  • Hava mili hesabındaki bir açıktan yararlanarak internete erişme yaklaşımı ilgi çekici
  • Bu proje, ağ protokolleri ve iletişimin temel ilkelerini anlamaya yardımcı oluyor
  • Benzer işleve sahip projeler arasında Tor gibi proxy hizmetleri bulunuyor

1 yorum

 
GN⁺ 2024-07-10
Hacker News görüşleri
  • Birkaç yıl önce, partnerim Google Voice kullanarak SMS gönderiyordu. Mesajları Gmail gelen kutusundan görüp yanıtlayabilmek kullanışlıydı

    • Partnerim cep telefonlarını sevmiyordu ama sınırsız 3G verisi olan bir "Kindle Keyboard" modeli taşıyordu
    • Kindle'ın basit web tarayıcısıyla Gmail arayüzü yüklenebiliyordu
    • Tek sorun gelen SMS bildirimleriydi
    • Ev sunucusunda web tarayıcısını otomatikleştirip Amazon hesabındaki Kindle cihaz adını güncelleyecek şekilde ayarlamıştım
    • Cihaz adını "My Kindle (x)" olarak güncelleyip okunmamış Google Voice SMS sayısını gösteriyordum
    • Bu yöntem yıllarca gayet iyi çalıştı
  • İtalya'dan Yunanistan'a giden 20 saatlik bir feride ücretli uydu internetini kullanmak istememiştim

    • Ödeme sistemi için stripe.com'a erişilebiliyordu
    • stripe.com üzerindeki tüm içeriğe erişilebiliyordu ve bunun üzerinden reddit'te gezilebiliyordu
    • HTTP header'larını değiştirerek reddit.com'a bağlanmıştım
    • TLS hatalarını yok sayıp giriş yapabilmiştim
  • Birkaç hafta önce çocukları AVM'deki bir derse götürdüğümde ücretsiz Wi‑Fi'yi kullanmaya çalışmıştım

    • Dizüstü bilgisayarla giriş yaptım ama internet bağlantısı yoktu
    • Cisco modeminin tanılama araçlarıyla sorunu kontrol ettim
    • Google'da aratarak varsayılan yönetici hesabı bilgilerini buldum ve bununla modeme eriştim
    • İnternet düğmesini açtım, 15 saniye sonra bağlantı geldi
    • Modemin şifresini değiştirdim
  • Yakın zamanda uçakta global DNS'in ödeme yapmadan da gayet çalıştığını fark ettim

    • Sıradan bir iodine tüneli muhtemelen çalışır
  • Uçakta her zaman yorgun olduklarını ve hiçbir şey yapamadıklarını söyleyen bir görüş

    • Dizüstü bilgisayarı ya da kitabı çıkarmak bile yorucu
    • Çok gürültü var ve gürültü engelleyici kulaklık olmayınca odaklanmak zor
    • Havaalanındaki sağlıksız yiyecekler de sorun
    • Ağır sırt çantası yüzünden terleniyor
  • Uçakta kulaklıklarını şarj etmediği için dizüstü bilgisayar hoparlöründen müzik açtığı bir deneyim

    • Etraftaki insanların bundan rahatsız olmuş olabileceği görüşü
  • Google'ın bir zamanlar sunduğu SMS üzerinden bilgi servislerine dair bir anı

    • Hava durumu, hisse bilgileri gibi şeyler SMS ile alınabiliyordu
    • Akıllı telefonlardan önce faydalıydı
  • TCP-over-shared-editable-fields kavramının ilginç olduğu görüşü

    • Bunu SOCKS proxy olarak kullanılabilecek bir araç olarak hayal ediyor
  • İşe yaramaz yazılım yazmanın eğlenceli ve faydalı olduğu görüşü

    • Böyle daha fazla proje yapılması gerektiğini düşünüyor
  • Birkaç yıl önce üniversitede saat 22:00'den sonra LAN ağının kapatıldığı bir deneyim

    • Bunu IPv6 kullanan basit bir P2P sohbet uygulaması yazarak çözmüş
    • Arkadaşlarla IPv6 adreslerini paylaşmak gerekiyordu ama iyi çalışıyordu