1 puntos por GN⁺ 2024-07-10 | 1 comentarios | Compartir por WhatsApp

PySkyWiFi: wifi de larga distancia completamente gratis e increíblemente absurdo

  • Cuando el avión alcanzó los 10,000 pies, el autor sacó su laptop para intentar usar internet
  • Se conectó al wifi a bordo y, al abrir el navegador, la página de inicio de sesión de la red le pidió información de tarjeta de crédito
  • Al ver en la página de inicio de sesión un mensaje para iniciar sesión gratis en una cuenta de millas aéreas, descubrió un hueco en el firewall
  • Encontró una forma de acceder a internet iniciando sesión en una cuenta JetStreamers Diamond Altitude

Prototipo 1: mensajería instantánea

  • Ideó una forma de intercambiar mensajes a través del campo de nombre de la cuenta de millas aéreas
  • Implementó un chat simple haciendo que dos computadoras iniciaran sesión en la misma cuenta de millas aéreas y actualizaran y leyeran el campo de nombre
  • Escribió una herramienta de línea de comandos para automatizar este proceso

Prototipo 2: titulares en tiempo real, precios de acciones y marcadores de fútbol

  • Escribió un programa para transmitir información en tiempo real a través de la cuenta de millas aéreas
  • Funciona haciendo que una computadora en tierra revise periódicamente el campo de nombre de la cuenta de millas aéreas y reenvíe al avión la información solicitada

Implementación real: PySkyWiFi

  • PySkyWiFi es una herramienta que simplifica el protocolo TCP/IP para enviar solicitudes HTTP a través de una cuenta de millas aéreas
  • Una computadora en tierra procesa las solicitudes HTTP y luego reenvía las respuestas al avión a través de la cuenta de millas aéreas

Cómo funciona PySkyWiFi

  • PySkyWiFi consta de dos componentes:

    • Sky Proxy: un proxy que corre en la laptop dentro del avión
    • Ground Daemon: un daemon que corre en una computadora conectada a internet en tierra
  • Sky Proxy divide las solicitudes HTTP en pequeños chunks y los escribe en el campo de nombre de la cuenta de millas aéreas

  • Ground Daemon lee esos chunks, procesa la solicitud HTTP y luego divide la respuesta en pequeños chunks para escribirlos otra vez en la cuenta de millas aéreas

  • Sky Proxy lee esos chunks de respuesta y los reconstruye como la respuesta HTTP original

Lógica de comunicación de PySkyWiFi

  • La lógica de comunicación de PySkyWiFi se divide en dos capas:

    • Transport Layer: divide los datos en pequeños chunks y gestiona los modos de envío y recepción
    • Network Layer: se encarga de transmitir realmente los datos
  • Transport Layer envía los datos divididos en pequeños chunks y, cuando el receptor los confirma, transmite el siguiente chunk

  • Network Layer usa el campo de nombre de la cuenta de millas aéreas para enviar y recibir datos

Optimización y mejoras

  • Usa codificación base26 para superar la limitación de longitud de los campos de la cuenta de millas aéreas
  • Incrementa el ancho de banda usando varios campos

Conclusión

  • Logró cargar la página principal de su blog con curl usando PySkyWiFi
  • Este proyecto fue el vuelo más productivo e improductivo al mismo tiempo

Resumen de GN⁺

  • PySkyWiFi presenta una forma creativa de reducir el costo del wifi a bordo
  • Resulta interesante la manera en que accede a internet aprovechando un hueco en una cuenta de millas aéreas
  • Este proyecto ayuda a entender los principios básicos de los protocolos de red y la comunicación
  • Un proyecto con una función parecida es un servicio proxy como Tor

1 comentarios

 
GN⁺ 2024-07-10
Comentarios en Hacker News
  • Hace unos años, su pareja usaba Google Voice para enviar mensajes de texto. Era conveniente porque podía revisar y responder los mensajes desde la bandeja de entrada de Gmail

    • A su pareja no le gustaban los teléfonos celulares, pero llevaba un modelo "Kindle Keyboard" con datos 3G ilimitados
    • Podía cargar la interfaz de Gmail a través del navegador web simple del Kindle
    • El único problema eran las notificaciones de mensajes entrantes
    • Configuró su servidor casero para automatizar un navegador web y actualizar el nombre del dispositivo del Kindle en la cuenta de Amazon
    • Actualizaba el nombre del dispositivo a "My Kindle (x)" para mostrar la cantidad de mensajes no leídos de Google Voice
    • Este método funcionó bien durante varios años
  • En un ferry de 20 horas de Italia a Grecia, no quería usar el internet satelital de pago

    • Podía acceder a stripe.com por el sistema de pagos
    • Podía acceder a todo el contenido de stripe.com, y con eso navegar por reddit
    • Modificó los encabezados HTTP para conectarse a reddit.com
    • Pudo iniciar sesión ignorando los errores de TLS
  • Hace unas semanas, cuando llevó a sus hijos a una clase en el centro comercial, intentó usar el wifi gratis

    • Inició sesión con su laptop, pero no tenía conexión a internet
    • Revisó el problema a través de la herramienta de diagnóstico del módem Cisco
    • Buscando en Google encontró la información de la cuenta de administrador predeterminada y con eso accedió al módem
    • Activó el botón de internet y se conectó 15 segundos después
    • Cambió la contraseña del módem
  • Recientemente comprobó que en el avión el DNS global funciona bien incluso sin pagar

    • Parece que un túnel típico de iodine podría funcionar
  • Opinión de que siempre está cansado en los aviones y no puede hacer nada

    • Hasta sacar la laptop o un libro le da flojera
    • Hay mucho ruido y, como no tiene audífonos con cancelación de ruido, le cuesta concentrarse
    • La comida poco saludable del aeropuerto también es un problema
    • Suda por llevar una mochila pesada
  • Experiencia de haber puesto música por los altavoces de la laptop en el avión porque no había cargado los audífonos

    • Opinión de que seguramente incomodó a la gente alrededor
  • Recuerdo del servicio de información por mensajes de texto que ofrecía Google

    • Se podía recibir por SMS el clima, información bursátil, etc.
    • Era útil antes de que existieran los smartphones
  • Opinión de que el concepto de TCP-over-shared-editable-fields es interesante

    • Se imagina una herramienta que podría usarse como proxy SOCKS
  • Opinión de que escribir software inútil es divertido y provechoso

    • Cree que deberían hacerse más proyectos así
  • Experiencia de hace algunos años en la universidad, cuando bloqueaban la red LAN después de las 10

    • Lo resolvió creando una aplicación sencilla de chat P2P usando IPv6
    • Tuvo que compartir direcciones IPv6 con sus amigos, pero funcionó bien