Floodgap HELP: Using a web browser to access gopher space
updated 25 August 2018

Gopher support in many web browsers is not what it used to be: either they used
to support it and don't, or they never did in the first place. Fortunately,
there are still some browsers that support it natively, and many others for
which it can happily be a build-in option. Here's how you can get the best
of both worlds!

LYNX

Lynx is probably the best browser for surfing both the Web and Gopherspace
in terms of its elegance. Text mode may be a limited oeuvre, but Lynx makes
it shine.  It seamlessly shifts between both protocols without crufty helpers
or proxies, is fast and respectful to servers, dizzyingly configurable, and
interestingly is the only web browser that recognises GET gopher selectors as
web pages and automatically maps them into URLs. This is more exciting than
it sounds, trust me. :-) It also supports the gamut of Gopher features,
including search servers. The only thing it lacks is Gopher+ (oh, okay, and
images ;).

MOZILLA FIREFOX

For many years Mozilla was the best choice for a graphical client that
offered Gopher along with its usual superior browsing experience. This sadly
ended with the introduction of Mozilla 2.0 and Firefox 4.0, which finally
removed support for the protocol. We're not happy about it, but at least
we kept it in there on life support for a few years (bug 388195).

Unfortunately, the current WebExtensions API is very limited and doesn't
allow what our old Gopher add-ons used to do. You have two choices:

- OverbiteWX uses only documented, official APIs, but is limited to redirecting
  gopher URLs to the Floodgap Gopher Proxy (and other HTTP-Gopher proxies
  in the future) because WebExtensions does not allow direct network access.

- OverbiteNX allows direct connections to Gopher sites, and is the closest
  thing to a truly integrated client in Firefox, but requires you to
  install an open-source system tool to do the network access that currently
  is not possible with WebExtensions. (The tool is available for Windows
  and macOS, or you can compile it for Linux or any BSD operating system.)

OverbiteNX is intended as a stopgap for eventual support in WebExtensions
for network sockets, but at least right now you have a choice. Neither is
as seamless as the old OverbiteFF was, but they're better than nothing.
(For more info on OverbiteFF, see below.) It's what we use on modern Windows
and Intel Macs. (Disclaimer: We maintain both of these extensions.)

You can get both extensions from Mozilla Add-ons:

	https://addons.mozilla.org/en-US/firefox/addon/overbitewx/

	https://addons.mozilla.org/en-US/firefox/addon/overbitenx/

The OverbiteNX's Onyx native component is available from Github:

	https://github.com/classilla/overbitenx/releases

If you are using Android (such as Firefox for Android), just install
Overbite Android and gopher links will automatically open in it.

	gopher://gopher.floodgap.com/1/overbite/

OTHER MOZILLA-BASED BROWSERS

For older browsers such as SeaMonkey that still support historic extensions,
your best option is OverbiteFF. OverbiteFF supports Gopher as a first-class
protocol, and everything "just works," including bookmarks, tabs, downloads
and more. If you have a compatible Mozilla-based browser, we highly
recommend it! (Disclaimer: we wrote it too.)

OverbiteFF is officially compatible with SeaMonkey and TenFourFox; there are
successful reports of using it with Pale Moon and Waterfox. Just install
it like any extension. You can get it from Mozilla Add-ons:

	https://addons.mozilla.org/en-US/firefox/addon/overbiteff/

or directly from here:

	gopher://gopher.floodgap.com/1/overbite/

Although Camino and K-Meleon support Gopher natively, these browsers are
too old to recommend to current users.

OMNIWEB

The best-known WebKit browser with basic Gopher support is OmniWeb. Although
we don't have any system that can run the current release of 6.0 right now,
prior betas of 6.0 worked, so it is very likely the current version does too.
Gopher support was added in OmniWeb from 5.9.2 on. The current release of 6.0
requires macOS 10.13 and later. 5.11.2 will run on systems as early as Mac
OS X 10.4.8, but has a very old version of WebKit which is not likely to
work with most websites.

	https://www.omnigroup.com/more/

Historical versions can be obtained from

	http://downloads.omnigroup.com/software/archive/MacOSX/

GOOGLE CHROME

