Argonalyst

A inutilidade do aplicativo Travelbound frente a uma página web

Argonalyst
14 July 2026

Por que isso é um "aplicativo"?

Neste verão, a escola de artes cênicas das crianças realizará uma apresentação na Disneyland. Todos estão muito animados, mas minha empolgação diminuiu um pouco quando fui informado que precisava instalar o aplicativo "Travelbound" para acessar o itinerário, as informações de viagem e detalhes sobre a acomodação.

"Que absurdo!" pensei eu. Isso deveria ser uma página da web. Por que você quer que eu instale mais um aplicativo que poderia ser simplesmente um documento (menor, mais rápido e mais acessível)?

Não estou exagerando. Este aplicativo é, na verdade, apenas texto, imagens e links para arquivos PDF, entregues pela web.

Aparentemente, o único propósito deste "aplicativo" é fornecer funções que uma página da web poderia ter, mas com características negativas: ele reporta dados de rastreamento vinculados à sua conta Google para os desenvolvedores e exibe anúncios (que chamam de "inspirações") para outras viagens organizadas pela mesma agência.

"Que raiva!" Uma página da web seria muito mais adequada. Diferente deste aplicativo, uma página web pode ser...

- Copiada e colada
- Impressa
- Salva
- Adicionada aos favoritos
- Pesquisável
- Utilizável em praticamente qualquer dispositivo
- (Potencialmente) mais acessível

Estou tão irritado com isso que decidi "consertar" esse aplicativo. Segure minha bebida.

Interceptando o tráfego do aplicativo

Fazia tempo que não reverter engenharia de um aplicativo Android a partir de seu tráfego de rede, então precisei me atualizar. Aqui está o que fiz.

Criei um novo dispositivo virtual no Gerenciador de Dispositivos Virtuais do Android Studio. Testei se o adb shell estava funcionando e usei o rootAVD para fazer root: ./rootAVD.sh system-images/android-33/google_apis_playstore/x86_64/ramdisk.img. Realizei um boot frio, executei o Magisk e ajustei suas configurações para conceder automaticamente acesso root a qualquer aplicativo que solicitasse.

"Todo seu tráfego agora é meu!" A partir daqui, era como executar o Wireshark ou o TCPdump. Executei o HTTP Toolkit e configurei para interceptar o tráfego do AVD. Instalei o aplicativo Travelbound da Play Store e configurei o HTTP Toolkit para proxy apenas o aplicativo Travelbound (mais sinal, menos ruído).

Após alguns minutos de experimentação, descobri que o aplicativo funciona concatenando o nome de usuário e a senha e usando isso em uma URL do tipo:

https://travelbound.api.vamoos.com/api/itineraries/{username}-{password}

Isso retorna uma pilha de JSON que, com um pouco de interpretação, pode ser vista como representando todo o conteúdo que o aplicativo "exibe". Por exemplo, há:

- Um array contendo cada etapa do itinerário,
- Um array com todos os anúncios de "inspirações" para mostrar,
- Anúncios a serem exibidos, um array inter-relacionado contendo todos os arquivos (imagens etc.) que são referenciados pelas outras seções, etc.

Eles claramente estão produzindo código HTML de qualquer forma... então, mais uma vez, pergunto: por que isso não é uma página da web?

Uma pequena experimentação me mostrou que as URLs das imagens S3 estavam sendo entregues com prazos de expiração moderadamente curtos, então o JSON precisa ser atualizado periodicamente, mesmo que o conteúdo não tenha mudado.

Transformando em algo melhor

Agora eu tinha tudo o que precisava para criar algo... melhor. Escrevi um script em Ruby que roda em um cronograma Cron para puxar o JSON mais recente e usá-lo para construir uma página HTML.

Escolhi ignorar completamente as "inspirações" ("overlayRows" no esquema de dados) e apenas listar:

- Os itens do itinerário e todos os arquivos não referenciados pelas inspirações ou pelo itinerário, (uma maneira preguiçosa de reunir os links para download de PDF).

Então, hospedei a página, protegida por uma senha: a mesma que meu grupo de turistas recebeu inicialmente. Incluí o JSON bruto que usei em elementos

para que possa ser verificado se, por exemplo, há partes do esquema que eu não vi, mas que podem aparecer mais tarde.

Minha página da web não é tão "bonita" quanto o aplicativo do qual "pega" suas informações. Mas é uma fração do tamanho e obtém todos os recursos padrão da web de graça.

Algumas pessoas gostam de um "aplicativo", e isso... tudo bem, eu acho. Mas alguns aplicativos poderiam ser uma página da web. E especialmente onde, como neste caso, o conteúdo que eles entregam já está escrito em HTML e entregue via HTTP... isso deveria ser uma página da web, certo?

Não consigo entender como chegamos a esse ponto com a "cultura dos aplicativos"! As empresas de software estão felizes em tornar suas vidas mais difíceis (e mais caras: publicar nas grandes lojas de aplicativos não é grátis!), para entregar conteúdo HTML a menos pessoas e com menos recursos do que se simplesmente publicassem diretamente na web desde o início!

Existem (algumas) tarefas para as quais um "aplicativo" é absolutamente a escolha certa de meio. O Travelbound não é uma delas.

Mas pelo menos eu (e o resto do nosso grupo, com quem compartilhei) agora temos a opção de como acessar esse conteúdo. Ou um aplicativo de 43MB (crescendo para 124MB quando terminar de baixar conteúdo extra) com rastreamento e anúncios... ou uma página da web de 0,05MB (com um extra opcional de 35MB de imagens) que oferece mais recursos e funciona em mais dispositivos. Eu sei qual deles vou usar!

Últimos vídeos

Confira os últimos vídeos publicados no canal

Argonalyst

GPT 5.6 SURPREENDE: OpenAI finalmente alcançou a Anthropic?

Argonalyst

Os novos modelos de IA estão decepcionando... e ninguém quer admitir isso

Argonalyst

Midjourney quer ESCANEAR humanos e o Open Source já rivaliza com Claude Opus

Argonalyst

Rio 3.5 e Fable 5: as duas polêmicas que expõem o futuro da IA

Argonalyst

Fim dos PCs como conhecemos: Nvidia, Microsoft e IA local vão mudar tudo

Argonalyst

O plano SECRETO das Big Techs para cobrar MUITO mais pela IA

Argonalyst

BOLHA da IA ou NOVA era de crescimento EXPONENCIAL? O mercado está dividido

Argonalyst

Nova IA da OpenAI traduz em TEMPO REAL e pode mudar o mundo dos negócios

Argonalyst

Spec Driven Development (SDD): a habilidade que vai separar quem SOBREVIVE à IA

Argonalyst

DeepSeek V4: o Open Source que está AMEAÇANDO GPT 5.5 e Opus 4.7

Argonalyst

Prometeram Renda Universal… mas só veio desemprego?

Argonalyst

Mythos Preview: o começo da AGI ou só mais hype?

Argonalyst

Ele automatizou TUDO com IA… e pode virar bilionário sozinho

Argonalyst

Programadores foram só o começo… agora a IA quer o topo

Argonalyst

Multi-agentes, memória e IA eterna: o vazamento que mudou tudo