Dillo Browser
___ _ _ _
| \ (_) | | | | ___
| |) | | | | | | | / _ \
|___/ |_| |_| |_| \___/
___
| _ ) _ _ ___ __ __ __ ___ ___ _ _
| _ \ | '_| / _ \ \ V V / (_-< / -_) | '_|
|___/ |_| \___/ \_/\_/ /__/ \___| |_|
╔─*──*──*──*──*──*──*──*──*──*──*──*──*──*──*──*─╗
║1 ........................................ 1║
║2* ........................................ *2║
║3 ........................................ 3║
║1 ...........Posted: 2024-04-01........... 1║
║2* .............Tags: gopher .............. *2║
║3 ........................................ 3║
║1 ........................................ 1║
╚────────────────────────────────────────────────╝
Dillo[1] is a very lightweight browser. I personally enjoy it because I feel it
suits Window Maker[2] and it has Gemini and Gopher[3] plugins.
As of writing this article, Dillo in Debian 12's repo is, I'm told I think, 10
years old.
# Compiling Dillo
An article on installing Dillo from the repo[4]
Another article on installing/building Dillo from the repo[5]
Make sure the Dillo from the repo isn't installed:
```
sudo apt-get remove dillo
```
Clone the repo and set as working directory:
```
git clone https://github.com/dillo-browser/dillo
cd dillo
```
Install the dependencies (maybe more required, I can't recall, install as you
find out what's missing):
```
sudo apt-get update
sudo apt-get install libfltk1.3-dev
```
You may want to ensure you have OpenSSL 1.1 or 3, I think, for HTTPS.
Now you can start the build process. I had an issue where Base64 encoded images
didn't seem to work. The Dillo browser account on Fosstodon helped me with
that[6], so that's why I'm trying the `--prefix` flag here (they also
recommended that the `~/.dillo/dpidrc` file has the `dpi_dir` properly set to
the *dpi directory* in the installation, otherwise it won't be able to find the
builtin plugins).
```
./autogen.sh
./configure --prefix=/usr/local
```
The summary from my `./configure` command looked something like this:
```
Configuration summary:
CXX : g++
CXXFLAGS: -g -O2 -Wall -W -Wno-unused-parameter -fno-rtti -fno-exceptions
TLS enabled: yes
TLS library: OpenSSL
TLS flags : -lcrypto -lssl
Cookies enabled: yes
XEmbed enabled : yes
RTFL enabled : no
JPEG enabled : no
PNG enabled : yes
GIF enabled : yes
HTML tests : no
```
I should probably install one of the `libjpeg` packages I think.
After you've ran configure or whatever pay attention to what is supported or
not, such as libpng and the like... Now you can finally build:
```
make
sudo make install
```
Try opening dillo:
```
dillo https://www.someodd.zip/
```
Test loading a Base64 encoded GIF :
```
dillo "data:image/gif;base64,R0lGODdhFAAXAPAAMf///wAAACwAAAAAFAAXAAACQISPqcvtD02YtFYV4EzZZtSBgMdJR2eV5jimJolebXzBsrRhJP6BXk6J+HqnW5E4M844uyPT5XzmhsLj71rDYgsAOw=="
```
There's also a Dillo config file...
# Gopher Plugin
I like using the Gopher Protocol, just take a look at projects and posts about
the Gopher Protocol I've made[7].
There's a Gopher Plugin that lets you browse the Gopher Protocol. I think its
setup is pretty straightforward.
IDillo visiting my gopherden server, using the Gopher plugin.
/assets/posts/dillo/dillo-gopherden.png
https://github.com/dillo-browser/dillo-plugin-gopher[8]
## Footnotes
(HTM) [1]: Dillo: https://dillo-browser.github.io/
(TXT) [2]: Window Maker: /notes/window-maker
(TXT) [3]: Gopher: /notes/gopher
(HTM) [4]: An article on installing Dillo from the repo: https://github.com/dillo-browser/dillo/blob/master/doc/install.md
(HTM) [5]: Another article on installing/building Dillo from the repo: https://github.com/dillo-browser/dillo/blob/master/doc/install.md
(HTM) [6]: The Dillo browser account on Fosstodon helped me with that: https://fosstodon.org/@dillo/112194972182138353
(TXT) [7]: projects and posts about the Gopher Protocol I've made: /tags/gopher
(HTM) [8]: https://github.com/dillo-browser/dillo-plugin-gopher: https://github.com/dillo-browser/dillo-plugin-gopher