Google Chrome does not support Gopher natively. For some period of time we
maintained a Chrome extension, but this was very limited compared to Firefox
and it will not work with Chrome 24+. We recommend using one of the available
Gopher proxies (see below), or an extension like Burrow: Gopherspace
Explorer, which mimicks our extension's prior functionality.

	https://chrome.google.com/webstore/detail/burrow-gopherspace-explor/plhaaggiajlcjclagmjnjmaonhkdhhji

If you are using Chrome Android, however, or the Android Browser, then simply
install Overbite Android and gopher links will automatically open in it.

	gopher://gopher.floodgap.com/1/overbite/

MICROSOFT EDGE

There is no support for Gopher in Microsoft Edge, nor current versions of
Internet Explorer 11. (See below for notes on historical versions of
Internet Explorer, including on the Mac.) We are not aware of any extensions
supporting any current Microsoft browser. See PROXY SUPPORT (below).

OPERA, SAFARI

Of the remaining major browsers, neither Opera nor Apple Safari support Gopher
at all, and I am not aware of any other major browsers other than the ones
mentioned above that do. Although WebKit does have Gopher support, Safari
and iCab do not integrate it. See PROXY SUPPORT (below).

Other MINOR BROWSERS:
--------------------

We limit this list only to those minor browsers that have specific Gopher
support (even if only partial).

DOOBLE

Dooble is a WebKit-based browser running on multiple OSes, including
Windows, OS X and Linux. It has supported Gopher since 1.53, although the
most current version 2.1.9.3 (as of this writing) does not support search.
It also has an irregularity where it removes slashes after item types,
though this doesn't seem to affect any known servers currently. Although
unornamented, partial basic functionality exists and the maintainer does
appear to update the Gopher component periodically, so this is likely to
improve.

	https://textbrowser.github.io/dooble/

ARACHNE

The now-open source Arachne DOS web browser supports Gopher (tested on 1.70
and up) but also does not handle i itemtype correctly, giving them all links
and (inappropriate) content icons which makes navigation a little tricky. It
also does not properly support itemtype 7, meaning you cannot search sites
like Veronica-2 with it. If you are a DOS user, try Lynx for gopher instead.
The Arachne home page is

	http://www.glennmcc.org/

CLASSILLA

Classilla, a Mozilla-based browser for Mac OS 9, supports basic Gopher as
of version 9.0 (disclaimer: I am the project lead). Additional support is
in progress, and the port 70 restriction was removed in version 9.2.1 to
use an internal whitelist. You can get it from

	http://www.classilla.org/

MOSAIC-CK

Mosaic-CK is a branch of NCSA Mosaic that yours truly maintains. This version
has Gopher support up to Netscape 4 standards, plus hURLs, in versions 2.7ck7
and higher. You can get it from

	http://www.floodgap.com/retrotech/machten/mosaic/

(See below for notes on other forks of Mosaic.)

HYPERLINK (COMMODORE 64)

In the shameless plug department, HyperLink 2.5a and 2.5e for the Commodore
64 (disclosure: yours truly is the author) renders Gopherspace modeled on
Netscape, and does support indexed search servers. CSO searches are not
available in HL, however. i itemtype is supported.
See http://www.armory.com/%7Espectre/cwi/hl/

And now, a section on HISTORICAL BROWSERS:
-----------------------------------------

NETSCAPE (< 5.0)

Many older Unix systems (plus classic Macs) only have access to Netscape 4.x.
Pre-Mozilla Netscape (not the current codebase) is not spectacular but
certainly functional as a gopher client. Examining version 4.8's support,
it doesn't know how to understand Gopher+ but it's tolerant, and like
Lynx, supports the gamut of Gopher features. It properly (or at least
sensibly) formats gopher menus, accepts i itemtype, and doesn't try to
mess with selectors. It is also very quick, simple and painless to use.
While it isn't as seamless as Lynx, it gets the job done. Even though it is
aging rapidly in terms of its standards support, where gopher is concerned
it's a decent choice, and for older systems is probably still the best
all-around option for Web and gopher in a single application.

NCSA MOSAIC, VMS MOSAIC

NCSA Mosaic, all prior versions tested, supports Gopher, but does not properly
handle i itemtypes, which are used for displaying informational text;
instead, it renders them as links, which invariably fail when clicked on.
However, it is otherwise functional, and has most functions supported
except for Gopher+ (tested 1.x, 2.x and up). 

