The name was coined by Anklesaria as a play on several meanings of the word "gopher".[7] The University of Minnesota mascot is the gopher,[8] a gofer is an assistant who "goes for" things, and a gopher burrows through the ground to reach a desired location.[9]
Gopher remains in active use by its enthusiasts, and there have been attempts to revive Gopher on modern platforms and mobile devices. One attempt is The Overbite Project,[17] which hosts various browser extensions and modern clients.
Gopher is designed to function and to appear much like a mountable read-only global network file system (and software, such as gopherfs, is available that can actually mount a Gopher server as a FUSE resource). At a minimum, whatever can be done with data files on a CD-ROM, can be done on Gopher.
First, the client establishes a TCP connection with the server on port 70, the standard gopher port. The client then sends a string followed by a carriage return followed by a line feed (a "CR + LF" sequence). This is the selector, which identifies the document to be retrieved. If the item selector were an empty line, the default directory would be selected.
Gopher menu items are defined by lines of tab-separated values in a text file. This file is sometimes called a gophermap. As the source code to a gopher menu, a gophermap is roughly analogous to an HTML file for a web page. Each tab-separated line (called a selector line) gives the client software a description of the menu item: what it is, what it is called, and where it leads to. The client displays the menu items in the order that they appear in the gophermap.
Example of a selector line in a menu source: The following selector line generates a link to the "/home" directory at the subdomain gopher.floodgap.com, on port 70. The item type of 1 indicates that the linked resource is a Gopher menu itself. The string "Floodgap Home" is what the client will show to the user when visiting the example menu.
The technical specification for Gopher, RFC 1436, defines 14 item types. The later gopher+ specification defined an additional 3 types.[24] A one-character code indicates what kind of content the client should expect. Item type 3 is an error code for exception handling. Gopher client authors improvised item types h (HTML), i (informational message), and s (sound file) after the publication of RFC 1436. Browsers like Netscape Navigator and early versions of Microsoft Internet Explorer would prepend the item type code to the selector as described in RFC 4266, so that the type of the gopher item could be determined by the url itself. Most gopher browsers still available, use these prefixes in their urls.
The gopher menu sent back from the server, is a sequence of lines each of which describes an item that can be retrieved. Most clients will display these as hypertext links, and so allow the user to navigate through gopherspace by following the links.[5]This menu includes a text resource (itemtype 0 on the third line), multiple links to submenus (itemtype 1, on the second line as well as lines 4-6) and a non-standard information message (from line 7 on), broken down to multiple lines by providing dummy values for selector, host and port.
Browsers that do not natively support Gopher can still access servers using one of the available Gopher to HTTP gateways or proxy server that converts Gopher menus into HTML; known proxies are the Floodgap Public Gopher proxy and Gopher Proxy. Similarly, certain server packages such as GN and PyGopherd have built-in Gopher to HTTP interfaces. Squid Proxy software gateways any gopher:// URL to HTTP content, enabling any browser or web agent to access gopher content easily.
OverbiteWX includes support for accessing Gopher servers not on port 70 using a whitelist and for CSO/ph queries. OverbiteFF always uses port 70.For Chromium and Google Chrome, Burrow[38] is available. It redirects gopher:// URLs to a proxy. In the past an Overbite proxy-based extension for these browsers was available but is no longer maintained and does not work with the current (>23) releases.[17]For Konqueror, Kio gopher[43] is available.
Tagsgophermetafilterserver Share Facebook About MetaTalkMetaTalk is the first spin-off subsite of MetaFilter and is designed as a space to talk about MetaFilter itself. MetaTalk is the place to discuss features, bugs, and issues of policy with the rest of the membership.
Some of these browser extensions are security and privacy focussed and some are tools to aid in the collection of data and information. Investigators should always consider the possibility that data is being shared with the extension designer and should risk assess this.
Investigators often need to capture data from a webpage in bulk. Copy and Paste will work for paragraphs of text, but when seeking to extract all of a page's content or just the links on a webpage, browser extensions can simplify the process.
Instant Data Scraper is a browser extension that extracts data from web pages and exports it as Excel or CSV files. This tool will extract almost all content on any webpage and automatically create tables or structure the data. Instant Data Scraper can only be installed on Chrome.
Link Gopher is a chrome extension that extracts all links from web pages, sorts them, removes duplicates, and displays them in a new tab for Investigators to copy and paste into other systems. Link Gopher can be installed on both Chrome and Firefox.
GoFullPage is a Chrome extension that captures full screenshots in formats such as PNG and PDF. Capturing the page as an image or PDF shows the evidence exactly how it was seen, whilst HTML downloads may change slightly in appearance depending upon which browser they are opened within.
SingleFile is an extension that helps you to save a complete page (with CSS, images, fonts, frames, etc.) as a single HTML file. An HTML file, also known as a Hypertext Markup Language file is the standard web page file type on the internet, which captures all of the source code on the page as it was written, as well as all of the embedded files, such as videos. This is valuable when presenting files in court as it shows the webpage in its intended form at the exact time that it was captured. An extension exists for both Chrome and Firefox browsers.
The Wayback Machine is an extension that provides investigators with the ability to easily and quickly check if a web page has previously been archived within the Internet Archive. If a web page has been archived multiple times, investigators can switch between different versions. An extension exists for both Chrome and Firefox browsers.
HTTPS Everywhere is a Firefox and Chrome extension that encrypts web traffic with websites accessed to make browsing more secure. The HTTPS Everywhere automatically rewrites requests for thousands of sites from insecure "HTTP" to secure "HTTPS".
Video Download Helper is a Chrome and Firefox extension that enables investigators to directly download videos from many sites to their devices. As videos that are downloadable play, the extension button will turn from grayed out to color to highlight that there are videos on the page that can be downloaded.
CocoCut is a Chrome and Firefox extension that converts an M3u8 file to an MP4 file, which you can then download. This is useful for some sites which do not enable users to download mp4 files, such as Gettr. To download the video as an MP4 file, simply click on the extension, which will show a list of downloadable videos in the drop-down.
The Camelizer is a Chrome and Firefox browser extension that provides price history charts for items sold on Amazon. The Camelizer can provide insights to investigators monitoring price levels of goods, either to correlate high theft levels to time with high price levels or when third party prices were below market level.
RevEye is a Chrome and Firefox extension for reverse image searching. Investigators can perform a reverse image search by right-clicking on any image on a web page and selecting to search either all sites or select from Google, Bing, Yandex, and TinEye.
MapSwitcher is a Chrome and Firefox extension that enables investigators to quickly switch between different map services when investigating a location. Using MapSwitcher, investigators can convert coordinates and directions and jump to the exact location on another map.
The InVID Verification Plugin is a Chrome and Firefox extension that provides similar data to the Metadata extraction tools. The InVID plugin is built specifically to assist journalists in verifying content on social networks and identifying misinformation.
The GoT protocol allows hosting of multiple domains on a single IP address, something Gopher cannot do otherwise. I have used this ability to create a Gopher CDN and hosting service, available at gopher://commons.host. It should even be possible, though I have not yet attempted, to place a GoT socket forwarder on port 70 which routes traffic based on the SNI servername to any (unmodified) Gopher servers running on different ports. A similar design, though without SNI and ALPN, was proposed last year by Solène using sslh_fork.
Fear not, though, as alternative web browsers (and older ones) still plenty support Gopher. Some have even developed browser extensions that add support back in, in some form or fashion. (I'll be grouping both into this page for simplicity's sake.) I endeavor to try as many Web/Gopher clients, even ones guaranteed to suck, as possible and add my findings to this page. Always a work-in-progress, remember; I still have many clients to try.
A variety of "Gopher browser extensions" are, uncharitably, frauds. Extensions like Burrow and OverbiteWX don't allow access to Gopherspace so much as they redirect Gopher URLs to a proxy service, usually Floodgap's. While web proxies are okay, you're using up someone else's bandwidth, offering yourself up to play by someone else's TOS, and leaving your usage open to being tracked. (In Burrow's case, you can't even input URLs directly into the address bar, so it's even more useless.)
760c119bf3