1 pontos por GN⁺ 2024-07-10 | 1 comentários | Compartilhar no WhatsApp

PySkyWiFi: Wi‑Fi em voos de longa distância totalmente grátis e incrivelmente idiota

  • Quando o avião atingiu 10.000 pés, o autor abriu o notebook para tentar usar a internet
  • Conectou-se ao Wi‑Fi de bordo e, ao abrir o navegador, a página de login da rede pediu informações de cartão de crédito
  • Ao ver na página de login uma mensagem para entrar gratuitamente na conta do programa de milhas, percebeu uma brecha no firewall
  • Encontrou uma forma de acessar a internet entrando na conta JetStreamers Diamond Altitude

Protótipo 1: mensagens instantâneas

  • Criou um método para trocar mensagens usando o campo de nome da conta do programa de milhas
  • Implementou um chat simples fazendo login na mesma conta de milhas em dois computadores, atualizando e lendo o campo de nome
  • Escreveu uma ferramenta de linha de comando para automatizar esse processo

Protótipo 2: manchetes em tempo real, preços de ações e placares de futebol

  • Escreveu um programa para transmitir informações em tempo real por meio da conta do programa de milhas
  • Funciona com um computador em terra verificando periodicamente o campo de nome da conta de milhas e enviando de volta ao avião as informações solicitadas

Implementação real: PySkyWiFi

  • PySkyWiFi é uma ferramenta que simplifica o protocolo TCP/IP para transmitir requisições HTTP por meio de uma conta do programa de milhas
  • Um computador em terra processa as requisições HTTP e envia as respostas de volta ao avião pela mesma conta do programa de milhas

Como o PySkyWiFi funciona

  • O PySkyWiFi é composto por dois componentes:

    • Sky Proxy: proxy executado no notebook dentro do avião
    • Ground Daemon: daemon executado em um computador conectado à internet em terra
  • O Sky Proxy divide as requisições HTTP em pequenos chunks e os grava no campo de nome da conta do programa de milhas

  • O Ground Daemon lê esses chunks, processa a requisição HTTP e depois divide a resposta novamente em pequenos chunks para gravá-los na conta do programa de milhas

  • O Sky Proxy lê esses chunks de resposta e os reconstrói na resposta HTTP original

Lógica de comunicação do PySkyWiFi

  • A lógica de comunicação do PySkyWiFi é dividida em duas camadas:

    • Transport Layer: divide os dados em pequenos chunks e gerencia os modos de envio e recebimento
    • Network Layer: é responsável por transmitir os dados de fato
  • A Transport Layer divide os dados em pequenos chunks para envio e, quando o destinatário os confirma, envia o próximo chunk

  • A Network Layer usa o campo de nome da conta do programa de milhas para transmitir e receber os dados

Otimizações e melhorias

  • Usou codificação base26 para contornar o limite de comprimento dos campos da conta do programa de milhas
  • Aumentou a largura de banda usando vários campos

Conclusão

  • Conseguiu carregar a página inicial do blog com curl usando o PySkyWiFi
  • Este projeto foi o voo mais produtivo e, ao mesmo tempo, improdutivo de todos

Resumo do GN⁺

  • O PySkyWiFi apresenta uma forma criativa de reduzir o custo do Wi‑Fi de bordo
  • É interessante a forma como ele acessa a internet explorando uma brecha em uma conta de programa de milhas
  • O projeto ajuda a entender os princípios básicos de protocolos de rede e comunicação
  • Um projeto com funcionalidade semelhante seria um serviço de proxy como o Tor

1 comentários

 
GN⁺ 2024-07-10
Comentários do Hacker News
  • Há alguns anos, a parceira de alguém enviava mensagens de texto usando o Google Voice. Era prático porque dava para ver e responder as mensagens pela caixa de entrada do Gmail

    • A parceira não gostava de celular, mas carregava um modelo "Kindle Keyboard" com dados 3G ilimitados
    • Era possível carregar a interface do Gmail pelo navegador web simples do Kindle
    • O único problema eram as notificações de SMS recebidos
    • A pessoa configurou um servidor caseiro para automatizar o navegador web e atualizar o nome do dispositivo na conta da Amazon
    • O nome do dispositivo era atualizado para "My Kindle (x)" para mostrar o número de mensagens não lidas do Google Voice
    • Esse método funcionou bem por vários anos
  • Em uma balsa de 20 horas da Itália para a Grécia, alguém não queria usar a internet paga via satélite

    • Era possível acessar stripe.com por causa do sistema de pagamento
    • Todo o conteúdo de stripe.com estava acessível, e isso permitia navegar no reddit
    • A pessoa alterou os cabeçalhos HTTP para se conectar a reddit.com
    • Foi possível fazer login ignorando os erros de TLS
  • Algumas semanas atrás, ao levar as crianças para uma aula no shopping, alguém tentou usar o Wi‑Fi gratuito

    • Fez login pelo notebook, mas não havia conexão com a internet
    • Verificou o problema pelas ferramentas de diagnóstico de um modem Cisco
    • Procurou no Google as informações da conta de administrador padrão e conseguiu acessar o modem
    • Ligou o botão da internet e a conexão apareceu 15 segundos depois
    • Depois disso, mudou a senha do modem
  • Recentemente, alguém notou em um avião que o DNS global funciona bem mesmo sem pagamento

    • Um túnel iodine comum provavelmente deve funcionar
  • Opinião de que a pessoa sempre fica cansada no avião e não consegue fazer nada

    • Até tirar o notebook ou um livro dá preguiça
    • Há muito barulho e, sem fones com cancelamento de ruído, é difícil se concentrar
    • A comida pouco saudável do aeroporto também é um problema
    • A mochila pesada faz a pessoa suar
  • Relato de alguém que esqueceu de carregar os fones no avião e acabou ouvindo música pelos alto-falantes do notebook

    • Opinião de que isso provavelmente incomodou as pessoas ao redor
  • Lembrança do serviço do Google que fornecia informações por mensagem de texto

    • Era possível receber clima, cotações de ações etc. por SMS
    • Isso era útil antes da chegada dos smartphones
  • Opinião de que o conceito de TCP-over-shared-editable-fields é interessante

    • A pessoa imagina uma ferramenta que possa ser usada como proxy SOCKS
  • Opinião de que escrever software inútil é divertido e útil

    • A pessoa acha que deveríamos criar mais projetos assim
  • Relato de alguns anos atrás, quando uma universidade bloqueava a rede LAN depois das 22h

    • A pessoa resolveu isso criando um aplicativo simples de chat P2P com IPv6
    • Era preciso compartilhar os endereços IPv6 com os amigos, mas funcionava bem