├── AboutGopher.txt └── README.md /AboutGopher.txt: -------------------------------------------------------------------------------- 1 | Floodgap HELP: What is Gopher? 2 | updated 27 December 2000 3 | 4 | gopher n. 1. Any of various short tailed, burrowing mammals of 5 | the family Geomyidae, of North America. 2. (Amer. colloq.) 6 | Native or inhabitant of Minnesota: the Gopher State. 7 | 3. (Amer. colloq.) One who runs errands, does odd-jobs, fetches 8 | or delivers documents for office staff. 4. (computer tech.) 9 | Software following a simple protocol for tunneling through a TCP/IP 10 | internet. 11 | 12 | Welcome to Gopherspace! 13 | 14 | With one click of your browser you've just taken several years back in 15 | Internet time. Close your eyes and grip your terminal. Imagine there's 16 | no Websites (it's easy if you try). Imagine that there's a Commodore 64 17 | on your desk, or maybe a 386. 18 | 19 | Now open them again. 20 | 21 | You're in the year 1991, when University of Minnesota computer scientists, 22 | fed up with the limitations of FTP for downloading files and the overhead 23 | of having to log into computers for everything, decided to come up with 24 | a friendlier method of accessing data over the then largely vacant and 25 | much smaller Internet. The result was Gopher, a simple and easy to 26 | understand menu system that allowed once hideously complicated systems 27 | and services to be strung together for straightforward usage. And Gopher 28 | Was Good. 29 | 30 | In fact, Gopher was so good that for several years, Gopher sites sprang up 31 | all over. You could get weather reports on Gopher, news, mailing lists, 32 | even software. 33 | 34 | Then Mosaic came out barely a year or so later and plunged the world into 35 | darkness and all seemed lost under the choking strands of the World Wide 36 | Web. And Gopherspace lay all but forgotten. 37 | 38 | But Gopher's still out there. And what's more, you'll find it surprisingly 39 | useful, even years after the Web became a household word. Why? 40 | 41 | * It's easy to set up. 42 | * It's easy to write content for and facilitates organization. 43 | * It doesn't need much system power to run -- either from the server or 44 | from your computer. It can run on systems with little CPU power or memory. 45 | * It supports many things that the Web does, even if it looks less attractive. 46 | You can still view images, search and download programs, and ... 47 | * ... since Gopher has less data to transfer, it's frequently faster. 48 | 49 | Save the Gopher! Explore Gopherspace with Veronica-2 and find out about 50 | the hidden world the Gophers once dug. And think how different the world would 51 | be if that darn Mosaic had never been written ... :-) 52 | 53 | The Floodgap Systems master gopher contains many help files to assist you. 54 | Look for them. You can read them just by clicking on them. But if you get lost, 55 | send all your questions and requests to 56 | 57 | gopher@floodgap.com 58 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Roll Your Very Own Gopherspace! 2 | 3 | ## What is This? 4 | This is a technical primer that gives you a crash course on how to setup and create a simple gopherspace. It is by no means an in-depth article. 5 | 6 | ## Who is This For? 7 | * Anyone with a basic knowlege of Linux wanting to try thier hand at building their very own gopherspace. 8 | * Geeks that are frustrated by the lack of documentation on Gopherspaces and spent the last 2 hours Googling for solutions to no avail 9 | 10 | ## What is Gopher? 11 | Check out this [article](https://github.com/sgolovine/roll-your-gopher/blob/master/AboutGopher.txt) from Floodgap (Dec. 2000) 12 | 13 | ------------------ 14 | 15 | ### Prerequisites: 16 | 17 | 1. Ubuntu or another Linux distribution 18 | 2. Python 2.2+ (most distros come with Python preinstalled) 19 | 20 | It should also be noted, if you use a programming text editor that remaps TAB to a number of spaces, you want to make sure that feature is disabled. 21 | 22 | Although not required, I also highly recommend Firefox with the OverbiteFF extension, it's a simple extension that lets you browse gopher:// sites using Firefox. 23 | 24 | [Get OverbiteFF](http://gopher.floodgap.com/overbite/) 25 | 26 | ### Installing Gopher 27 | 28 | There are many packages for Gopher these days. For the sake of this document we will be using [PyGopherd](https://github.com/jgoerzen/pygopherd). If you are using Ubuntu or a Debian derivative distro you can install the `pygophered` package via: 29 | 30 | sudo apt-get install pygopherd 31 | 32 | Alternatively, you can install it from the Github Repository. I wont be getting into that in this document but the [PyGopherd](https://github.com/jgoerzen/pygopherd) repo gives pretty good instructions on how to do so. 33 | 34 | Once installed, navigate to `localhost:70` (or the ip address of the server you installed it on) to confirm that it's working. 35 | 36 | 37 | ### Gopher Daemon and Configuraton Information 38 | 39 | Here are some useful commands and location relating to the gopher installation. 40 | 41 | *NOTE: These locations/commands are related to the pygopherd package, this might differ if you are using another package for gopher* 42 | 43 | Gopher Conf: `/etc/pygopherd/pygopherd.config` 44 | 45 | Gopher Folder: `/var/gopher` 46 | 47 | Gopher Service: `/etc/init.d/pygopherd` 48 | 49 | You can start/stop/restart the service using: 50 | 51 | sudo /etc/init.d/pygopherd start 52 | sudo /etc/init.d/pygopherd stop 53 | sudo /etc/init.d/pygopherd restart 54 | 55 | #### Changing Default Gopher Directory 56 | 57 | By default, the directory where your gopher-related files are stored is in `/var/gopher`. To change this directory open up `pygopherd.config` and change the line `root=/var/gopher` to your desired directory (located around line 120 in the conf). 58 | 59 | ### Adding Content 60 | 61 | Now that you have gopher up and running, you might be wondering how to add content to it. 62 | 63 | Gopher is remarkably simple to write content for in that unlike traditional sites, you don't actually have to write any code per-say. In your default directory, if you remove the `gophermap` file and just start adding content like Text Documents, folder and pictures, etc. Gopher will automatically pick those up and display them. 64 | 65 | However the `gophermap` file can be quite useful. It acts as an `index.html` but for Gopher sites, giving you more control over structure and letting you add text to your pages. 66 | 67 | 68 | #### Gophermap file syntax 69 | 70 | This is my gophersite file: 71 | 72 | ```plaintext 73 | 74 | Welcome to my Gopherspace! 75 | 76 | My name is Sunny Golovine and I am a Computer Science Senior 77 | at Georgia Southern University currently looking for my next great opportunity after I graduate this May. 78 | 79 | 80 | 81 | Learn more about me: 82 | 83 | 0About Me about.txt 84 | 1Projects /projects 85 | 0Contact Me contact.txt 86 | 87 | 88 | 1Programmer Humor /prghumor 89 | 90 | 91 | 92 | Some external links: 93 | 94 | hMy Github github.html 95 | hMain Site mainsite.html 96 | 97 | 98 | Want to view this website using the gopher:// protocol rather than through a web interface? 99 | Check out OverbiteFF, a Firefox extension for viewing gopher:// sites 100 | 101 | hOverbiteFF overbite.html 102 | 103 | If you're interested in making your own gopher server read my quick guide on setting it up (Updated March 2017) 104 | 105 | 0Rolling Your Own Gopherspace gopherspace.txt 106 | 107 | ``` 108 | 109 | 110 | #### Adding Links 111 | As you can see nothing too complicated. The only special syntax is for adding links. Here's the basic template 112 | 113 | Link Namelocation 114 | 115 | So if I wanted to add a link to a text file called `foo.txt` id use this: 116 | 117 | 0Foofoo.txt 118 | 119 | To link to another directory: 120 | 121 | 1NewDirectory/newdir 122 | 123 | 124 | Please note here that having actual *tabs* seperating your name and directory is cruicial. They must be tabs otherwise Gopher simply displays this as text rather than a link. 125 | 126 | Below is a table with all the supported gopher filetypes 127 | 128 | |Itemtype |Description | 129 | |---------|-----------------------| 130 | |0 |text | 131 | |1 |gopher menu | 132 | |5 |zip file | 133 | |7 |search server | 134 | |9 |generic binary | 135 | |I |generic image | 136 | |g |gif image | 137 | |s |sound/audio file | 138 | |h |html | 139 | 140 | Adding any filetype follows the basic syntax above. 141 | 142 | #### Using Additional Gophermaps 143 | 144 | You can use additional gophermaps in subdirectories just like you did in your root. So if I created a directory called `foo`. I can set the directory structure inside of it using another gophermap. Just like I did for my root directory. 145 | 146 | #### Linking to non-gopher sites 147 | 148 | Adding links in gopher to non-gopher (http) sites requires a slight workaround. If you were to add a link in your menu as such 149 | 150 | hGoogle http://www.google.com 151 | It would direct you to: 152 | 153 | gopher://http//www.google.com/:70/h/Google 154 | 155 | Not where we wanted to go. However, you can direct gopher to an HTML file which, once loaded, will redirect to the HTML site. A simple HTML file to do this would look as such: 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | If you are not automaticaly redirected, click here 164 | 165 | 166 | 167 | This will redirect the user and give the user an option to redirect manually if the browser fails to do so. 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | --------------------------------------------------------------------------------