[HN Gopher] Dillo, a multi-platform graphical web browser
___________________________________________________________________
Dillo, a multi-platform graphical web browser
Author : nazgulsenpai
Score : 174 points
Date : 2025-11-05 18:40 UTC (4 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| fer wrote:
| Previous/related: https://news.ycombinator.com/item?id=38847613
| 1313ed01 wrote:
| I installed the latest (version 1.4) FreeDOS just now and keeping
| half an eye on the installer as names of installed packages
| flashed by I noticed Dillo. Is DOS still a supported platform or
| is FreeDOS shipping some old version? I hope it is the former.
| kolme wrote:
| AFAIK Dillo is GTK-based, at least the UI part, so I don't
| think so.
| gtk40 wrote:
| Nope, it uses https://www.fltk.org/
| axus wrote:
| FLTK was a pleasure to use (for uncomplicated software).
| They also put the latest code on Github:
| https://github.com/fltk/fltk
| 1313ed01 wrote:
| I just started it up and it turned out to be Dillo 3.0 from
| 2011. I do not know if it was using FLTK back then, but a
| quick search says that FLTK has been ported to DOS so that
| might not be an obstacle for the current developers to keep
| FreeDOS support if they wanted to.
| nazgulsenpai wrote:
| It looks like FLTK was ported to DOS back in 2011 so it might
| be real https://sourceforge.net/p/freedos/news/2011/11/dillo-a-
| web-b...
| rodarima wrote:
| AFAIK Georg Potthast wrote a port that worked in DOS based on
| the work that Benjamin Johnson for Windows. I believe it was
| based on 3.0p4:
|
| https://www.bttr-software.de/forum/board_entry.php?id=10797
|
| Unfortunately, none of those ports made their way back to the
| main project. However, if there is enough interest I would be
| willing to merge them. I'm not very familiar with DOS/FreeDOS,
| so probably someone would have to help us to update the
| changes, but probably doable between 3.0 and 3.2.0.
| nicoburns wrote:
| If anyone is interested in a modern take on a lightweight,
| embeddable web browser / browser engine (that supports features
| like Flexbox, CSS Grid, CSS variables, media queries, etc), then
| I'm building one over at https://github.com/DioxusLabs/blitz
|
| Feature support matrix is here: https://blitz.is/status/css
|
| This month I have been working on support for CSS floats
| (https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/P...)
| (not yet merged to main), which turn out to still be important
| for rendering much of the modern web including wikipedia, github,
| and (old) reddit.
|
| EDIT: I should mention, in case anyone is interested in helping
| to build a browser engine, additional collaborators /
| contributors would very welcome!
| maxloh wrote:
| What JavaScript engine are you using/planning to use? I did a
| quick search on GitHub and found no results.
| nicoburns wrote:
| That's a bit of an open question at the moment. The obvious
| choice from a Rust ecosystem perspective (easiest to
| integrate) would be Boa (https://boajs.dev/). It has
| excellent standards conformance, but terrible performance.
| We'd need to test to what extent that would be an issue in
| practice.
|
| Other engines on my radar: quickjs, hermes, primjs (and of
| course V8/JSC/SM, but they don't exactly fit with the
| "lightweight ethos").
|
| There is also the possibility of bindings with more than one
| engine and/or using some kind of abstraction like NAPI or
| JSI.
| leshokunin wrote:
| Took me a sec to understand you didn't mean you're adding
| support for numbers with a comma :)
| cyanmagenta wrote:
| Took me a sec to understand you meant comma as "decimal
| point" :)
| leshokunin wrote:
| Hahaha fair point!
| bryanlarsen wrote:
| Mentioning your usage of servo components might help with
| credibility. You're not starting from scratch.
|
| Edit: to be clear, I consider this a good thing. You've got a
| head start, are contributing to the ecosystem and aren't doing
| by yourself something that others have spent billions on.
| nicoburns wrote:
| Yes, we've deliberately tried to make use of existing
| libraries (either from other browser engines or general
| purpose libraries) where possible.
|
| The main thing we pull in from Servo (which is also shared
| with Firefox) is the Stylo CSS engine, which is a really
| fantastic piece of software (although underdocumented - a
| situtation I am trying to improve). I was recently able to
| add support for CSS transitions and animations to Blitz in ~2
| days because Stylo supports most of the functionality out of
| the box.
|
| (the other smaller thing we use from servo is html5ever: the
| html5/xhtml parser)
|
| We also rely on large parts of the general Rust crate
| ecosystem: wgpu/vello for rendering (although we now have an
| abstraction and have added additional Skia and CPU backends),
| winit for windowing/input, reqwest/hyper/tokio for HTTP,
| icu4x for unicode, fontations/harfrust for low-level font
| operations, etc.
|
| And while we're building the layout engine ourselves, we're
| building it as two independently usable libraries: Taffy for
| box-level layout (development mostly driven by Blitz but used
| by Zed and Bevy amongst others), and Parley for text/inline-
| level layout (a joint effort with the Linebender open source
| collective).
|
| ---
|
| I wish that the Servo project of 2025 was interested in
| making more of their components available as independent
| libraries though. Almost all of the independently usable
| libraries were split out when it was still a Mozilla project.
| And efforts I have made to try and get Servo developers to
| collaborate on shared layout/text/font modules have been in
| vain.
| kolme wrote:
| I used to use it, like over 20 years ago! Mozilla Suite was too
| slow for my taste and I only reached for it if Dillo couldn't
| render a page :)
|
| IIRC I stopped using it when Firefox ("Phoenix" at the time) was
| released.
| jnovek wrote:
| Exactly the same! I was a student and couldn't afford a very
| nice laptop so it was fluxbox + dillo for me.
| gtk40 wrote:
| Dillo works surprisingly well. I've used it on older systems
| running new operating systems. It does a web browser should do
| best: read web pages.
| agumonkey wrote:
| the lightness and lack of javascript can be very therapeutic
| SuperNinKenDo wrote:
| Was a lifesaver to me back in the day, running my frankenstein
| machine pieced together from useless spares I cobbled together
| from the computer store I worked at briefly. Every piece of
| software I ran was trimmed down to the absolute minimum, and it
| was a time before the web was completely unusuable without an ad
| blocker. Fond memories of Dillo.
| gregsadetsky wrote:
| `brew install dillo` on Macs (and see [0] for other platforms)
|
| and then `dillo` starts up a 1.1Mb executable that is so
| freaking, shockingly fast.
|
| TIL I also learned that although the Google homepage renders
| beautifully, I need to "Turn on JavaScript to keep searching" [1]
|
| Wow, Google Maps is even snarky-ish about it: "When you have
| eliminated the JavaScript, whatever remains must be an empty
| page." (that's what appears! for real)
|
| I mean, what was I expecting. U+1F643.
|
| [0] https://github.com/dillo-
| browser/dillo/blob/master/doc/insta...
|
| [1]
| https://www.reddit.com/r/google/comments/1i3njv0/google_begi...
| nicoburns wrote:
| Yeah, Google stopped working without JavaScript in the last
| year (although I believe this is a region-dependent block and
| may also vary by user agent string)
| rodarima wrote:
| Yeah, I tried to reach out to Google back when they
| introduced the JS-wall, but they seem to have an AI chatbot
| acting as a filter, so I didn't spent much energy.
|
| Later they also blocked other non-JS browsers like links or
| w3m, so I assume they no longer care. They used to maintain
| several frontends that worked in really old devices.
|
| I don't think there is any User-Agent that works today,
| however you can still use the Google index via other search
| indexes that can fetch Google results without JS (for example
| Startpage still works). However, it is probably a good idea
| to have more options available that have their own
| independent index engine (for example Mojeek). Seirdy has a
| very good list: https://seirdy.one/posts/2021/03/10/search-
| engines-with-own-...
| nicoburns wrote:
| Startpage is a good recommendation! I am able to search the
| web using my browser with startpage. I had tried duckduckgo
| but have been unable to get past the captcha.
| userbinator wrote:
| Only several weeks ago was when they broke it for all UAs I
| could try. If anyone has figured out one that still works,
| please do tell.
|
| Incidentally, DDG still works without JS.
| t-3 wrote:
| On the same machine, Google works fine in links, but fails in
| dillo, seamonkey, firefox without js.
| jmclnx wrote:
| Yes, I have been using
|
| https://lite.duckduckgo.com/lite
|
| for searching in Dillo. Once in a while you may get a captcha
| from DDG that is far better that any other captcha I have
| ever seen. The captcha is easy to use and can be a bit fun :)
| rodarima wrote:
| Maintainer here.
|
| We are currently in the process of moving Dillo away from GitHub:
|
| - New website (nginx): https://dillo-browser.org/
|
| - Repositories (C, cgit): https://git.dillo-browser.org/
|
| - Bug tracker (C, buggy): https://bug.dillo-browser.org/
|
| They should survive HN hug.
|
| The CI runs on git hooks and outputs the logs to the web (private
| for now).
|
| All services are very simple and work without JS, so Dillo can be
| developed fully within Dillo itself.
|
| During this testing period I will continue to sync the GitHub git
| repository, but in the future I will probably mark it as
| archived.
|
| See also:
|
| - https://fosstodon.org/@dillo/114927456382947046
|
| - https://fosstodon.org/@dillo/115307022432139097
| fishgoesblub wrote:
| Why cgit and not something nice like Gitea, or Forgejo?
| thesuitonym wrote:
| My guess is gitea and forgejo don't render well in Dillo.
| Bolwin wrote:
| They're like 10x more complex and you don't need most of
| their functionality for just a frontend.
|
| That said I wish there was something a little better than
| cgit
| messe wrote:
| Have you looked at self hosting sourcehut
| (https://sourcehut.org/)?
| rodarima wrote:
| Yes, but all those services have the same main problem: a
| single point of failure. They also don't work offline.
|
| I believe that storing the issues in plain text in git
| repositories synced across several git servers is more
| robust and future-proof, but time will tell.
|
| Having a simple storage format allows me to later on
| export it to any other service if I change my mind.
| mixmastamyk wrote:
| Hmm, it is tiny on my highres screen. Anyone know how to double
| the scale?
| O1111OOO wrote:
| Check out: /etc/dillo/dillorc
|
| There are options here for (my setup below):
|
| geometry=1600x900
|
| increase font_factor=1.75
|
| bg_color=0xFAF9F6
|
| Start and Home pages too.
| nicoburns wrote:
| Is there some kind of status tracker somewhere. That describes
| which web standards are supported?
| rodarima wrote:
| Not really. There was this list but it is outdated:
| https://dillo-browser.org/old/css_compat/index.html
|
| Probably the best indicator of which features are supported
| is to pass as many tests as possible from WPT that cover that
| feature.
|
| I did some experiments to pass some tests from WPT, but many
| of them require JS to perform the check (I was also reading
| how you do it in blitz). It would probably be the best way
| forward, so it indicates what is actually supported.
| nicoburns wrote:
| > but many of them require JS to perform the check
|
| Yeah, if we add JS support to Blitz then one of our initial
| targets will probably be "enough to run the WPT test
| runner".
|
| > I was also reading how you do it in blitz
|
| We are able to run ~20k tests (~30k subtests) from the
| `css` directory without JS which is IMO more than enough
| for it to be worthwhile.
|
| > Probably the best indicator of which features are
| supported is to pass as many tests as possible from WPT
| that cover that feature.
|
| Yes, and no. It definitely is an indicator to some extent.
| But in implementing floats recently I've a lot of the web
| suddenly renders correctly, but I'm only passing ~100 more
| tests!
| eikenberry wrote:
| What is the bug tracking software you are using?
| saint_yossarian wrote:
| https://git.dillo-browser.org/buggy/
| rodarima wrote:
| I wrote my own:
|
| https://git.dillo-browser.org/buggy/
|
| It fetches the issues from GitHub and stores them in
| <number>/index.md in Markdown format, with some special
| headers. I then keep the issues in a git repository:
|
| https://git.dillo-browser.org/bugtracker/
|
| So we have a very robust storage that we can move around and
| also allows me to work offline. When I want to push changes,
| I just push them via git, then buggy(1) runs in the server
| via a web hook. This also tracks the edit changes.
|
| While typing, I often use `find . -name '*.md' | entr make`
| which regenerates the issues that have changed into HTML as
| well as the index, then sends a SIGUSR1 to dillo, which
| reloads the issue page.
|
| The nice thing of allowing arbitrary HTML inline is that I
| can write the reproducers in the issue itself:
|
| https://git.dillo-
| browser.org/bugtracker/tree/501/index.md#n...
|
| Closing an issue is just changing the header "State: open" by
| "State: closed", often with a comment pointing to the merged
| commit.
| khimaros wrote:
| maybe of interest: https://github.com/git-bug/git-bug
| imglorp wrote:
| Repeating a warning from github about the old URL - dillo.org
| is not controlled by the devs and could become a malware route,
| is that right?
| rodarima wrote:
| Yes, thanks for the reminder. This is what they write about:
|
| https://dillo.org/post-sitemap.xml
|
| At some point I should investigate if we can fill a complaint
| to get it taken down at least. Here is more info:
| https://dillo-browser.org/dillo.org.html
| znpy wrote:
| I have the fondest memories of running dillo under netbsd on my
| hp jornada 728, around 2008 -2009... thank you for all the
| work!
| jmclnx wrote:
| And dillo still works great on NetBSD :)
|
| I think it is becoming more important to i386 BSD, especially
| since i386 OpenBSD can no longer build Firefox, Seamonkey and
| IIRC Chrome on i386 systems.
|
| I have been using dillo more and more as time goes on, plus
| you can get plugins for Gemini Protocol and Gopher.
| anthk wrote:
| gemini://gemi.dev with News Waffle it's a godsend to read
| bloated news sites, both in English and in Spanish. Also,
| gopher://magical.fish The register, some bloated Spanish
| such as Xataka and Genbeta...
| MarsIronPI wrote:
| I remember installing Debian on my OLPC XO-1. Dillo and
| Netsurf were the only browsers that I even tried running on
| that thing (w. 512MB RAM). Netsurf had better compatibility,
| but Dillo was noticeably faster and more responsive. Truly a
| pleasure to use when it supported the site I was on.
| sylware wrote:
| If they could move away from c++ too.... like plain and simple
| C like the netsurf browser?
| anthk wrote:
| DIllo is much lighter and it supports Gopher, Gemini, Info,
| Man and _potentially_ in a further future, URL rewritting
| plugins.
| mtillman wrote:
| It still has great looking icons, a proper boarder bevel, and
| real scroll bars. Thank you!
| puttycat wrote:
| Can you say more about why you're moving away from GitHub?
| glenstein wrote:
| Dillo is hands down the best ultra lightweight browser ever
| developed in my opinion. I had a Toshiba Tecra that I got from
| Goodwill when I had absolutely no money whatsoever in my college
| days, And it was at least 15 years out of date as a laptop even
| when I first got it. I installed Puppy Linux on it, and I had
| Dillo as the browser. Its ability to bring rapid web browsing to
| old hardware is without equal.
|
| I still use a modern version of it now on a Pine Tab 2 tablet,
| which has slow enough hardware that you want something like Dillo
| to make it feel snappy. I just make sure to bookmark lightweight
| websites that are most agreeable to Dillo's strip down versions
| of web pages.
|
| It's one of the reasons I feel like Linux on the desktop in the
| 00s and 2010s had the superpower of making ancient hardware
| nearly up to par with modern hardware or at least meaningfully
| closing the gap.
| acaloiar wrote:
| I may be imagining this, but I'm nearly certain I was running
| dillo on a PDA (I want to say Palm Treo) around 2001. I remember
| it feeling revolutionary to open up a webpage on something other
| than my linux desktop computer at the time. Over Wifi!
|
| I hope it survives another 25 years.
| rodarima wrote:
| Oldest I could find was an Ipaq 3700: https://dillo-
| browser.github.io/gallery/
| KaiserPro wrote:
| Holy fuck, is Dillo still going? thats amazing work. I remember
| using it with compiz and that whole generation of early 64bit
| software.
| jll29 wrote:
| Cool, I installed it on a Mac with M1, which gives you a glimpse
| how fast live could be without bloat.
|
| Using it shows how rotten the World Wide Web has become, with
| mandatory JavaScript everywhere, even on google.com, which I was
| not aware of.
|
| I'm very much looking forward to Ladybird's first alpha release
| next August.
| Figs wrote:
| How is the name pronounced? Is it said like the pickle (Dill-O)
| or with the Spanish double L (diyo) or something else?
| joshmarinacci wrote:
| I'm impressed. It runs my dev blog quite well. Some of the CSS
| alignment is off and it doesn't load web fonts, but it looks
| basically the same as Chrome. Even the syntax highlighted code
| snippets work.
|
| https://joshondesign.com/2025/09/16/embedded_rust_03
| busymom0 wrote:
| > it doesn't load web fonts
|
| Some may consider that to be a feature
| simonw wrote:
| I noticed the original commit to Git was October 2007 - but if
| you look at that commit it include this Changelog
| https://github.com/dillo-browser/dillo/blob/93715c46a99c96d6...
| which has the earliest entry of:
| dillo-0.0.0.tar.gz [Dec, 1999]
|
| Legendary project.
| rodarima wrote:
| In 2007 it was moved to Mercurial which I then exported to git
| when the hg server went down. The history from 2002-2007 was
| lost (I believe SVN), if someone still has a copy please send
| it to us. See the missing section:
|
| https://dillo-browser.org/release/3.1.0/commits-author.png
|
| The initial release was around the 15th of December, 1999. It's
| going to be 26 years ago: https://dillo-
| browser.org/25-years/index.html
___________________________________________________________________
(page generated 2025-11-05 23:00 UTC)