๐Ÿ’พ Archived View for bbs.geminispace.org โ€บ s โ€บ misfin โ€บ 5841 captured on 2023-11-14 at 08:54:57. Gemini links have been rewritten to link to archived content

View Raw

More Information

โฌ…๏ธ Previous capture (2023-11-04)

โžก๏ธ Next capture (2023-12-28)

๐Ÿšง View Differences

-=-=-=-=-=-=-

Hol up a second. Yall mean to tell me that somebody's cooking up an actual mail protocol inside geminispace?

BRUH.

Now I wanna try actually messing with implementing a protocol spec from the ground up for once, instead of watching and thinking "Wow that would be cool."

Because email is a pain. Port 25 is a gateway to sadness as a sysadmin.

This, however, seems simple and clean enough to actually be fun to handle and use, AND just might work for this environment.

Nice!

Posted in: s/misfin

๐Ÿฉ wholesomedonut

Oct 03 ยท 6 weeks ago ยท ๐Ÿ‘ alexlehm, flipperzero, Supernova, clseibold

19 Comments โ†“

๐Ÿ˜Ž flipperzero ยท Oct 03 at 06:05:

Give it a go, it's exciting new yet oldschool technology. I'm in the middle of making sure I'm all set to configure a sort of misfin host for anyone to sign up and receive mail. I'm still experimenting around tho, I'm using cipres/@gemalaya 's implement for that, which is found here:

โ€” https://gitlab.com/cipres/misfin

There's also another implement including a mailinglist/newsletter feature available via clseibold's implement which is found here:

โ€” https://gitlab.com/clseibold/misfin-server

๐Ÿš€ clseibold ยท Oct 03 at 06:26:

Yeah, it's really cool! I've been working a ton for the past few days implementing a misfin server software that is flexible and simple enough for most people to use and set up. There's still some things that are sorely needed that I'm going to be adding in the coming days, but I'm happy with how much I've done so far.

There's a mailinglist that I setup on my auragem server if you want to try joining that, once you've got your own server set up. Just send "# Subscribe" (message subjects are gemtext level-1 headings) to misfin@auragem.letz.dev

I'm glad this protocol is getting more attention and users. @lem / @lem-two did a great job on creating the protocol and its spec.

๐Ÿ”ญ Supernova ยท Oct 05 at 02:03:

OK I think I got a misfin-server instance up and running. I've still got to figure out how to use a client to send and read gemmail, but now at this time of night my brain is fried. If anyone wants to try to send me a gemmail you can try at mail@supernovas.space

๐Ÿ”ญ Supernova ยท Oct 05 at 10:46:

Woohoo! I got messages from @clseibold and @flipperzero! I just did a cat on the gembox file to see them. Now I need to get a client going (tonight or maybe this weekend).

๐Ÿ˜Ž flipperzero ยท Oct 05 at 11:05:

@Supernova just to make sure, did you send a message back? I had my server down for a bit so apologies if you sent anything and I didn't see it. TBH I have no idea where to find my gembox at!! LMFAO anywho cheers, can't wait to hear more from ya :D

๐Ÿš€ clseibold ยท Oct 05 at 11:35:

