💾 Archived View for bbs.geminispace.org › s › misfin captured on 2023-12-28 at 15:57:48. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-11-14)
-=-=-=-=-=-=-
Discussing the Misfin mail protocol
🚀 Moderated by: lem · 😴 218 days
SSL Errors from misfin listener (cipres a45df40) — I'm using the cipres misfin client (commit a45df40 w/ local python 3.7 compatibility patches) and recently started seeing SSL errors after a few weeks of sucessful use. Error [('SSL routines', '', 'http request')] Aborting due to exception. Error [('SSL routines', '', 'wrong version number')] Aborting due to exception. Error [('SSL routines', '', 'wrong version number')] Aborting due to exception. Error [('SSL routines', '', 'wrong version...
💬 15 comments · Oct 19 · 2 months ago
I've added an SMTP <=> misfin bridge service in the python implementation. Emails sent to the SMTP service will be delivered to the gembox of the recipient(s) if they have a misfin identity on the server. Message delivery is rate-limited, only non-multipart text messages accepted. Dunno if that's useful to anyone. If you run a big misfin mailserver and you want compatibility with SMTP, it's just 2 lines to add in the config file .. [https link]
💬 1 comment · 1 like · Oct 16 · 2 months ago
misfin (python impl) v1.0.9 [1.0.9] - 2023-10-09 Added - Admin interface in the frontend - Support for mailing lists. By default, for subscriptions, a mailing list will require validation by sending a verification code to the subscriber address Changed - Use SO_REUSEADDR on the server socket - Set a default timeout on the server socket - Handle requests in the server's threadpool
💬 1 comment · 1 like · Oct 09 · 3 months ago
misfin (python impl) v1.0.7 released [1.0.7] - 2023-10-07 Added - Mailbox config settings (dedicated toml file per identity) - Add a /fetch endpoint to serialize any mailbox to a gembox file - Frontend: add pages for mailbox settings and address book - Simple address book: list and add contacts - Support for maildir and "read" messages in the mailbox UI - Config endpoint to change the mailbox type Changed - misfin.letter.Letter: some refactoring to support the maildir format [https link]...
💬 1 comment · Oct 07 · 3 months ago
Misfin-Server Version 0.5.1 - Major Bug Fix — I have released a major bug fix to my misfin-server software. I realized this was a bug when @mrkubax10 's misfin server was trying to send to my misfin server and both servers got in a deadlock trying to verify each other by sending each other blank messages. This has been fixed by not requiring a verified fingerprint on blank messages, as blank messages are only used to get the mailbox's fingerprint back (for verification). This solves the...
💬 1 comment · Oct 04 · 3 months ago
— AuraGem Gemini Mail Interface
Misfin-Server Version 0.5 Release — Basic Gemini Interface! Users can now read messages or fetch their gembox with a gemini interface served over the same port as the misfin server. Enable this feature with the command `misfin-server config server gemini-permission member-only`. You can replace `member-only` with `public` or `admin-only` depending on who you want to be able to view the interface, or `disabled` to disable it...
💬 View post · Oct 04 · 3 months ago
Currently @clseibold's misfinmail allows for fetching gembox from Gemini address. Is there any way to do so directly from misfin-server?
💬 4 comments · Oct 03 · 3 months ago
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!
💬 19 comments · 4 likes · Oct 03 · 3 months ago
As a test I have written a shell wrapper for openssl that sends misfin messages, it requires essentially a 1-line command
💬 5 likes · Sep 30 · 3 months ago
Misfin Mailinglist! — I have created a mailinglist! You can try it out by sending a misfin gemmail to misfin@auragem.letz.dev with the subject "Subscribe". For clients that don't handle subjects fully (like the original reference implementation), you need to put a "# " in front, so it should be: "# Subscribe". You should instantly get a gemmail sent back to you saying you have subscribed. Once you've subscribed, all messages sent to the mailinglist will be forwarded to you (except for your own...
💬 32 comments · 1 like · Sep 30 · 3 months ago
I've implemented a first version of a frontend gemini app for misfin (sort of like a webmail for misfin ^_^), i've pushed the changes in the devel branch. It works pretty well for me locally. What's supported right now: sign up (create a mailbox), reading the gembox, compose/send/reply. Try it with lagrange and use "Identity => Import" after sign up. As explained in the README.md, you need to create a certificate/key for the gemini app and copy them to service/frontend_cert.pem and service/...
💬 12 comments · 2 likes · Sep 29 · 3 months ago
Misfinmail Terminal Client — I have created a terminal client for misfin! You can try it out at the gitlab link below (Note that there are pre-compiled binaries for x64 Linux and Windows in the releases). It will let you send gemmails using your sender cert and read gemmails from a gembox. Another feature that I am excited about having added is the ability to add a gemini fetch address for your gembox, where the command will fetch your gembox from gemini using the address, with the gemini...
💬 View post · Sep 28 · 3 months ago
I am not sure if there is a issue tracker for the misfin python implemenation, I would like it if the script receive-as had a parameter to set the local bind IP, e.g. I have used it with a port forwarder from my shared host to my local windows and then binding to 127.0.0.1 is necessary regardless of the cert data
💬 2 comments · Sep 28 · 3 months ago
I have received a misfin message that does not identify the sending domain, so I do have any way of replying and connecting to the client IP address returns a zertificate but does establish a TLS connection. The username is @flipperzero, so if anybody knows them, I have received the mail Ok, i take that back, a previous message identifies the domain as hashnix.club, so i know the user, i will just send them an email
💬 6 comments · 1 like · Sep 28 · 3 months ago
Misfin Golang Client Library — I have created a very simple misfin client library adapted from makeworld's go-gemini. It will let you send a request to a misfin server and get the response back, and that is pretty much it. It will also punnycode the hostname, do very simple server cert verification (check that hostname matches) if this feature is not disabled (which is an option), and handle sender certs (I prefer this name over "client cert"). Most of the credit goes to makeworld who created a...
💬 View post · Sep 28 · 3 months ago
Python client subscript error — Here is what I see from a fresh install of the python client from [https link] $ misfin listen-as k0stk.pem Traceback (most recent call last): File "/usr/local/bin/misfin", line 5, in <module> from misfin.cli import run File "/usr/local/lib/python3.7/dist-packages/misfin/cli.py", line 10, in <module> from misfin.service import serve_multi File "/usr/local/lib/python3.7/dist-packages/misfin/service.py", line 11, in <module> from misfin.letter...
💬 5 comments · Sep 28 · 3 months ago
Mailinglists and Recipients Line — I was thinking of how mailing lists should be implemented in a space-efficient way in misfin, and I think we could do mailinglists without mails becoming very long by using the traditional mail concept of BCC instead of CC. So, when someone sends to a mailinglist, the mailinglist will add their sender line and then send out the gemmail to each recipient, but it *does not* need to put a recipients line, because a reply then would send back to the mailinglist...
💬 2 comments · 1 like · Sep 27 · 3 months ago
There's now experimental support for a multi-mailbox server mode. It's possible to deliver the messages to a mbox file or a gembox file. To use the gembox format, add this in the misfin.toml: [preformatted] [https link]
💬 8 comments · Sep 27 · 3 months ago
I wonder how misfin messages are replyable, the client does not have to run on the same address as the server and the sender domain is not provided in the client cert unless it is set in a SAN field
💬 4 comments · Sep 27 · 3 months ago
My Misfin Server Gitlab Repo — I have put my misfin server up on gitlab for anyone who wants to experiment with it. It is in very early stages of development atm and doesn't support a multi-user setup yet.
💬 9 comments · 2 likes · Sep 27 · 3 months ago
Misfin Server Ideas — I believe I have written a basic solo-mailbox server in golang. It is running now, so people should be able to test it at my same misfin address (clseibold@auragem.letz.dev). I wanted to outline some ideas that I have for the server: 1. I want it to support both solo-mailbox and multi-mailbox setups. 2. An interesting idea came up when I compared the spec to gemini. Gemini has this proxy ability, I believe, so that it could actually proxy other gemini servers. This led...
💬 19 comments · 1 like · Sep 27 · 3 months ago
So, I just wanted to write here what I noticed about the spec allowing for two different server configurations. I think thinking of it in this way helped me to start figuring out how I should write my misfin server. 1. One-mailbox server. The (self-signed) server certificate has a mailbox name in its USER_ID field, as per the spec. 2. Multi-mailbox server. There's one (self-signed) server certificate that acts as a CA that signs each mailbox certificate. Does the server certificate still need...
💬 1 comment · Sep 27 · 3 months ago
I've changed a few things in the misfin code: - pass flake8 test - rename the main package from "transponder" to "misfin" - Add a setup.py: "pip install ." will install all the required dependencies - Add a "misfin" command-line program (it uses the "click" module), everything can be done with this command Git repo link below [https link] misfin gitlab repository (cipres)
💬 17 comments · 2 likes · Sep 26 · 3 months ago
— bbs.geminispace.org/u/clseibold/5591
I think I may have fixed my server. Can someone try sending to clseibold@auragem.letz.dev? That would be very much appreciated. Thanks! Also, you can find more info about my situation below: Edit: As I was typing this, I already got a message! It works!
💬 7 comments · 1 like · Sep 26 · 3 months ago
SNI for misfin: I am getting a "you didn't provide SNI" error in one misfin server when I try to access it via the Python client, apparently that uses a different ssl library. I wonder if that is intended, to work it has to be active in both the client and the server
💬 20 comments · Sep 26 · 3 months ago
Page 1 of 2