Community gopher hole - Community & Forums Related Discussions
Users browsing this thread: 13 Guest(s)
|
|||
Hello fellow rodents !
The official gopher community hole is up and running ! You can browse it here: gopher://g.nixers.net (HTTP) It is still in construction, but every member can request an account ! To do so, send an email to contact at z3bra dot org, with your forum username and SSH public key. You'll get an account on the server, and a hole will be dugged under your name. You can then add content as you please to ~/public_gopher. More information is available on the server: gopher://g.nixers.net/0/howto.txt (HTTP). I am also providing an email to gopher phlogging using scribo(1). It is still in beta, but I'm sure you can help me make it better and more robust over time ! So, will you gopher it ? |
|||
|
|||
Hey, this is sick! Gopher is such a great protocol. Excited to see how people's pages turn out.
|
|||
|
|||
By the way, I'm also working on a gopher to http proxy, to expose holes over HTTP. It runs as an inetd daemon. You can try it here (warning: bugs ahead !) : http://phroxy.z3bra.org/g.nixers.net/1/
|
|||
|
|||
Very new to this, is there any CLI client for gopher? I am interested to build one if there isn't any actively maintained.
|
|||
|
|||
There are a few ones already:
What gopher really need is a wider adoption ! |
|||
|
|||
Thanks they are pretty awesome! I will browse around and maybe write something soon heh.
|
|||
|
|||
Got myself logged in, really cool. Unfortunately, I don't think the phlog works. I get an error message as an email when I try to post to it.
Here it is: Code: Hi! |
|||
|
|||
Glad it works !
I made a typo in the mail config. It should work now ! Thanks for reporting ! |
|||
|
|||
So I just improved the phlogging system, by moving everything to the user's ~/.forward file. Receiving an email for your account will pipe the mail into scribo(1), which is configured by default to write logs into ~/public_gopher/rlog. Now that the command is in ~/.forward, you can get more creative about what to do with those mails !
Note: The index.gph file is not generated by default anymore. Either add "-o index.gph", or make a CGI script (named index.dcgi) to generate a gophermap. By default, the geomyidae daemon will list the content of the directory, sorted alphabetically. |
|||
|
|||
Ok, so clearly I'm a dumdum and cannot figure it out... I asked in the IRC but got no love :(
adding content to phlog via forward/scribo... Quote:> Post content to my phlog ? Ok, so first question: the line in ~/.forward is to contain my "real' email address. Which I presume is the email address I used to create my nixers account? Would it make any difference if I sent my initial email to z3bra requesting a gopher hole from a different email address than the one I used to create my nixers account? Second question is: The email address I send content to (in my case) would be ramiferous@g.nixers.net yes? Thanks for clarifying. So far I've tried various combinations but nothing has worked as yet.
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
When in doubt, you can check the scribo(1) man page (available on the host system).
scribo(1) Wrote: Upon reading an email, scribo will parse the headers, and check the "From:" field of the email. If the email address (usually enclosed in "<>" match the string you specified with the -a flag, then the mail is "accepted" and written on disk. It means that when you want to post something on your rlog, the "From" should be the address set in your .forward file, and the "To" should be "$USER@g.nixers.net", where $USER is your account (for you, ramiferous@g.nixers.net indeed). Hope it makes things clear ! I should probably reword the FAQ, as it is definitely not explicit enough. |
|||
|
|||
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
mcol had the idea on IRC to show a world map here on nixers.net, with a pin for each member. Maybe it would be fun to do this in the community Gopher hole using asciiworld.
Each member could have a file ".location" in their directory. A cronjob or a CGI script could collect all those files and render the map. The only real problem is: An ASCII world map is pretty "crowded" and you need colors to highlight a location (otherwise it's just too hard to spot the marker). So the map would need to be wrapped in a short HTML file. Here's an example: Code: #!/bin/sh Looks like this in lynx: Granted, it doesn't appear to work great in other Gopher clients. Some just pipe the raw HTML file to less(1). asciiworld itself is a C program and needs shapelib and gd. There are OpenBSD ports for those. (The other shell scripts and Python scripts in the asciiworld repo can be ignored.) Just an idea. :) A fun excercise in simplicity, because it would probably be much more involved to implement this here on the actual forum. |
|||
|
|||
(18-09-2020, 11:16 AM)z3bra Wrote: ... when you want to post something on your rlog, the "From" should be the address set in your .forward file, and the "To" should be "$USER@g.nixers.net", where $USER is your account (for you, ramiferous@g.nixers.net indeed). Still not succeeding at this :( I noticed you have changed the how-to slightly to include: Quote:Every email sent to this account, from your real email address Now, I emailed you from my protonmail email to request my g.nixers.net account, yet my neixers.net account was created using my gmail account. I have tried both my gmail and my protonmail email addresses in ~/.forward and yet neither of them have worked. I even took a sneak peek at some other users ~/.forward files, just to make sure I was getting the syntax correct, which it is. I would love to use this functionality as it would be far easier than logging in and creating text files in standard vi.. plz install vim :P
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
That's weird. Does your message gets bounced ? In case of error, you should receive a message from MAILER-DAEMON (check your spam folder maybe?).
|
|||
|
|||
Tried playing with it this morning. I wasn't sure where it goes, so I placed two copies of .forward in my directory, one in ~/ and one in ~/public_gopher.
The contents of my .forward file are Code: "|/usr/local/bin/scribo -b ~/public_gopher/rlog -a EMAIL@ADDRESS" The error message I get from MAILER-DAEMON is Code: evbo@g.nixers.net: "<EMAIL@ADDRESS> is not authorized to publish content" |
|||
|
|||
It goes to ~/.forward (see forward(5) on the host). You have to modify the content of this file to set the email address you want to authorize publishing to your phlog, instead of "EMAIL@ADDRESS".
I think you need to understand how the SMTP daemon works on this system, so here is a breakdown, starting with the user's mail client. Let's say my own personal address is "spamtrap@z3bra.org" (don't email me to this address or you'll get blacklisted on my server. I hope some crawling spammers will). My .forward file will thus include the following: Code: "|/usr/local/bin/scribo -b ~/public_gopher/rlog -a spamtrap@z3bra.org" Here is what happens: 1. Create an email (note the "From:" field) Code: From: The stripped horse <spamtrap@z3bra.org> 2. Send the email Upon pressing "Send!", your email will be sent to your email provider (in my case, "z3bra.org"), and then be transferred to the running smtpd(8) daemon at "g.nixers"net" (our server). The daemon will receive it on its TCP socket, read the enveloppe, and accept it (because it's configured to accept all mails for @g.nixers.net"). 3. Deliver the email Now that the mail is accepted, it must be delivered. The rules are listed in "/etc/mail/gopherlog", you can even check, there's nothing fancy. The format is that of the aliases(5) file (you can check the man page on the system). This file lists the existing mailboxes, and what to do when an email arrives for that mailbox. In my case, I have this line: Code: z3bra@g.nixers.net z3bra Which means, deliver all mails to "z3bra@g.nixers.net" to the local user "z3bra" on this host. smtpd(8) will then lookup my home directory in the passwd(5) database, and search for a .forward file here. If it's not found, the mail will go to /var/mail/z3bra (my mailbox). In my case, the .forward file exists, and is not empty, so the server will process it, just like if its content was in the "/etc/mail/gopherlog", next to my email. 4. Pipe the email The aliases(5) manpage states the following: Code: |command Which means that the email I received will be passed to "/usr/local/bin/scribo", on stdin. Upon reading the email, scribo(1) will read all email headers, and check that the "From:" field includes the email address passed with the "-a" flag. In my case, if the From: field doesn't include "spamtrap@z3bra.org", the message will be bounce, and a mail from "MAILER-DAEMON" will arrive in my inbox, similar to the one evbo received. 5. Create log entry In my case, the email address is correct though, so the mail will be happily processed by scribo, which will use the subject to generate a filename, and write the email body in this file, inside the ~/public_gopher/rlog directory, and be immediately available over gopher ! Code: $ curl -s gopher://g.nixers.net/0/~z3bra/rlog/showingoffsmtpd8work.txt |
|||
|
|||
My apologies z3bra, I was not explaining myself properly:
Code: EMAIL@ADDRESS |
|||
|
|||
I just checked your account (pardon my intrusion), and your ~/.forward still has "user@domain.tld" in it. It looks like you set the correct address, but in ~/public_gopher/.forward instead.
The forward(5) file must be right in your home, not at the root of your gopher directory. |
|||
|
|||
Just saw your phlog-post on Yggdrasil, z3bra. If I understand correctly, it is like an alternative internet? Anyways, looks really cool.
|
|||
|
|||
Kind of indeed. Some would call it a "dark net", but this term has a bad connotation. The peering happens over the internet, and it then creates a new network between the peers, similarly to a VPN. The difference being that it's not centralized, and traffic can be routed between nodes.
|
|||
|
|||
(21-09-2020, 01:26 PM)z3bra Wrote: Upon reading the email, scribo(1) will read all email headers, and check that the "From:" field includes the email address passed with the "-a" flag. In my case, if the From: field doesn't include "spamtrap@z3bra.org", the message will be bounce, and a mail from "MAILER-DAEMON" will arrive in my inbox, similar to the one evbo received. Thank you z3bra for the detailed explanation. However I have checked, ad re-checked, My Code: /home/ramiferous/.forward I have not received any messages in my spam or other inbox from MAILER-DAEMON. PS. I am currently unable to even view g.nixers.net also. I get 'No route to host (os error 65)' in my gopher client.
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
The issue might be related to DMARC policies. I've relaxed them for subdomains, they should propagate soon.
Z3bra can setup DKIM and SPF as these are required for gmail not to flag the mails or instantly reject them. (Bless the world of emails today) |
|||
|
|||
Good catch on the DMARC policies, I forgot about the bounce-back messages. Gmail was indeed rejecting them bounced messages (see logs below).
Good news: your .forward if correctly configured, as I see your emails in the smtpd logs. Bad news: You're facing a scribo(1) limitation that I forgot to mention… Here is the log entry (I removed your original email email): Code: /var/log/maillog.5.gz:Sep 19 14:29:32 tea smtpd[84733]: 94a9c89b66baa836 smtp envelope evpid=6d5389d7d6f48374 from=<REDACTED> to=<ramiferous@g.nixers.net> The important part is "Content-Type: multipart/alternative; boundary="000000000000eecdd505afab7145" is not supported". Currently, scribo(1) is not smart enough to parse multipart/* messages, and can only handle messages in text/plain. So you must ensure you're sending plain text email for now (patches welcome!). That's definitely something that should be in the manpage. |
|||
|
|||
(24-09-2020, 12:32 PM)z3bra Wrote: you must ensure you're sending plain text email Thanks, that works :) In fact, I learned that I can send plain text emails from my Gmail account using heirloom-mailx from the command line. This is awesome! On a totally different issue however, my gopher client phetch is now giving me an error when visiting g.nixers.net I had it bookmarked and didn't have problems previously, but now I get Code: No route to host (os error 64) Any idea what this might be?
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
Glad it works ! Sorry for not realising eariler what it could be ^^
About the no route to host, this could be related to the freshly configured ipv6 stack on the server. I added an AAAA record for g.nixers.net. Maybe try accessing the hole directly from the ipv4 ? |
|||
|
|||
(25-09-2020, 06:30 AM)z3bra Wrote: Glad it works ! Sorry for not realising eariler what it could be ^^ It's really strange, I only get this error on my NetBSD machine, On Linux it works fine using the same client. I have disabled ipv6 on NetBSD tho, but not sure how I'd go about accessing it directly from ipv4... And I'm a few too many beers in to try figure it out tonight :P
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
You can try the following:
Code: curl -4 -sS gopher://g.nixers.net/1/ You can also try setting up ipv6, that could be the occasion ^^ |
|||
|
|||
_____________________________________________________________________________________________
“Maybe you have some bird ideas... Maybe that's the best you can do.” - Terry A. Davis (R.I.P Terry & Percival) |
|||
|
|||
are gopher webrings a thing? should they be? should we make?
|
|||