lainchan / Ω

Gopher networking

Jarlold · 2019-02-06 01:26
Hey Lains! Sorry if this is a bit of a basic topic for discussion, but I was wondering if any of you had some good advice for getting started with Gopher, and Gopher networking. If you have any good learning resources, or cool gopher holes, I'd really appreciate it if you could share them. Other than that, even basic stuffs would be nice. How do you get started with Gopher? Is it like Subsurf or .conn files? How do you host a gopher hole? What even is a gopher hole? Do they work more like BBS systems, or more like web pages? Can you use gopher (easily) from telnet, or is a client super-needed? Thanks for any and all replies, and sorry if this is on the wrong board.
Tomohisa "Tom" Kanezaki · 2019-02-06 04:40
Check out this thread: https://lainchan.org/%CE%BB/res/4914.html Also, one of the lainzines has a great article on Gopher (zine #3 I think) so make sure to read that too. Gopher is an extremely simple protocol and most of your questions are easily answered by reading the wikipedia page (i.e. the telenet one).
Jarlold · 2019-02-06 20:49
>>15546 Thanks lain, Ill make sure to read through those
Joe Bloggs · 2019-02-10 13:24
>>15545 >How do you get started with Gopher? First things first: you need a client. If you don't want to install a client, you can try the http-gopher proxy from Floodgap. https://gopher.floodgap.com/gopher/ But it's recommended to get a proper client for an optimal experience :) Here are some highly regarded ones: http://www.jaruzel.com/gopher/gopher-client-browser-for-windows [GUI] https://github.com/sloumdrone/burrow [GUI] https://lynx.invisible-island.net/ [TUI] https://github.com/solderpunk/VF-1 [CLI] https://github.com/kieselsteini/cgo [CLI] >How do you host a gopher hole? You need a server, duh. But seriously, you write a few gophermaps (basically indexes of files with a few informations) and then you set one up as the root gophermap (acting similarly to index.html) and that's pretty much it. If you want to know more, then either read the Lainzine article or this post by Cat. gopher://baud.baby/0/phlog/fs20181102.txt If you don't want to host it yourself, then a lot of pubnixes (public access UNIX systems) like SDF, Grex or republic.circumlunar.space offer free hosting along with a knowledgeable community that can help you with stuff. >What even is a gopher hole? A punny name for a gopher site. >Do they work more like BBS systems, or more like web pages? Think minimalist Web 1.0. >If you have any good learning resources, or cool gopher holes... Floodgap's gopher site is not only a great resource for beginners, but it also hosts the only (afaik) gopher search engine available now. gopher://gopher.floodgap.com When it comes to links, / T H E E N D / people got an interesting link library, but to access that, you'll need to route your gopher traffic through Tor (the easiest way is to use torsocks or proxychains with your client). They also host a plaintext mirror of the Lainzine, which is nice. gopher://dek6dax7nbpb3sld.onion/
Nell · 2019-02-28 04:41
I forget where, but I read recently that Gopher is making a bit of a resurgence due to people getting tired of the mainstream interwebz. I myself have pondered recreating Gopher with in the Plan 9 protocol. Some kind of bridge so that people can use Gopher if they don't want to be power users and 9P if they do. Tunneling Gopher over HTTP might also be interesting. I think that's how Floodgap does it (unless it's connecting to a Gopher client somewhere on the back end) I think Gopher would be a tad more popular if it had a document format that went beyond text while at the same time not succumbing to client-side temptations like JavaScript. No cookies, either, preferably. Of course, if it got more popular, I guess all that stuff would be inevitable as businesses start following the people in...
Gyula Kovacs · 2019-02-28 09:05
>>15545 go on gopher://bitreich.org Get on their releases Install sacc and geomyidae set up your own gopher hole and that's it, or use any public hosting that people told about fuarrrk around, find phlogs you want to read
Hitomi · 2019-03-04 22:38
>>15911 Bitreich is some good soykaf, they also serve that over tor gopher://hg6vgqziawt5s4dj.onion/1/
Joey · 2019-03-07 22:27
>Hey Lains! Sorry if this is a bit of a basic topic for discussion, but I was wondering if any of you had some good advice for getting started with Gopher, and Gopher networking. I keep wanting to add Gopher to my website, but I haven't yet. I want to implement my own Gopher server to use, since the RFC is so simple. I've attached RFC 1436 for your reading. >If you have any good learning resources, or cool gopher holes, I'd really appreciate it if you could share them. I'll be sure to come back and link mine once I have it up. >Other than that, even basic stuffs would be nice. How do you get started with Gopher? Is it like Subsurf or .conn files? You just send CRLF-delimited strings to port seventies on the Internet. It's so simple you don't even need a dedicated client. >How do you host a gopher hole? What even is a gopher hole? Do they work more like BBS systems, or more like web pages? You use a Gopher server. It's based around hosting, not co-operating as a BBS would be. >Can you use gopher (easily) from telnet, or is a client super-needed? Thanks for any and all replies, and sorry if this is on the wrong board. I've just been using netcat lately; the Lainzine tells you how to do this, although you should really send CRLF instead of just a LF. I've just been having issues getting tor through torsocks working with netcat. >>15902 >I forget where, but I read recently that Gopher is making a bit of a resurgence due to people getting tired of the mainstream interwebz. I've also seen this, but I've been wanting to do it for around two years now and have been too busy with other things, so I was wondering if I was just noticing it more than anything. I want to eventually use my own implementations of much of anything I use, so it's important to me that they be feasible for a single person to implement. The WWW is clearly already not like this and it's even trying to consume other Internet standards, such as DNS, leaving unmanageable complexity in its wake. >I myself have pondered recreating Gopher with in the Plan 9 protocol. Some kind of bridge so that people can use Gopher if they don't want to be power users and 9P if they do. Tunneling Gopher over HTTP might also be interesting. I think that's how Floodgap does it (unless it's connecting to a Gopher client somewhere on the back end) That seems like an overcomplication more than anything. I also don't know how Floodgap works, but it's probably just converting a Gopher server's response. >I think Gopher would be a tad more popular if it had a document format that went beyond text while at the same time not succumbing to client-side temptations like JavaScript. No cookies, either, preferably. Two of the standard item types concern images, g for GIFs and I for any images. >Of course, if it got more popular, I guess all that stuff would be inevitable as businesses start following the people in... I tried to find an article I'd read about Gopher recently I enjoyed, but couldn't locate it. In the article, it compares the Gopher RFC of sixteen pages to the HTTP RFC of over one hundred. So, it's easier to write your own Gopher server and client, which means there's far more implementations, which means it's far harder to push new behavior. I can see a WWW behemoth using its leverage to try to push new behavior into Gopher, with its own implementation of server and client that's basically just a WWW browser, but I don't think that would work well, since normal people would probably not use it much and the people who are interested in Gopher are vehemently opposed to repeating the same mistakes of the WWW and would prefer it remain simple. I'm certainly hopeful, I suppose. In closing, here are some articles about Gopher, about setting them up in particular, some of you may enjoy; I don't use Gopher much yet, so I don't have a list of good Gopher articles, though: https://prgmr.com/blog/gopher/2018/11/09/setting-up-gopherserver.html https://davebucklin.com/play/2018/03/31/how-to-gopher.html
Lunch · 2019-05-26 17:51
https://gopher.floodgap.com/gopher/gw.lite https://gopher.floodgap.com/gopher/gw.lite?gopher://khzae.net:70/1/phourchan https://gopher.floodgap.com/gopher/gw.lite?ss=gopher%3A%2F%2Fgopher.floodgap.com%3A70%2F7%2Fv2%2Fvs&sq=chan
Vasya Pupkin · 2019-05-28 07:15
>>16068 It's a good thing I saw this thread again and noticed I failed to return when I created my Gopher hole. Here it is: gopher://verisimilitudes.net I don't like URLs or much of anything related to the WWW and so avoid them with Gopher, but Lainchan turns Gopher protocol URLs into hyperlinks now and the prime listing avoids most issues with Gopher URLs, such as people putting an unnecessary / between the item type and the selector. In any case, I've used one Gopher URL, so here's the URL for the article where I debut my Gopher hole as well: gopher://verisimilitudes.net/12019-03-30 Notice that there's no / between the 1 and the 2 here; many people get this wrong and send invalid selectors. I also have a Finger service now, but no one's bothered to use that so far. In any case, I like Gopher and I expect to get some library work done so I can write a good and robust server implementation soon, compared to what I've currently written for my own use. Gopher is so much nicer than the WWW. I see people mention how Gopher needs CSS or this or that and I'm disgusted by it, since it's the same manner of thing that happened to the WWW, although the WWW wasn't good to start with anyway. You'll also notice my Gopher hole has no i item types in the menus. Every other Gopher hole I've taken a look at abuses these and some menus even have all but one entry being an i item type, which is obscene. People will abuse what systems you give them and people horribly abuse i item types.
Rick Deckard · 2019-06-04 20:03
>>17421 >many people get this wrong and send invalid selectors It's a perfectly valid selector string per RFC 1436: UNASCII ::= ASCII - [Tab CR-LF NUL]. Selector ::= {UNASCII}. Typically unnecessary, but valid.
Liet Kynes · 2019-06-07 09:02
>>17523 I'm referencing RFC 1738, Uniform Resource Locators (URL). Here's the relevant section: 3.4.1. Gopher URL syntax A Gopher URL takes the form: gopher://<host>:<port>/<gopher-path> where <gopher-path> is one of <gophertype><selector> <gophertype><selector>%09<search> <gophertype><selector>%09<search>%09<gopher+_string> If :<port> is omitted, the port defaults to 70. <gophertype> is a single-character field to denote the Gopher type of the resource to which the URL refers. The entire <gopher-path> may also be empty, in which case the delimiting "/" is also optional and the <gophertype> defaults to "1". <selector> is the Gopher selector string. In the Gopher protocol, Gopher selector strings are a sequence of octets which may contain any octets except 09 hexadecimal (US-ASCII HT or tab) 0A hexadecimal (US-ASCII character LF), and 0D (US-ASCII character CR). Gopher clients specify which item to retrieve by sending the Gopher selector string to a Gopher server. Within the <gopher-path>, no characters are reserved. Note that some Gopher <selector> strings begin with a copy of the <gophertype> character, in which case that character will occur twice consecutively. The Gopher selector string may be an empty string; this is how Gopher clients refer to the top-level directory on a Gopher server. I was commenting on how people typically insert an unnecessary and incorrect / between the gophertype and selector parts of the gopher-path component of a Gopher URL. Now, unfortunately, this works on many systems, even my own as of the present, but it's incorrect to interpret a Gopher selector in any particular way, especially by treating it like it's a UNIX filename. The Gopher server I write to replace the one I've written and am currently using will reject such selectors.
Dujour · 2019-06-09 22:38
>>17560 If there is a slash there, it means the selector starts with a slash. Where are you getting that selectors starting with slashes are disallowed?
Emmanuel · 2019-06-10 16:12
>>17615 Oh, I wasn't meaning that. All I meant was is that people often erroneously add a / after the item type and, unfortunately, it usually works and so people either get the wrong idea about Gopher URLs or believe Gopher selectors start with a / when they don't.
Bob Arctor · 2019-06-11 19:00
>>17628 >people either get the wrong idea about Gopher URLs or believe Gopher selectors start with a / when they don't They don't have to start with a slash, but they may. foo/bar and /foo/bar are both valid Gopher selectors, but are not necessarily equivalent. It depends on the server. If you're saying that the slash after the item type in gopher://verisimilitudes.net/1/2019-03-30 is erroneous, then you are correct, because it's your Gopher server so you set the rules for selectors. However, the slash after the item type in gopher://gopher.floodgap.com/1/v2 for example, is not erroneous. Floodgap's/Bucktooth's selectors intentionally do start with a slash. gopher://verisimilitudes.net/1/2019-03-30 is still a valid Gopher URL per RFC 1738, it just may not point to the resource you are expecting.
Boris Grishenko · 2019-06-11 20:10
>>17638 >They don't have to start with a slash, but they may. >It depends on the server. Yes. >If you're saying that the slash after the item type in gopher://verisimilitudes.net/1/2019-03-30 is erroneous, then you are correct, because it's your Gopher server so you set the rules for selectors. >gopher://verisimilitudes.net/1/2019-03-30 is still a valid Gopher URL per RFC 1738, it just may not point to the resource you are expecting. That's all I meant, yes.