return to table of content

Show HN: Dillo 3.1.0 released after 9 years

mikae1
9 replies
19h36m

Stupid (and unthankful) question perhaps, but have you considered working on https://ladybird.dev instead? Kling and the small team seem to be making great progress.

rodarima
8 replies
19h27m

AFAIK, Ladybird goal is to build an independent web browser from scratch that can render the "modern" web.

Dillo original goal[1] is to provide access to the web to places with very bad internet speed or latency as well as old or resource constrained computers.

[1]: https://dillo-browser.github.io/old/interview.html

I don't think we will ever implement JS support, as that would increase a lot the minimum requirements to run Dillo and make the attack surface on the browser much bigger.

niutech
6 replies
9h7m

Rather than joining Ladybird, it would be great to see a merge of Netsurf and Dillo as a very lightweight alternative to Blink/Webkit/Gecko/Goanna-based browsers.

For low bandwidth or slow computers, also try Carbonyl Terminal (https://github.com/niutech/carbonyl-terminal).

shiomiru
2 replies
7h27m

If you like Carbonyl, but want something simpler, you may also find my TUI browser Chawan[0] interesting. It supports CSS and JS (kind of...), but unlike Carbonyl, it has its own browser engine written from scratch. It also bears similarities to Dillo, in that it's easy to add custom protocols.

[0]: https://sr.ht/~bptato/chawan/

niutech
1 replies
7h14m

Very nice! Are there any binary packages to test it on Linux/WSL? Have you considered support for UTF-8 half-blocks or Sixel for graphics?

shiomiru
0 replies
6h49m

Are there any binary packages to test it on Linux/WSL?

Some kind strangers have created unstable packages on the AUR[0] and NixOS[1]. The former is quite recent, the latter is somewhat older.

Have you considered support for UTF-8 half-blocks or Sixel for graphics?

In fact, there is experimental support for the sixel & kitty protocols, but for now it's slow, ugly, and only works with PNG.

You can play around with it by putting the following in ~/.config/chawan/config.toml:

    [[siteconf]]
    host = 'm\.xkcd\.com' # regex for URL matching; .* also works
    images = true # try `cha m.xkcd.com'
but you will see that it's undocumented for a reason...

[0]: https://aur.archlinux.org/packages/chawan-git

[1]: https://search.nixos.org/packages?channel=unstable&show=chaw...

anthk
2 replies
8h14m

I think not, Dillo it's much faster than Netsurf, and it's often more stable.

niutech
1 replies
7h25m

If you combine performance & stability of Dillo with better HTML5 support of Netsurf, you could get a great lightweight alternative to mainstream browsers.

anthk
0 replies
5h57m

Often by using Dillo's minimal CSS web sites get far less broken than with Netsurf.

With Dillo I'd just had as a 'new' feature, audio and video links opened with xdg-open (or any other plumber) and better Unicode support, which might be reduced due to FLTK, but FLTK itself calls XFT, so I doudt it, as I happened to perfectly open Motif based stuff compiled against XFT with the full coverage of the Unifont font set.

mikae1
0 replies
9h18m

OK, thanks for clarifying the goal.

floxy
9 replies
21h20m

Anyone ever compile a browser with emscripten to wasm? So that you could try out a new browser without having to download and install it? I think that could be genuinely useful in instances like this (try-before-you-buy-browser-in-your-browser), instead of just a recursive curiosity.

bmacho
4 replies
20h39m

You probably can't try out a browser in the browser, because of the CORS rules.

bmacho
0 replies
6h51m

That's not a browser (even if you renamed it to "webkit browser"), and not working

crznp
1 replies
18h25m

You could if the host domain acted as a VPN/proxy

genewitch
0 replies
13h26m

the cloudpilotemu project can use this host browser as a proxy thing so you can sync your emulated (in the browser) to your PC as well as give the emulator internet access, likely one way to have a browser in a browser.

I didn't try it out, though, i just read it in the documentation.

yjftsjthsd-h
0 replies
20h46m

In some ways it would miss the main use of dillo, but at the same time if you were going to embed a browser like that surely dillo is a great option precisely because of how light it is.

thriftwy
7 replies
21h38m

Dillo just shows how fast the web without css, js and fonts is. It loads before you even lift your finger from the keyboard.

anthk
4 replies
21h37m

Dillo supports a minimal amount of CSS. The issue it's mainly JS.

kristopolous
3 replies
21h22m

It'd be interesting to make a "less ambitious" JS in the same way that embedded chips have these less ambitious "dialects" of c and c++.

Like a js-mini that doesn't have the bells and whistles like opengl, bluetooth and midi support

cxr
0 replies
20h6m

That's a category error. JS is a programming language. All the bells and whistles you mention are part of Web platform machinery with APIs through JS-level bindings accessible to programs written by website authors. The language/dialect has little to do with it; you're envisioning a different stack that would require a new browser engine, not a language.

baq
0 replies
7h51m

Ditch js altogether and just provide a minimal WASM interpreter. A dillo-compatible page could then ship with a js runtime as a shim.

anthk
0 replies
19h48m

It exists, Duktape and Quickjs, but even on bigger browsers the support it's subpar.

Shockingly, edbrowse parses JS pages well enough to login and post in some sites.

agumonkey
1 replies
21h37m

20 tabs for less than 1MB of RAM. At one point I used it for programming docs browsing.

cxr
0 replies
20h12m

People working on developer docs would do well to make them work well in terminal-based browsers, too. This should be the norm.

Palomides
6 replies
20h23m

how does dillo compare with netsurf? I've been considering porting netsurf to an unusual platform, but if dillo has substantially better handling of modern pages, I might use it instead

SahAssar
2 replies
20h8m

Are you also considering ladybird?

Palomides
1 replies
18h47m

I hope to, though I'm a little concerned its design and dependencies will be harder to handle

niutech
0 replies
9h3m

Ladybird is much more heavyweight at this point, it uses hundreds MB of RAM, not tens MB like Dillo.

rodarima
1 replies
20h16m

What prevents you from doing some tests? We have seen Dillo running in a lot of old and not very common machines (Atari), so you may have some work already done.

Palomides
0 replies
18h48m

nothing! I look forward to testing it out, just haven't had the time yet

marttt
0 replies
17h0m

I think Netsurf renders pages closer to what they "should" look like in a mainstream browser. However, a huge bonus for Dillo is that it is really easy to switch off CSS, images, etc if the page doesn't look "good", and only render the text (IMO this is also very much encouraged by the UI). I recall having some rendering annoyances with Netsurf, but this was at least 5 years ago.

rodarima
5 replies
21h33m

By the way, there is a CSS bug in HackerNews that we discovered today[1] that is causing most of the rules to be wrongly parsed. I'm not sure if hn@ycombinator.com is the proper place to report it.

https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman...

Here is the bad rule:

    input[type=\"submit\"] { font-family:Verdana, Geneva, sans-serif; }

dang
3 replies
21h27m

Should be fixed now. Thanks!

fallingsquirrel
1 replies
21h19m

5 minute bugfix, on a Saturday no less. Incredible

Sabinus
0 replies
20h54m

Dang is a treasure.

rodarima
0 replies
21h21m

Thanks!

philipkglass
0 replies
21h30m

Yes, email hn@ycombinator.com. Dang is very responsive.

riffic
5 replies
20h0m

Again I love how posts like these have no context what a Dillo is. While it's not hard to find that info out on my own, it could have also been done by the poster.

kudos on shipping code I guess.

bckr
3 replies
19h55m

You could have used this comment to tell us what it is.

It’s a minimalistic web browser that works on low powered machines

https://dillo.org/

bckr
0 replies
17h53m

Thanks

riffic
0 replies
19h19m

nah someone else in the thread already did that.

rodarima
0 replies
19h52m

TLDR: Dillo is a fast and small graphical web browser. It kind of died in 2017 and this is the first release after 9 years from the last one.

You can read the main website for more details[1].

[1]: https://dillo-browser.github.io/

And the release page[2], which explains a bit of the history of the project and the current state.

[2]: https://dillo-browser.github.io/latest.html

goosedragons
5 replies
21h37m

Brings back memories. I used to use Dillo on Damn Small Linux on my hand me down laptop with 32MB RAM which even then was a pitiful amount for web browsing.

anthk
0 replies
9h28m

Dillo is my daily browser among Links under an N270 netbook.

I might submit a photo with the device running Dillo.

oblio
1 replies
7h56m

I've never browsed on anything faster than Links with image support and JS support. Before CSS took of it was stil usable and web pages loaded INSTANTLY.

I don't I'll ever see anything like it again, despite 10-100x the computing power and 10-100x the bandwidth increases.

idatum
0 replies
17h43m

Yes, same -- for me a '98 Toshiba laptop running NetBSD. Nicer to use compared to lynx but not bloatware.

cxr
4 replies
20h18m

From <https://dillo-browser.github.io/dillo.org.html>

we have setup a new website based on GitHub pages (so hopefully it won't dissapear soon)

Why cede control of your namespace to GitHub, though? You can host stuff on GitHub Pages without having to go through github.io to get there. Just grab another (cheap) domain and set up a CNAME record to point to GitHub Pages.

rodarima
1 replies
20h7m

Because I considered it a good starting point as I can place a redirect notice there if we move to another place, without worrying we will lose the DNS again. If you want to help, feel free to do so :-)

cxr
0 replies
18h7m

dilloproject.org

This cost me $17.32 for two years—so this time next year, even if there's not $11 or whatever available, there'll be a whole other year to come up with it.

NearlyFreeSpeech.NET (which this isn't using right now; it's just on a free static host) allows anyone to deposit funds into an account for sites hosted there, not just the person behind the site, which means it can in theory stay up indefinitely, even if the person in charge is incapacitated and/or stops putting their own money into it (so long as they don't actively take an interest against its continued operation).

fn-mote
1 replies
20h4m

Just grab another (cheap) domain

The post explains how they lost their long-held domain name. At least GitHub won't dry up and blow away if you miss a payment.

They're all cheap at the start... and do not necessarily stay that way.

The very end of the post makes it clear this is a temporary situation.

cxr
0 replies
19h5m

wat

They didn't lose dillo.org because it suddenly became not cheap. They didn't "lose" it at all—they were never in control of it. The post explains that it lapsed because whoever had it didn't renew, and it wouldn't matter much, because the person who was in charge is no longer involved with Dillo, anyway, which would have made dillo.org a true zombie site.

The very end of the post makes it clear this is a temporary situation

There's no such thing when it comes to namespaces. Which is my whole point.

If they had grabbed dilloproject.org (or whatever) today, they could continue using that no matter where they're actually hosting the pages in the future. Once you're in somebody else's namespace, though, the only thing you can do is abandon it after adopting a new one and hope that a redirect suffices.

zem
3 replies
19h53m

awesome work! dillo used to be my standard documentation browser when projects started using html for their docs, it was snappy and opened files almost instantly

zem
0 replies
19h47m

nice :) thanks for the pointer

anthk
0 replies
9h2m

The gopher one it's broken upon using a URL with no selector: gopher://sdf.org for instance. it defaults to a 0 one so it doesn't show up right, you need to state gopher://sdf.org/1/ by hand. Otherwise, it works great.

On the man plugin, for the users with mandoc/mdoc, I found a bug, '-T html' should be '-Thtml' without spaces. Then works fine.

hanniabu
3 replies
21h28m

screenshots?

iamthejuan
0 replies
21h25m

Click Home.

iamthejuan
0 replies
21h25m

Chuck Home.

LAC-Tech
3 replies
20h44m

Really cool. Will grab it when it hits the arch repos. Might make a comfy set up where I bookmark some low resource websites and use dillo to browse them. Fond memories from tiny linux distros that ran entirely in a few MB of ram using dillo.

rodarima
1 replies
20h41m

It is orphan in Arch, but I will check tomorrow if I can apply for maintainer. In the meanwhile I have the AUR package[1] dillo-git:

[1]: https://aur.archlinux.org/packages/dillo-git

rodarima
0 replies
8h4m

It is on the Arch Linux repository now :-)

  # pacman -Syu dillo

marttt
0 replies
17h7m

I think it is still the default browser for Tiny Core Linux.

sylware
2 replies
17h6m

If you are interested in dillo, have a look at netsurf, another css renderer, but this one has the big advantage to require only a plain an simple C compiler, not a gigantically complex c++ compiler.

That said, more noscript/basic (x)html browsers, the better, even written with computer languages with an extremely complex syntax (rust/java/etc).

anthk
1 replies
5h0m

Unless Netsurf compiles with TinyCC, cparser or cproc, sadly both gcc and clang are bloated.

sylware
0 replies
4h0m

I did a plain and simple C port of bzip2 busybox code for plain and simple C compilers: on bzip2 compression, tinycc is really slow, ~2 times slower than gcc (13.2 -O2)... but cproc/qbe gets... ~70-80% of gcc speed. Switching to cproc/qbe would clearly be a win for a lean open source stack (which de-facto excludes c++ and similar ultra-complex syntax computer languages).

In my project list: a minimal linux kernel with gcc-cleaned C code.

ptek
2 replies
17h2m

Thanks.

Will try this on NetBSD :)

