Dillo 3.10 and Gopher

Back when I was just starting to realize that the modern web
was in many ways the antithesis of what we had thought the
web of the 1990s might become ... before I'd heard of SDF,
or the tildeverse, or smolnet, or gemini, and when I thought
gopher was this ancient protocol that nobody used anymore
.. I had this obviously silly and unworkable idea, which
was, "what if we sectioned off a part of the web where it
was still like the 1990s, with lots of quirky odd little
hobby and personal sites?"

And I thought at the time that Dillo, the lightweight
graphical browser that eschewed javascript, might be the
perfect client to use for such a project.  Because, it
seemed to me, the fundamental technological difference
between the 1990s web and today is that it went from being a
document-centric platform to being application-centric, and
javascript (while it has its uses) enabled that, plus all
kinds of ancillary abuse.

Anyhow, my feeble conception of a "web roots" movement was
for me just a passing idea. One that was clearly in the air
at the time, and I did nothing with it, so I'm not claiming
any credit here. I mention it only to provide some context
why I was really happy to hear yesterday that Dillo is being
developed again and just had its first new release in 9
years! And why I've already installed it on two computers,
my home desktop running Ubuntu 20.04, and a laptop running
Debian 12.

Out of the box Dillo is a web browser, but there are plugins
for alternative protocols like gopher, gemini, ipfs, etc. I
had a bit of difficulty getting the Gopher plugin to work
properly, so I'm going to make a few notes here in case it
helps anyone else who happens to be running a recent-ish
version of Ubuntu or Debian.

First off, download the Dillo source from github releases:

https://github.com/dillo-browser/dillo/releases/tag/v3.1.0

(not from the main source branch unless you know more about
compiling software than I do. It requires autoconf which
failed with a couple of errors when I tried it, so probably
you need a quite recent version of autoconf).

I found a list of dependencies in some older documentation.
You might want to run the following command:

sudo apt install gcc g++ autoconf automake make zlib1g-dev
libfltk1.3-dev libssl-dev libc6-dev libpng-dev libjpeg-dev

The standard commands for compiling under gcc work just
fine:
/configure
make
sudo make install

That should get you a working version of Dillo. Fire it up
and take it for a test drive!

Next, install the gopher plugin.

Download it from:

https://github.com/dillo-browser/dillo-plugin-gopher

In this case, do download the master branch from the github
repo. Unzip that, and install it with:

make install

Fire up Dillo. Notice that Gopher now works. Yay! But
Dillo's bookmarks are broken. Boo.

What happened is that "make install" installed a file at
~/.dillo/dpidrc that overrides the settings in the default
dpidrc file that lives at /usr/local/etc/dillo/dpidrc

Unfortunately, local file has the wrong dpi_dir setting, namely:

dpi_dir=/usr/lib/x86_64-linux-gnu/dillo/dpi

The dpi directory is where Dillo stores its plugins (and
bookmarks are a plugin, apparently). You can have a dpi
directory in your ~/.dillo folder and that's fine (that's
where the gopher plugin lives) but your main dpi directory
that got installed with Dillo lives elsewhere, so your
dpi_dir should be set as follows in ~/.dillo/dpidrc:

dpi_dir=/usr/local/lib/dillo/dpi

Update your local dpidrc file with the correct dpi_dir.

Also, the Gopher dpidrc file also has an extra
protocol entry that the main dpidrc file doesn't have,
namely:

proto.https=https/https.filter.dpi

I'm not certain if it's necessary to remove it, but I did so
just in case.

You will probably also want to copy the file
/usr/local/etc/dillo/dillorc to your ~/.dillo folder, so you
can customize it with your local homepage, font size, etc.

Dillo, your bookmarks and gopher should all work now! Happy
smolnet browsing.