Show HN: Ressuscitando o navegador Dillo

Um esforço para revitalizar o navegador Dillo, ultraleve, atraiu grande interesse de usuários que valorizam navegação rápida e minimalista em hardware antigo ou com poucos recursos. Os comentaristas destacam a pequena pegada de memória do Dillo, sua extensibilidade baseada em plugins e a ausência deliberada de JavaScript como tanto uma vantagem de segurança quanto uma grande limitação na web atual, pesada em JS. O mantenedor foca em manter o Dillo vivo nas distribuições Linux e BSD, melhorar o suporte a padrões dentro do alvo HTML4/CSS2 e possivelmente modernizar o sistema de build, preservando seu nicho como uma alternativa simples e eficiente aos navegadores mainstream.

Reação geral

  • Muitos comentaristas expressam forte nostalgia e gratidão; vários ainda usam o Dillo diariamente, especialmente em máquinas muito antigas ou com poucos recursos e em conexões lentas.
  • O Dillo é elogiado pelo consumo minúsculo de memória, pela velocidade e por dar aos usuários uma sensação de controle total por meio de configurações e alternâncias simples.

Desempenho e compatibilidade

  • Funciona bem para sites com muito texto e pouco CSS (documentação, Wikipedia, HN, páginas da “small web”). Muitas vezes se assemelha ao “reader mode”.
  • A renderização de sites modernos é fraca: falha no Acid2, tem como alvo HTML 4.1 e CSS 2.1, oferece apenas suporte parcial a CSS, não tem recursos de HTML5 e os layouts frequentemente quebram.
  • Não há engine de JavaScript; muitos sites pesados em JS ou no estilo SPA simplesmente não carregam conteúdo. Alguns sites servem versões mais simples se o user agent for definido como um perfil antigo/embarcado (por exemplo, PSP).
  • Alguns recursos legados, como frames, estão ausentes, o que limita seu uso para certos documentos.

Segurança e JavaScript

  • A ausência de JS é vista por muitos como uma grande vantagem de segurança e desempenho, especialmente para abrir links suspeitos.
  • Outros argumentam que isso é enganoso: o Dillo é código C/C++ sem sandbox que ainda assim analisa formatos complexos e, idealmente, deveria rodar em um contêiner (por exemplo, bubblewrap).
  • A adição de JS por meio de uma engine leve (por exemplo, QuickJS) é discutida; mantenedores e vários comentaristas veem isso como contrário aos objetivos do Dillo e como uma grande carga de segurança/complexidade, embora alguns observem que JS pode rodar de forma aceitável em hardware antigo.

Sistema de plugins e extensões (DPI)

  • O DPI é amplamente elogiado por ser simples e poderoso: muitos recursos centrais (favoritos, downloads, cookies, alguns protocolos) são plugins que se comunicam por stdin/stdout.
  • Plugins externos adicionam protocolos como Gopher, Gemini, git, man:, etc.; forks/ports (por exemplo, Dillo+ e outros) estendem isso com mais protocolos.
  • A UX do plugin Gemini em torno de fixação de certificado está sendo discutida e aprimorada ativamente.

Build, portabilidade e manutenção

  • A nova manutenção busca manter o Dillo nas distros, adicionar suítes de teste/fuzzing e, eventualmente, modernizar o sistema de build (CMake/Meson versus manter make/autotools).
  • CI multiplataforma e trade-offs de hospedagem são debatidos: o GitHub é usado por visibilidade e CI, embora alguns prefiram forges auto-hospedadas ou federadas.
  • Problemas de SSL/TLS com OpenSSL/LibreSSL foram relatados e corrigidos rapidamente; macOS e várias arquiteturas de nicho (m68k, VAX, Atari, netbooks, Raspberry Pi Zero) são alvos ativos.

Casos de uso e alternativas

  • Uso típico: navegação leve em hardware antigo, documentação local, conteúdo no estilo smolweb e como visualizador “seguro” para URLs não confiáveis.
  • Comparações colocam o Dillo em um espectro que vai dos navegadores em modo texto (lynx/elinks/w3m) passando por Dillo/Netsurf até navegadores completos (Firefox/Chromium).
  • Alternativas mencionadas para diferentes nichos: Netsurf, Pale Moon, K-Meleon, Otter, clientes em modo texto e vários substitutos leves para Electron; o consenso é que o Dillo está entre os mais leves, mas também entre os menos compatíveis.