VMS Mosaic is based on the same code and has the same drawbacks, but George
Cook stated a while back he is considering using my patches for VMS Mosaic.
Sadly, it doesn't look like VMS Mosaic is maintained anymore, but it's still
probably your best shot for VMS other than an old version of Netscape.
Unfortunately the site has gone to the great shark grotto in the sky; we have
an old version here:

	gopher://gopher.floodgap.com/1/gopher/clients/vms/

MICROSOFT INTERNET EXPLORER

And now, Internet Explorer. If you are using Internet Explorer 7 and
up, there is NO MORE GOPHER SUPPORT (disabled at the WinINet level) -- you
will need to use a proxy (keep reading) or an external application.

Internet Explorer 6 can access gopher sites, but because of security bulletin
MS02-047, if patched up, Gopher support is DISABLED BY DEFAULT. -047 suggests
that this buffer overrun reported in the security advisory is corrected, but
disables Gopher in any case. This is nonsensical by any stretch of the
imagination. To reenable Gopher, you will need to insert a registry key;
either download the registry file from the clients directory here at Floodgap,
or go into RegEdit, drill down to HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Internet Settings, and enter a key named EnableGopher
with type DWord and value 00000001. The reg file is available from

	gopher://gopher.floodgap.com/9/gopher/clients/ie6/iegopher.zip

It has been tested to work on Windows 98, Windows 2000 and Windows XP.
You may read Microsoft's brightly boneheaded corporate burble on why they
did that at

	http://www.microsoft.com/technet/security/bulletin/MS02-047.asp

If you're getting an error from IE about all gopher sites, resulting in
an inexplicable error message 'Cannot find server or DNS' which is totally
spurious (I get many complaints about floodgap's DNS, which is completely
functional, because of this completely inaccurate explanation), that's the
symptom of this error.

Assuming you patched Internet Explorer 6 to reenable gopher support, or you
are still using Internet Explorer 4 or 5 for gopherspace, the news doesn't get
better: IE in any incarnation is miserable as a Gopher client. Because it
inherits the NCSA Mosaic codebase, it does not handle the i itemtype correctly,
which is used for displaying informational text, but that's just the least of
your worries. It does not allow access to TCP ports other than 70, which is a
VERY crippling limitation, and you can even outright *crash* IE 4 through 5
completely (and even Microsoft Web Proxy) by going to any gopher selector
that has a question mark '?' in it. This seems to have been repaired, finally,
in some versions of 5.0 but I still observe this bug from time to time.
There are also some reported problems with using itemtype 7 search servers,
such as Veronica-2, where some versions just hang.

Interestingly, this does not apply to Macintosh IE 5, which *doesn't* seem to
have any of these limitations other than the improper rendering of i itemtype.
Also, older versions of Internet Explorer, apparently v2.x and before, and
possibly v3.x, may not suffer from the problems that 4.x and 5.x do (quite
strange, as IE was allegedly based on Mosaic). Some users have reported that
the original webTV can also surf Gopherspace unfettered, since it's based on
an older version of IE; it appears very similarly to Netscape's presentation.
(I can't confirm this on my webTV emulator, but the functionality may be
disabled. Unfortunately, using an old IE makes your web experience suck even
worse.)

PROXY SUPPORT
-------------

So what do you do for browsers that utterly lack Gopher support at all? For
that case, use a proxy to do the conversion and spit out pre-rendered menus.
Besides the Public Proxy we offer here at http://gopher.floodgap.com/gopher/
open source also can help; a Squid developer has recently informed me that
Squid has gopher support built into it, modeled on Netscape 4.x's gopher
rendering. This is an excellent proxy server and should provide good
capabilities. Look for it in versions >=2.5. Again, user comments invited.

Please note that not all proxy servers are created equal; I am also informed
that Apache's proxy server does not support gopher at all (403 error).

THE BOTTOM LINE:

Serious exploration of Gopher still demands a more-than-basic client to get
the most out of the protocol, and we offer some here. Nevertheless, if you'd
like to go for an all-in-one browser solution, or if you're just playing
around and don't want to install something else, we strongly recommend using
Lynx or Firefox+OverbiteWX where possible.

You can also check out a standards-based proxy that we offer at

	http://gopher.floodgap.com/gopher/

Send your questions and your suggestions/test cases (particularly with
browsers we haven't mentioned here) to:

	gopher@floodgap.com