jmclnx
1 replies
5h41m

me too :) actually NetBSD is where I use Dillo the most! Congratulations to the Dillo Team.

And https://daemonforums.org/ works great with dillo, with dillo you can even log into daemonforums. The ID ywill not be saved, but AFAIK no other forum allows login when in dillo.

627467
2 replies
20h26m

TIL of Spartan Protocol. I love Dillon, how is it handling modern security features like new versions of TLS or SSL?

rodarima
0 replies
20h21m

TIL of Spartan Protocol

You can browse spartan pages with a Dillo plugin[1], as well as Gopher, Gemini and others.

[1]: https://dillo-browser.github.io/#plugins

how is it handling modern security features like new versions of TLS or SSL

We support OpenSSL 1.1 and 3 (and any other API-compatible), LibreSSL and mbedTLS 2 and 3. You can choose the one you like/trust more at link time.

Whitespace
0 replies
20h19m

It's in the changelog summary:

Add support for OpenSSL, LibreSSL and mbed TLS for HTTPS, which is now enabled by default.
vouaobrasil
1 replies
21h11m

I love these minimal browsers. Much better than the modern-style web for sure.

ptek
0 replies
16h59m

ugh tell me about it. Especially with all the frame works added :(.

And the CSS wizards who remove the underline on the link, so when I'm helping people over the phone they can't find the link :'-(

And the damn trackers :(

niutech
1 replies
9h15m

2024 is a breakthrough year - first Netsurf 3.11 released after many years (https://news.ycombinator.com/item?id=38804205), Servo picked up from the dust, Ladybird getting better every month and now Dillo 3.1 resurrected after 9 years!

ptx
0 replies
5h21m

I wonder if we'll see a revival of Grail [0], Guido van Rossum's browser from the the late 90s with support for Python-based applets. :)

His draft paper [1] from 1996 mentions some limitations due to lack of support for threading, which is no longer an issue. And maybe the JIT that's currently being worked on will help with the "rather grim image of performance".

On the other hand, the restricted execution mode in Python that Grail relies on has long since been removed (much like Java's corresponding features). Maybe OS-level sandboxing features (e.g. Capsicum, pledge, Landlock, etc.) could be used instead?

[0] https://en.wikipedia.org/wiki/Grail_(web_browser)

[1] https://grail.sourceforge.net/info/papers/restofus.html

khimaros
1 replies
16h8m

is there a document or code reference that describes the subset of HTML/JS/CSS which is supported by dillo? i've seen a number of people wishing for realistically achievable "HTML-lite" that could be targeted as an alternative to separate protocols like Gemini and dillo's baseline feels like it would be a good starting point.

niutech
0 replies
7h11m

Probably HTML 4.01 spec.

cookiengineer
1 replies
12h22m

Do you test the engine against acid3?

I think what we need would also be something like acid4 as a test suite, because CSS4 with its flow-root rework is kinda hard to implement for browser engines from the CSS2.1 age. Basically everything has been changed when it comes to the parser's grammar and lexical approach. Things like nested conditions in CSS through media queries or supports queries are impossible to implement without rewriting the parser from scratch.

Do you plan on implementing all the event/media/supports related stuff from an isolated CSS perspective, including pointer events, transitions and animations?

Because having the @supports queries unified across the board would help a lot supporting older browsers without animations or without a tweening engine.

zamadatix
0 replies
32m

Things like WPT (Web Platform Tests) and Test262 have largely replaced the old Acid test line, albeit they aren't as flashy/fun/user friendly so they don't have as much public attention as the Acid tests did.

anthk
1 replies
21h37m

The coverage on CJK fonts it's still bad, even on supported fonts. Also, a tip: <audio> and <video> tags should be able to be redirected into a media player, or xdg-open.

rodarima
0 replies
21h25m

There are a lot of features waiting to be included in Dillo. We focused on solving bugs first and tried to get as few features as posible to get the 3.1.0 out as soon as posible.

Apart from CJK, there are other issues with fonts that we have to solve too. Feel free to open more issues: https://github.com/dillo-browser/dillo/issues

throwaway984393
0 replies
19h42m

I can still vaguely remember when the web was mostly just HTML, images, css, and the occasional plugin content like Flash, Java, and RealPlayer. You could really do a lot of stuff in a tiny package. Now you have to run a pseudo-operating system to deliver bizarre bloated applications via text. Technology didn't used to make me sad...

I once shipped Dillo in a tiny memory resident distro, it was fantastic. Happy to see its return.

rogeliodh
0 replies
21h34m

btw, "Dillo is a fast and small graphical web browser"

marttt
0 replies
17h8m

Made my day, massive thanks! Dillo must be my all time favorite browser by far. Responsiveness, modular UI and excellent config file -- everything about it is pure joy, really.

krylon
0 replies
21h36m

Thank you very much!!!

kome
0 replies
20h29m

I loved Dillo! great to see new activity

h4sh
0 replies
20h43m

the best dillo experience on macos is probably with https://github.com/crossbowerbt/dillo-plus/ ( I couldn't get dillo to compile easily on macos, it doesn't seem to detect ssl libraries installed on the system)

you can do this to compile it on macos (tested on M1):

install https://www.xquartz.org/ to have X11

brew install fltk libjpeg #you might also need openssl@3 but unsure

git clone https://github.com/crossbowerbt/dillo-plus/; cd dillo-plus

# update the 1.3.8_1 fltk version sed 's/1.3.8_1/1.3.9/g' Makefile.options.MacOS > Makefile.options

make -j8

# find binary in ./src/dillo

maybe someone should make a brew package (for both this and dillo-plus)..?

forgotmypw17
0 replies
15h51m

Yes! Thank you so much. I love this browser, and I'm really grateful to you for maintaining it.

I test my websites with Dillo diligently, so I have some re-testing to do now. :)