2019-04-08 A Plan for Gopher

@horsemans recently posted a basic first-pass of a Gopher/2 protocol.

@julienxx linked @solderpunk’s Pondering what's inbetween Gopher and the web.

@tomasino posted Gopher-II: The Next Generation Gopher WWIS and recommended it “as a starting point for any formal RFC updates since it so thoroughly encapsulates everything that has come before.”

I don’t think I have a concise list of features of what I want from Gopher:

  1. UTF-8
  2. TLS
  3. No dot at the end of the transmission, just hang up
  4. and a new item type „w“ where you can post text („write“ or „wiki“)

I have implemented all of this for my site, see Gopher Wiki.

I think we could simply at the end of Encrypted Gopher and scroll down to the examples involving gnutls-cli, which simply replaces telnet. Adding TLS support to VF-1 and gopher.el on the client side was similarly easy.

Let’s just make TLS mandatory, end of story. It was easy to add.

Right now, TLS support for VF-1 and gopher.el is implemented as a mode. The user switches TLS mode on or off. The result is simply an error message if the client’s mode and the connection type don’t match. If the client is not in TLS mode and it connects to a TLS encrypted server, it’s probably going to get a timeout. If the client is in TLS mode and it connects to an unencrypted server, it’s probably going to get an error. The client simply catches those errors and tells the user to switch TLS mode on or off.

If you want to look at an example, see the exception handling in VF-1. (There, “battloid mode” means TLS is enabled.)

What this means, most importantly, is that connecting to port 70 with TLS mode enabled means the client expects a TLS encrypted connection to the server even on the standard port.

Of course, clients are free to do auto-detection, or let users know that a mode change is required, but generally speaking, no automatic switching between safe and unsafe browsing, no following links from “green closed padlock” world to “red open padlock” world by default works well for me.



Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.