๐Ÿ’พ Archived View for bbs.geminispace.org โ€บ u โ€บ flipperzero โ€บ 5915 captured on 2023-11-04 at 16:21:09. Gemini links have been rewritten to link to archived content

View Raw

More Information

โžก๏ธ Next capture (2023-11-14)

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

Comment by ๐Ÿ˜Ž flipperzero

Re: "Hol up a second. Yall mean to tell me that somebody's..."

In: s/misfin

@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

๐Ÿ˜Ž flipperzero

2023-10-05 ยท 4 weeks ago

14 Later Comments โ†“

๐Ÿš€ clseibold

@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

@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

@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

@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

@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

@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

2023-10-06 ยท 4 weeks ago

๐Ÿš€ clseibold

@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

@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

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

@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

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

๐Ÿ”ญ Supernova

@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

@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

@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.

Original Post

๐ŸŒ’ s/misfin

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!

๐Ÿ’ฌ wholesomedonut ยท 19 comments ยท 4 likes ยท 2023-10-03 ยท 5 weeks ago