GopherVista

Continuing with our gopher madness, next up we have GopherVista.  And this is everything I had hoped it would be when I first learned about this project.  I had joked to another friend that it’d be cool to crawl and feed the indexer data in a manner that could basically bring AltaVista back to life.  And we laughed, and I had my utzoo search and that was that.

Except it wasn’t.

However, across the internet, Ben didn’t hear any naysay about limitations or anything to get in the way, and went ahead and wrote a crawler in go, kept the results in a sane name/db order for later sanitisation in and out of AltaVista, and after an aggressive gopher port scan of the internet, he created GopherVista, an index of the gopher-verse, running on Windows 98.

No, really, you read that right, GopherVista backends on Windows 98!

Read all about the creation of GopherVista over a Ben’s blog blog.benjojo.co.uk.

GopherVista

Keep in mind that this is a search engine, not a proxy, so it’s best to use something like Internet Explorer 4, or an ancient Netscape that supports both HTTP 1.1 & Gopher.

I have to also say, that something like this is far more cooler, and better thought out than my utzoo hack, and I’m just happy to have inspired him, but now I really want to re-think my setup, and of course index all the things….

Peter Godiwn’s Gopher Server

Thanks to reader Peter Godiwn, he built a .net Gopher Proxy that can read several providers via API, and to get the ball rolling, he built a WordPress connector, and yes it works great with my site!

The added bonus is that now I am automatically updating my site via gopher.  It lives as a root, so instead of taking my existing gopher offline, I added a new DNS record, and brought up:

gopher://gopherblog.superglobalmegacorp.com

Naturally that URL won’t work for 99.99% of the people out there since their browsers don’t support gopher, but the Floodgap Gopher proxy, will do the trick!

One cool feature is that it can take modern images, and convert them to GIF for older browsers.  Images even work on Netscape!

Auto converted PNG to GIF

You can find source & binaries on his github page.

Super thanks to Peter, and what a fitting 10+1 post!

Playing around with Gopher

virtuallyfun gopher

My Gopher Site, via proxy

Back in the day, if you were ‘hip’ and ‘cool’ and had a UNIX shell account back in 1993 there was this cool way of getting around various computer systems around the world called gopher.  What was really cool, is that it offered search services, indexing and even gateways into various libraries (where they kept physical books) where you could search their card catalogs for various tomes you were looking for.

Some colleges even had various services that you could connect to, offering things like news, weather and whatnot.  It was pretty neat, however there was one stumbling block, which is gopher was a VERY controlled environment, where most universities locked their client to only starting at one particular gopher server, and to get anywhere else you had to memorize an insane number of keystrokes that would make 1800 operators go crazy.  Also there was nothing like virtual hosting, so the idea of having your own gophersite was most likely out of the question.  The other issue is that the University of Minnesota, where boombox resided (the master gopherserver) saw they had something good going, and unlike UCB’s CSRG which gave BSD away for free, they were going to license the server for $100 for a educational institution, and $500 for a commercial institution.

Needless to say, this CERN thing called HTTP which they were trying to distance themselves from, which wanted no money for became the next big thing, and with the freedom and ease of setting up website, gopher became a ghost of the past.

But as the world was starting to build web clients, many understood gopher, including Microsoft’s Internet Explorer.  Although starting with version 7 (gopher was also disabled with some updates in IE6), gopher has since been removed.  But thanks to the Utilu IE Collection, and this quick registry setting you too can surf gopher space with IE 4.0 (or 5,5.5..) like it’s the mid 1990s.

My gopher site via IE 4.0

My gopher site via IE 4.0

So needless to say with a client in hand, I wanted to setup my own server.  And keeping with it being old, I decided to use the old 2.3.1 gopher server.  I also compiled it with freeWAIS support, although I haven’t quite worked out how to get that fully working right now.  Compiling this stuff on 32bit i386 Linux was trivial to say the least, but if you need binaries or anything they are here.

the next thing was to get both wais, and gopherd running from xinetd, which was easy once I knew how.  These are the service files I created:

service gopher
{
socket_type = stream
protocol = tcp
wait = no
user = gopher
server = /usr/local/etc/gopherd
server_args = -I -l /var/log/gopherd.log -u gopher /gopher-data 70
instances = 20
}

And for wais:

service wais
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/local/bin/waisserver
server_args = -d /gopher-data/wais /gopher-data/wais.log -l 10 -p 210
instances = 20
}

Easy, right?

Gopher likes to be a named service, so I went with my virtuallyfun.com domain, as it is easier to type.  I guess I could have gone with gopher.superglobalmegacorp.com but that is… LONG. Another cool thing is that there are several gopher proxies out there for HTTP only people, so you can also get to my gopher page here (via gopher.floodgap.com).

The harder part was figuring out how the directory mapping works, but luckily there was enough in the test directory to get something working, changing this

ls

About decode-n-scripts install mspl tmp
bin ftp-horrors lib pids

Into this:

The old UNIX gopher client

The old UNIX gopher client

The secret is all in the .names and .Links files.  The .names file will map a directory name to something more pleasing, such as changing mspl to the “Microsoft Programmer’s Libary”.

Path=./mspl
Name=Microsoft Programmer’s Library

Easy, right?

And the .Links file creates links to various content, from a telnet example (to my bbs….)

Type=8
Name=QemuOS/2 BBS (My BBS!)
Host=bbs.superglobalmegacorp.com
Port=23
Numb=100
Abstract=My Synchronet BBS running on OS/2 inside of Qemu! #100
Path=

To another gopher system

Name=My lame SDF.org site
Type=1
Host=sdf.org
Port=70
Path=/users/jsteve
Abstract=My personal SDF gopherspace (itsucks) #-11
Numb=-11

To even doing some crude ascii art!

Name= # # # ##### ##### # # ## # # # #
Type=3
Path=
Numb=5
#
Name= # # # # # # # # # # # # # #
Type=3
Path=
Numb=6

.. and so on.

So yes, to be difficult, all the links in this post are gopher:// links.  I don’t know if that’ll deter the likes of Gerhard W. Recher, but I’d like to think that his poorly constructed automated tests will be unable to connect to gopher resources.

Now if I can figure out how to setup my own jughead or veronica to search my own wais of information, that’d be excellent.

If I had the virtual space I’d host the whole thing on a virtual VAX…. or something equally insane.  Word is Shoebill just got ethernet support, so running my gopher space on A/UX would be cool.