Coloquei WhatsApp e Telegram em celulares de 2004 e o difícil foi o TLS
Sou o desenvolvedor do ZapTijolo, um app que leva WhatsApp, Telegram e um assistente de IA para celulares Java ME: Nokia Series 40 e S60, Motorola e BlackBerry. Quero contar a parte técnica, que foi bem mais estranha do que eu imaginava.
A arquitetura
O celular roda um MIDlet de cerca de 155 KB (CLDC 1.0 / MIDP 2.0, telas nativas LCDUI). Ele não tem memória nem bibliotecas para rodar um cliente moderno, então um servidor em Go faz o trabalho pesado: segura a sessão do Telegram (gotd, API oficial) e a do WhatsApp como aparelho vinculado (whatsmeow, não oficial). Com o app aberto, o celular consulta o servidor a cada 60 segundos por um protocolo enxuto.
O TLS de 2007
- Muitos Nokia só falam TLS 1.0 com RSA e AES-CBC-SHA e não mandam SNI. Sem SNI, um proxy reverso não sabe para onde mandar a conexão, então a API do celular roda numa porta própria, fora do proxy, com cadeia de certificados própria.
- O Nokia 6500 slide compara a hora local como se fosse UTC. No Brasil (UTC−3), um certificado recém-emitido ficava "ainda não válido" por horas. Solução: os certificados começam a valer em 2007.
- O navegador desses aparelhos não abre o HTTPS moderno (Let's Encrypt com SNI), então a página de instalação precisa existir também em HTTP.
Outras surpresas
- O Nokia 6600 (2003) só aceita app CLDC 1.0: qualquer outra coisa dá "Versão inválida". O app inteiro foi rebaixado para CLDC 1.0.
- Navegadores S40 ignoram
display:blockepaddingem links. Botões viraram células de tabela combgcolor, como em 2005. - Áudio: o celular grava AMR. Converter direto de AMR para Opus saía com timestamps errados; passar sempre por PCM no servidor resolveu.
- Um
Playerde áudio esquecido aberto bloqueia o próximo. Fechar sempre, até no erro. - Pouca memória (heap de 1–2 MB): fotos limitadas a 96 KB e áudio a 320 KB.
O que não é
O WhatsApp é não oficial (aparelho vinculado) e o smartphone principal precisa entrar online a cada 14 dias. A compatibilidade depende do firmware de cada aparelho, já rodou até num Samsung com Windows Mobile. As mensagens passam pelo servidor, porque o celular antigo não roda os clientes modernos.
Por demandar um servidor 24/7 e uma segurança entre APP/SERVER, não deixa de ser um serviço pago (R$ 9,99/mês, 3 dias grátis; a IA é adicional): https://zaptijolo.com.br
Pergunta para quem chegou até aqui: qual celular da gaveta você traria de volta?