@Supernova I have a very simple misfinmail client (https://gitlab.com/clseibold/misfinmail), but if you are running the latest version (0.5 or 0.5.1) of my misfin-server, then you can also enable the gemini interface, which will let you use your mailbox cert as the client cert and view your gembox messages from gemini. The misfin-server gitlab's readme has docs on this. :)

๐Ÿ”ญ Supernova ยท Oct 05 at 23:29:

@flipperzero, I did not attempt to send misfin mail yet, I have yet to figure that part out. How are you sending mail? The gemini server feature of the misfin-server sounds not to hard, I just need to spend time getting it going.

I am running on Ubuntu 22.04 which doesn't have the newest version of golang. So I ended up setting up a docker of golang:alpine and running it with a volume that contains the misfin-server data. Your mailbox file should be in the mailbox-dir defined in your misfinserver.conf @flipperzero.

๐Ÿš€ clseibold ยท Oct 05 at 23:40:

@Supernova I think flipper is using cipres's fork of the reference implementation server/client.

Re: Sending mail - the gemini interface cannot send mail, so you'll need a misfin client program (hence my mention of misfinmail). Basically, you just setup the client with your mailbox cert (which is not necessary to store on the server for regular user mailboxes, btw).

As for golang, yeah, that's an annoying part of golang, but since you are on Ubuntu, there is a Snap package available for golang that makes setup easier. I do also provide pre-compiled binaries in the Gitlab releases page, if you want to use those.

If you have any questions, you can always ask me here, at my misfin address clseibold@auragem.letz.dev, or on my misfin mailinglist (misfin@auragem.letz.dev).

Edit: Also, I'm going to be improving the misfin-server docs to explain how people can read their mail once they've setup their server. I hope to get this done soon, because I think this will help people get setup with misfin quicker and more easily.

๐Ÿ”ญ Supernova ยท Oct 05 at 23:48:

@clseibold, Oh that was actually easy to setup the gemini service part! I enabled it in the config, rebooted the server, scp my cert to my local PC, import into Lagrange and viola I see my mail!

Yes I did use your precompiled release binary. But I could probably setup a build stage in docker now that I have one with the proper version. Can you run Snaps on Ubuntu server? Even if you can I think I'd prefer not to. I keep my server install as vanilla as possible and run all my services in dockers.

๐Ÿ˜Ž flipperzero ยท Oct 05 at 23:50:

@Supernova AFAIK on gemalaya's implement, the string is "misfin send-as (--bind adr.ess.ish.ere) cert.pem "message here"

you should get a 20 status code for a successful connection.

๐Ÿ”ญ Supernova ยท Oct 06 at 00:29:

@clseibold, OK I am getting hung up on how to use the certificate in the misfinmail client. I did successfully copy my admin.pem certificate from my server and imported it into Lagrange to view the gemini interface of the server. However when trying to use this same file with the misfinmail client I get:

60 This mailserver doesn't accept anonymous mail, and you need to repeat your request with a certificate.

Also, Lagrange extracts a .crt version of the certificate from the .pem file, so I tried to use this as well with the mail client but got the same result. So what certificate needs to be used with the mail client?

Edit:

This is my path to the cert, which does exist. I also tried with the admin.pem file.

sender-cert: ~/Documents/misfin/mail.crt

๐Ÿš€ clseibold ยท Oct 06 at 00:41:

@Supernove Hm... that shouldn't be happening. Somehow it's not able to open your cert.

Also, it needs to be the full file, the cert and private key, because the private key in the file is required so SSL knows that you are the owner of that certificate. If your crt file contains the cert and the private key, then that should be fine.

๐Ÿš€ clseibold ยท Oct 06 at 00:58:

@Supernova I have released a new version of misfinmail that will now properly error out when the sender cert cannot be opened. Not sure if this might be what you encountered, but it was an update that needed to be done regardless. Honestly can't believe I overlooked this, lol.

โ€” Misfinmail 0.4.5

๐Ÿ”ญ Supernova ยท Oct 06 at 01:25:

Couldn't open certificate at location '~/Documents/misfin/admin.pem'. Make sure the cert is configured correctly in '~/misfinmail.conf' and that the cert is accessible by the user.

open ~/Documents/misfin/admin.pem: no such file or directory

But when I changed it to the fully explicit path I was able to send mail! So the ~ doesn't work when defining the cert fle.

๐Ÿš€ clseibold ยท Oct 06 at 01:27:

@Supernova Ah, interesting! I thought I made ~ work correctly (on all platforms), but looks like I need to look at that code again. Thanks! I'll try to fix this bug as soon as I can.

๐Ÿš€ clseibold ยท Oct 06 at 01:28:

@Supernova One question, are you on Linux or Windows? (Looks like Windows from the "Documents" folder, but just want to make sure)

๐Ÿ”ญ Supernova ยท Oct 06 at 01:40:

@clseibold, I am on Fedora KDE which does provide ~/Documents, ~/Downloads, etc.

Fetch still isn't working. I get output telling me where it is fetching from and to which looks right, but no file is created and no error messages.

๐Ÿš€ clseibold ยท Oct 06 at 01:57:

@Supernova Ok thanks, I will look into that as well. The problem could be the path that it's trying to save the gembox in, which is default to "~/.gembox".

I think the "~" was having a problem because I had to disable CGO as CGO links with a version of Glibc that not all platforms have, apparently, and so I think the native golang implementations of file opening might not handle "~" properly on linux, idk. It's a simple fix by just doing the same thing that I do with Windows, which is to replace "~" with the user's home directory, although I should do testing to see if the golang implementation actually gets the user's home directory correctly, lol.

๐Ÿš€ clseibold ยท Oct 06 at 02:30:

@Supernova I have released a new version, version 0.4.6, with some bug fixes: https://gitlab.com/clseibold/misfinmail/-/releases/0.4.6

I've also tested it this time on my WSL instance, so hopefully the fetching, and everything else, will work this time.