Dillo, the GTK Web Browser

A look at this fast, compact browser in its early stages.

The purpose of this article is to introduce Dillo, a web browser written by a group of programmers led by Jorge Arellano Cid. Although the version reviewed (0.6.4) is still alpha code, it has some features that already make it useful.

Screenshot of Dillo's Welcome Page

Dillo is a very small and fast web browser written completely in C. The uncompressed source code tarball is approximately 1.2MB and the resulting executable file is 1.1MB. While Dillo is based on GTK+ (GTK version 1.2.0 or higher is required), GNOME isn't required to run it. Dillo uses the HTML parser from the gzilla project, so Mozilla doesn't have to be installed either, as is the case with Galeon.

Basic functionality is provided, such as forward and backward histories, home, along with reload, abort and save buttons. A handy feature is a button that clears the URL textbox, allowing you to paste URLs from the clipboard without having to manually clear the textbox first.

Dillo can open files from the local disk either by clicking on the underlined F in the toolbar or by typing its full name preceded by file: in the URL textbox.

The configuration is handled by manipulating the ~/.dillo/dillorc file with a text editor. A sample dillorc file is found in the source code directory.

Dillo can display PNG and JPEG pictures, and it does a decent job of displaying tables. Since frames aren't supported yet, Dillo displays a link to each frame on the page that allows the user to display them one at a time. Dillo has correctly displayed sites such as Freshmeat, NewsForge and Linux Journal.

Right now Dillo can download files via HTTP by right-clicking on the link and selecting Save Link As. To download a file via FTP you need a program such as WebDownloader for X. Copy the link to the clipboard by right-clicking on it and selecting Copy Link Location, then paste the link into the external download program.

A Find dialog is accessed by pressing CTRL-F. When a match is found, Dillo tries to scroll the page so it is at the top of the window. One thing to note is that the matching word is not highlighted, which can make it difficult to find.

Keyboard shortcuts include ALT+, and ALT+. to navigate forward and backward through your history. Double-clicking on the browser toggles the toolbar between visible and invisible, freeing up some more viewing space.

Dillo currently isn't capable of handling things such as JavaScript, cookies and secure web sites. A patch is available, however, that provides Dillo with SSL and cookie capabilities. I have been able to compile the patch only against a specific CVS snapshot of the source code. Instructions for downloading the patch and building the patched version of Dillo are below.

Using The SSL-Cookies Patch

In order to use the SSL-Cookies patch for Dillo, you need OpenSSL installed, and you have to get the Dillo source code dated Jan. 14, 2002 from the CVS archive. This is accomplished by the following steps:

  1. Get the Dillo sources from the CVS archive:

  2. $cvs -d:pserver:anonymous@cvs.dillo.sourceforge.net:/cvsroot/dillo login
    
    (Hit Enter when asked for your CVS password)
    $cvs -z3 -d:pserver:anonymous@cvs.dillo.sourceforge.net:/cvsroot/dillo co -D 01/14/2002 dillo
    

  3. Copy the dillo-ssl-cookies.2002-01-14.diff file into the dillo directory created above.

  4. It might be a good idea to make a backup copy of the source code in case you encounter problems with the patching procedure. Move into the dillo directory and apply the patch with the following command:

  5. $patch -p1 -i dillo-ssl-cookies.2002-01-14.diff
    

  6. Execute autoconf to create the new configure file.

  7. $autoconf
    

  8. Configure the software to include the OpenSSL libraries with the following command:

  9. $./configure --enable-ssl --with-ssl-inc=/usr/local/ssl/include --with-ssl-lib=/usr/local/ssl/lib
    
    If the configure script answered yes to the following lines then your build should work:
    SSL_connect in -lssl, BIO_ctrl in -lcrypto, openssl/ssl.h and openssl/err.h
    

  10. Make the executables by issuing the make command and then install the files by changing to root and issuing make install.

  11. $make
    $su
    $make install
    
    If you get an error about a missing AM_PATH_GTK macro when Dillo starts compiling, look for a file called gtk.m4 on your system. If it is in /usr/share/aclocal, then it needs to be copied or symlinked to /usr/local/share/aclocal.

To determine which cookies Dillo accepts and rejects, create a cookie_controls file in your ~/.dillo directory. The Cookies.txt file placed in the doc directory by the patch contains information on using the cookie_controls file. Saved cookies are stored in the ~/.dollo/cookies file.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Dillo -- New Home Page

Anonymous's picture

Hey guys, Dillo is leaving Sourceforge!
Check out the new home page at:
dillo.cipsga.org.br!!!!

Re: Dillo, the GTK Web Browser

Anonymous's picture

FAST does not begin to describe it. Works great as is.

Re: Dillo, the GTK Web Browser

Anonymous's picture

Not bad. As someone else pointed out, this may well be a good basis for help systems -- konqueror cannot be counted on to be there, gecko is too big to bundle, and opera is non-free. Alas, unless they do active marketing, nobody will probably do it. Also, as the details are implemented, the program will surely grow significantly. Remember Mozilla Alpha also had good basic rendering abilities, but one main problem is that many pages have shitty HTML that needs to be interpreted leniently.

Re: Dillo, the GTK Web Browser

Anonymous's picture

jgfhjfghjfghjfhjfghj

etgwertwetwe

Re: Dillo, the GTK Web Browser

Anonymous's picture

I use xfce and have the F1 key bound to dillo http://www.mirror.ac.uk/sites/www.linuxdoc.org/HOWTO/HOWTO-INDEX/howtos....

and the xfce help key bound to dillo/usr/share/xfce/help/html/help.html

The result is a blazingly fast help system.

Damn, it's FAST!!!

Anonymous's picture

Wow... this has got to be the fastest browser
I've ever tried. Plus it makes a very small
memory footprint. It seems to be very
stable for me! :-)

Can't wait till Dillo gets more features!
BTW: There here are some interesting
screenshots.

Re: Damn, it's FAST!!!

Anonymous's picture

Ooops, here are the screenshots:

http://dillo.sourceforge.net/screenshots/

Bad name

Anonymous's picture

Seriously, whos idea was it to give it a name that resembles the name of a sex toy? Is this good marketing or bad?

Re: Bad name

Anonymous's picture

What you are thinking of is spelled with one less "l" and one more "d". I believe "dillo" is short for armadillo. Armadillo - n : burrowing chiefly nocturnal mammal with body covered with strong horny plates

Re: Bad name

Anonymous's picture

if i remember correctly : the first browser was called gzilla. due to confusions that could happen between mozilla and gzilla the browser became 'armadillo'. later the sourcecode was forked and called dillo. i don't think armadillo exists any longer.

Re: Bad name

Anonymous's picture

Armadillos are alive and abundant in Texas.

Re: Bad name

Anonymous's picture

Uh... That didn't come to my mind when I read the name. I thought of a similar sounding animal.

Re: Dillo, the GTK Web Browser

Anonymous's picture

Hey guys, the binary file size is just over 200k. The resultant file size you quote is that of the debugging symbols. Read the Makefile

Change of site

Anonymous's picture

Change of site http://www.dillo.org

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix