# Gutenberg Gutenberg is a fantastic free eBook resource with a truly enormous catalogue of over 60,000 out of copyright and public domain books. Through my gopher browsing I discovered that they still have a [1]gopher server which provides access to the text versions of all books, as well as some audio and video files. What they didn't appear to have was a nice way to search the catalogue using gopher. ## Gopher interface I had been thinking for a while how I could contribute to the gopher revival and this seemed like a logical union. Rather than providing a gopher interface to http resources, here was a gopher resource that was not being fully utilised. I set to work to rectify this situation. ## The index files In the directory listing there are several index files listed by year from 1996 in the format of GUTINDEX.. There is also a GUTINDEX .ALL and GUTINDEX.zip containing a consolidated catalogue listing. I chose this later file to parse and build a searchable index. Parsing the file was not without it's trials, with multibyte charact ers causing me some frustrations. However, perseverence allowed me to get what I needed from the file and build the index. Creating the file path URI's from the book numbers was fairly easy. An example of how to resolve the number to a directory was helpfully given in the README file. Example, book 1190. You split the numbers and each number would be a directory except the last. So /1/1/9/1190 where the book was single digit number you had to begin at zero. So book 9 would be /0/9. ## Gopher menu Initially I tried to link directly to the text files. Unfortunately the naming convention was not consistent and after guessing and programatically trying to verify the existance of the file. I decided to just link to the directory. This was a much cleaner solution. When I noticed there were [2]audio and video files as well I conceded that this was the best option. The end result is a [3]gopher menu which provides a search function that searches the catalogue for matching authors and titles. It also shows the five most recent additions to the catalogue and five most downloaded, with a link at the bottom of each section to list more. ## Update 01/06/2021 - Atom and RSS new book feeds added. After a request on IRC for a feed of newly added books, both [4]Atom and [5]RSS feeds have now been created. The Atom feed can be accessed directly from a link on the front page of the gutenberg interface. 1. [Gutenberg Gopher Server](gopher://dante.pglaf.org/1) 2. These can be searched for by searching 'Audio:' and 'Film:'. 3. [Gutenberg gopher interface](gopher://gopher.icu/1/gutenberg) 4. [Atom new book feed](gopher://gopher.icu/0/gutenberg/newbooks.atom.xml) 5. [RSS new book feed](gopher://gopher.icu/0/gutenberg/newbooks.rss.xml)