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