Show HN: Resurrecting the Dillo browser
An effort to revive the ultra-lightweight Dillo web browser has drawn strong interest from users who value fast, minimal browsing on old or low-spec hardware. Commenters highlight Dillo’s small memory footprint, plugin-based extensibility, and deliberate lack of JavaScript as both a security benefit and a major limitation on today’s JS-heavy web. The maintainer focuses on keeping Dillo alive in Linux and BSD distributions, improving standards support within its HTML4/CSS2 target, and possibly modernizing the build system while preserving its niche as a simple, efficient alternative to mainstream browsers.
Overall Reaction
- Many commenters express strong nostalgia and gratitude; several still use Dillo daily, especially on very old or low-spec machines and slow connections.
- Dillo is praised for tiny memory footprint, speed, and giving users a sense of full control via simple configs and toggles.
Performance and Compatibility
- Works well for text-heavy, low-CSS sites (documentation, Wikipedia, HN, “small web” pages). Often resembles “reader mode.”
- Rendering of modern sites is weak: fails Acid2, targets HTML 4.1 and CSS 2.1, only partial CSS support, no HTML5 features, and layouts often break.
- No JavaScript engine; many JS-heavy or SPA-style sites simply don’t load content. Some sites serve simpler versions if the user agent is set to an old/embedded profile (e.g., PSP).
- Some legacy features like frames are missing, limiting its use for certain docs.
Security and JavaScript
- Lack of JS is seen by many as a major security and performance win, especially for opening suspicious links.
- Others argue this is misleading: Dillo is unsandboxed C/C++ code that still parses complex formats and should ideally run in a container (e.g., bubblewrap).
- Adding JS via a lightweight engine (e.g., QuickJS) is discussed; maintainers and several commenters view this as against Dillo’s goals and a large security/complexity burden, though some note JS can run acceptably on old hardware.
Plugin and Extension System (DPI)
- DPI is widely praised as simple and powerful: many core features (bookmarks, downloads, cookies, some protocols) are plugins communicating over stdin/stdout.
- External plugins add protocols like Gopher, Gemini, git, man:, etc.; forks/ports (e.g., Dillo+ and others) extend this with more protocols.
- Gemini plugin UX around certificate pinning is actively discussed and improved.
Build, Portability, and Maintenance
- New stewardship aims to keep Dillo in distros, add test suites/fuzzing, and eventually modernize the build system (CMake/Meson vs keeping make/autotools).
- Cross-platform CI and hosting trade-offs are debated: GitHub is used for visibility and CI, though some prefer self-hosted or federated forges.
- SSL/TLS issues with OpenSSL/LibreSSL were reported and quickly fixed; macOS and various niche architectures (m68k, VAX, Atari, netbooks, Raspberry Pi Zero) are active targets.
Use Cases and Alternatives
- Typical usage: lightweight browsing on old hardware, local docs, smolweb-style content, and as a “safe” viewer for untrusted URLs.
- Comparisons place Dillo on a spectrum from text-mode browsers (lynx/elinks/w3m) through Dillo/Netsurf to full browsers (Firefox/Chromium).
- Alternatives mentioned for different niches: Netsurf, Pale Moon, K-Meleon, Otter, text-mode clients, and various Electron-light replacements; consensus is that Dillo is among the lightest but also least compatible.