Dillo, a multi-platform graphical web browser

(github.com)

124 points | by nazgulsenpai 2 hours ago

13 comments

  • rodarima 1 hour ago
    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

    • imglorp 1 hour ago
      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?
    • znpy 29 minutes ago
      I have the fondest memories of running dillo under netbsd on my hp jornada 728, around 2008 -2009… thank you for all the work!
    • fishgoesblub 1 hour ago
      Why cgit and not something nice like Gitea, or Forgejo?
      • thesuitonym 52 minutes ago
        My guess is gitea and forgejo don't render well in Dillo.
      • winningChild 56 minutes ago
        [dead]
    • nicoburns 1 hour ago
      Is there some kind of status tracker somewhere. That describes which web standards are supported?
      • rodarima 1 hour ago
        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 46 minutes ago
          > 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!

    • mixmastamyk 1 hour ago
      Hmm, it is tiny on my highres screen. Anyone know how to double the scale?
      • O1111OOO 33 minutes ago
        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.

    • eikenberry 1 hour ago
      What is the bug tracking software you are using?
  • nicoburns 2 hours ago
    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!

    • bryanlarsen 1 hour ago
      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 13 minutes ago
        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 he 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.

    • leshokunin 1 hour ago
      Took me a sec to understand you didn’t mean you’re adding support for numbers with a comma :)
      • cyanmagenta 1 hour ago
        Took me a sec to understand you meant comma as “decimal point” :)
    • maxloh 1 hour ago
      What JavaScript engine are you using/planning to use? I did a quick search on GitHub and found no results.
      • nicoburns 1 hour ago
        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.

  • glenstein 1 hour ago
    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.

  • kolme 1 hour ago
    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 1 hour ago
      Exactly the same! I was a student and couldn’t afford a very nice laptop so it was fluxbox + dillo for me.
  • Figs 13 minutes ago
    How is the name pronounced? Is it said like the pickle (Dill-O) or with the Spanish double L (diyo) or something else?
  • gtk40 1 hour ago
    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 1 hour ago
      the lightness and lack of javascript can be very therapeutic
  • jll29 30 minutes ago
    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.

  • acaloiar 1 hour ago
    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.

  • fer 2 hours ago
  • gregsadetsky 1 hour ago
    `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 1 hour ago
      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 1 hour ago
        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 58 minutes ago
          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 1 hour ago
        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 56 minutes ago
        On the same machine, Google works fine in links, but fails in dillo, seamonkey, firefox without js.
  • 1313ed01 2 hours ago
    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.
    • rodarima 41 minutes ago
      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.

    • nazgulsenpai 1 hour ago
      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...
    • kolme 1 hour ago
      AFAIK Dillo is GTK-based, at least the UI part, so I don't think so.
      • gtk40 1 hour ago
        Nope, it uses https://www.fltk.org/
        • axus 1 hour ago
          FLTK was a pleasure to use (for uncomplicated software). They also put the latest code on Github: https://github.com/fltk/fltk
        • 1313ed01 1 hour ago
          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.
  • SuperNinKenDo 1 hour ago
    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.
  • KaiserPro 50 minutes ago
    Holy fuck, is Dillo still going? thats amazing work. I remember using it with compiz and that whole generation of early 64bit software.