Init begginers tutorial - gopher-tutorials - The gopher tutorials project.
HTML git clone git://bitreich.org/gopher-tutorials/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/gopher-tutorials/
DIR Log
DIR Files
DIR Refs
DIR Tags
---
DIR commit 58cf4b88c986080868a330292971f1cc21bebffb
DIR parent ec3ae31b44a84392069b3eded4c70a7c303baa00
HTML Author: Solene Rapenne <solene@perso.pw>
Date: Tue, 30 Jan 2018 08:29:33 +0100
Init begginers tutorial
Diffstat:
A beginners.txt | 93 +++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+), 0 deletions(-)
---
DIR diff --git a/beginners.txt b/beginners.txt
@@ -0,0 +1,93 @@
+Hello dear reader,
+
+if you have heard of gopher and you want to explore its space but that
+you are lost about how to achieve this, this text is for you. We will
+assume that you have no technical skill so everyone can read this.
+
+Gopher is the name of a protocol to share content like text, images or
+any kind of file. A network protocol is a set of rules which allow to
+create a common service for different people, everyone needing to
+respect thoses rules to be able to communicate each other. Some
+developpers will write "Clients" software for the end-user and others
+developpers will write "Servers" software which will allow to publish
+content. The Gopher protocol is so easy that anyone with basis of
+computer science can write its own client or server, and being that
+easy. Using Gopher implies to understand the protocol itself, but we
+promise it's really easy.
+
+Gopher is an enjoyable way to browse informations. Every gopherhole
+[that is the name we gave to someone gopher content] looks like
+another one. There is no way to customize a gopherhole apart from the
+text. While this can look a bit harshe, this makes Gopher
+universal. If you know how to browse one gopherhole, you will know how
+to browse all others because the way to do is consistent.
+
+So, let's speak about how Gopher works. First, Gopher requires 3
+informations if you want to get content. You will need a remote
+address to connect to [it's called an hostname, like "floodgap.com"],
+the data type and a path to the data. The url looks like this :
+
+ gopher://hostname/type/path
+
+The most important type is the type 1, which is the Gopher menu
+type. A Gopher menu is made of differents lines, each line having a
+type field to know what kind of data it lead to. It will allow you to
+browse from menu to menu or from a menu to a content (image, text,
+music...).
+
+Each line of a menu contains 4 fields separated by a Tabulate
+character. The fields are, in order :
+
+1. text to display (with the first character being the type)
+2. path to the content on the remote server
+3. hostname of the remote server which contains the content
+4. TCP Port[1] of the remote server (default is 70)
+
+The tricky part is that the type of the line is not a separate field,
+it's the first character of the line we is contained inside the first
+field. Gopher clients usually hide it when displaying the text.
+
+Here is the list of the most used data types allowed on Gopher, the
+complete list is defined in a document named RFC 1436 which defines
+the Gopher protocol :
+
+- type i is a line of text in the menu, it's not a link
+- type 0 is a link to a text document
+- type 1 is a link to another gopher menu
+- type 3 means an error
+- type 7 (search) asks a text input and lead to another menu
+- type 9 is a link to a binary file (data archives, music...)
+- type g is a link to a GIF file (animated picture)
+- type I is a link to an image file
+- type h is a link which lead to use another protocol (irc, http...)
+
+Only the types menu and search can lead to another content. Asking
+another type will lead to downloading a file.
+
+When requesting a Gopher menu, the text transferred through the
+network could be read as-this, without a Gopher client. When a server
+responds a menu with a few entries, the raw content transmitted to the
+client looks like this :
+
+iText here, others fields are set with the null value null null null
+1Another gopher menu /help/ floodgap.com 70
+1The menu leading to this help /tutorial/ bitreich.org 70
+IA cut cat picture /cute-cat.jpg floodgap.com 70
+
+The previous menu will display 4 lines, the first will be a text and
+the others last 3 lines will be links to another content, as you may
+have noticed, the server is not necesserarly the same for every
+line. Gopher allows to go to another server from another in a
+transparent manner. A Gopher client could render the previous menu
+like this, allowing to select the lines using arrows on the keyboard :
+
+ | Text here, others fields are set with the null value
+MENU | Another gopher menu
+MENU | The menu leading to this help
+IMAGE | A cut cat picture
+
+
+[1] : a TCP Port could be explained as a door on a server where a
+ network service waits behind. You need to knock to the right
+ door when you reach the server. Gopher waits by default
+ behind the port 70.