๐Ÿ’พ Archived View for bbs.geminispace.org โ€บ u โ€บ gemalaya โ€บ 14656 captured on 2024-07-09 at 05:22:57. Gemini links have been rewritten to link to archived content

View Raw

More Information

โฌ…๏ธ Previous capture (2024-06-16)

โžก๏ธ Next capture (2024-08-18)

๐Ÿšง View Differences

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

Comment by ๐Ÿ˜บ gemalaya

Re: "I've added an SMTP <=> misfin bridge service in the python..."

In: s/misfin

@flipperzero Hi there ! I assume that misfin has been installed "globally" (probably in /usr/local). You're using sudo so the root user will run misfin from there.

I've never run into the "cannot assign requested address" problem with misfin. I've never run it as root though (1958 is not a privileged port).

I see that "hashnix.club" has both IPv4 and IPv6 addresses. The first thing i'd check is that nothing's listening on port 1958, just in case. Also:

- try to use "0.0.0.0:1958" in listen_on, or "127.0.0.1:1958"

- set "use_ipv6 = true" in [service.main] when you use "hashnix.club:1958"

๐Ÿ˜บ gemalaya [OP]

Feb 04 ยท 5 months ago

28 Later Comments โ†“

๐Ÿ˜Ž flipperzero ยท Feb 04 at 19:03:

@gemalaya hahaahahahahahahahahahahahaha!!

Cipres, gemalaya..... give it a go now. :)

โ€” Hashnix.club Misfin Mail -- First Ever Misfin Host!

๐Ÿ˜Ž flipperzero ยท Feb 04 at 19:09:

if everything is going well, please go ahead, send me a message at userfxnet@hashnix.club via the gemini frontend :D

๐Ÿ˜บ gemalaya [OP] ยท Feb 04 at 19:35:

@flipperzero Just registered an account and sent you a message :) I think you're running in ipv6 right ? did you set "use_ipv6" to fix it ? Nice job.

๐Ÿ˜Ž flipperzero ยท Feb 04 at 20:21:

@gemalaya you have? Ok, we've made it this far, so let's see what else we can hash out aha.

BTW just to confirm, yes, as you said I went ahead and added the use_ipv6 tag under the service main field. At this point, anytime I try to fetch for the gembox from frontend, the /mail/fetch URL seems to produce a blank. When I try to use gembox-read from commandline, I get this.

Traceback (most recent call last):
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/bin/misfin", line 8, in <module>
    sys.exit(run())
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/misfin/cli.py", line 465, in run
    return cli()
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/misfin/cli.py", line 449, in gembox_read
    from misfin import gemboxreader
  File "/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/misfin/gemboxreader.py", line 8, in <module>
    from .letter import GemBox
ImportError: cannot import name 'GemBox' from 'misfin.letter' (/tmp/.mount_misfincAgtKn/opt/python3.9/lib/python3.9/site-packages/misfin/letter.py)

Refreshing the page on it's own, it says I have 0 messages in my inbox right now, which I know must be untrue if the gembox produced and you were able to send to me successfully. Any idea what could be happening?

๐Ÿ˜Ž flipperzero ยท Feb 04 at 20:44:

@gemalaya what's the address you registered with? I'll see if I can send a message, and in turn see if you're able to fetch the gembox so you can find and read that message then reply to it.

๐Ÿ˜บ gemalaya [OP] ยท Feb 04 at 20:58:

@flipperzero I registered as cipres@hashnix.club

๐Ÿ˜บ gemalaya [OP] ยท Feb 04 at 21:07:

@flipperzero Just checked the gemboxreader's code, the class name on line 8 is indeed wrong, will fix that ..

Are you still running it with sudo ? I advise against running it as root. Do you see any errors, tracebacks in the logs ? What does "find <srvdir>" show ? You should see "cipres.pem" in the identities directory, and some folders in the "gemboxes" directory.

๐Ÿ˜Ž flipperzero ยท Feb 04 at 21:18:

@gemalaya let me know once it's newly compiled again in repo or appimage, I'll install it ASAP.

ATM the server is down but you're right, I'm going to go ahead and chmod + chown the executable to a dedicated daemon/user setup.

๐Ÿ˜Ž flipperzero ยท Feb 04 at 21:22:

last running i hadn't noticed anything too significant save for this popping up every now and then

INFO:pyrate_limiter:(sync)leaking bucket: <pyrate_limiter.buckets.in_memory_bucket.InMemoryBucket object at 0x7fc01b128430>, 0 items
INFO:pyrate_limiter:(sync)leaking bucket: <pyrate_limiter.buckets.in_memory_bucket.InMemoryBucket object at 0x7fc01b128d30>, 8 items

I'm not really sure what it could be alluding to or mean in this instance though. It prints back a value of conclusively set items which seem to vary between intervals.

๐Ÿ˜บ gemalaya [OP] ยท Feb 04 at 21:38:

@flipperzero Those periodic messages are about the requests rate limiting. In the config file you can configure how many requests per minute a client is allowed to send to the server.

Indeed, chown -R the service directory and run it as a user, that could be the reason why the messages can't be stored.

๐Ÿ˜บ gemalaya [OP] ยท Feb 04 at 21:46:

The rate limiting is based on this algorithm:

โ€” https://en.wikipedia.org/wiki/Leaky_bucket

When you see "8 items" in the logs, it means that there are 8 requests in the bucket that are being handled. The default limit is 100 requests / minute (per misfin sender identity).

๐Ÿ˜Ž flipperzero ยท Feb 04 at 22:25:

@gemalaya the server is back up, and I've sent a message to your address, it should be good to go for another test that hopefully yields better results

๐Ÿ˜บ gemalaya [OP] ยท Feb 04 at 23:12:

@flipperzero Do you see any errors in the logs ? When i send with the CLI he server replies code 60 (certificate required). I gotta go, i'll think about what this could be related to but, right now i'm thinking that it could be related to ipv6, your misfind only listens on an ipv6 socket, and all the tests with the implementation were with ipv4 connections.

Does it start with listen_on = "0.0.0.0:1958" WITHOUT setting "use_ipv6" ? Or with listen_on = "170.75.170.116:1958" (seems to be hashnix's public ip) ?

๐Ÿ˜Ž flipperzero ยท Feb 04 at 23:21:

@gemalaya you have a happy sunday. this is that popped up fortunately, that now there is time to work out any glitches and refine from there. expect word about the server within the next hour. thanks always

๐Ÿ˜Ž flipperzero ยท Feb 05 at 00:13:

@gemalaya Aaaahh wow. I see now. Yeah it seems to be working just fine with localnet addresses like 0.0.0.0 and it loads over the domain name without issue from external connections. Wow!

BTW I wasn't able to find anything in any active misfind logs concerning that page you've run into, though i'll let you know that I have run into that page when I first attempted to send a message. I just went and tried again and it went through without issue. I also notice it happens when a message exceeds or barely reaches character length limit right at peak.

๐Ÿ satch ยท Feb 05 at 01:15:

@flipperzero if you would be interested in setting up Skylab as an alternative misfin frontend let me know and I can help make sure it works smoothly. I think it would be a great fit!

๐Ÿ˜Ž flipperzero ยท Feb 05 at 01:20:

@satch I've been thinking the same, matter of fact, i'd be happy to test out the server! I'll follow the steps and see if I'm able to have both broadcast correspondingly over different ports if possible. I'll let you know within the next few hours thanks :D

๐Ÿ satch ยท Feb 05 at 01:25:

btw I made a misfin account on hashnix.club and it works to send to myself but I get a "60 certificate required" error when I try to send mail back :/

Also right now adding accounts is manual for Skylab which might not be great for your setup, but it shouldn't be too hard to automate by editing the bash script included in the Git repository.

๐Ÿ˜Ž flipperzero ยท Feb 05 at 01:28:

@satch hmm this might require further analyzing.

Imma send a message to your address (satch@hashnix.club?) and we'll see what goes on from there. The cert is assigned to root page as well? Also, is this at minimal character length or at max limit? Lmk, I'll check in more the next couple hours.

๐Ÿ satch ยท Feb 05 at 01:42:

Hey sorry it's satchlj@hashnix.club

๐Ÿ satch ยท Feb 05 at 01:55:

Also let me clarify, the 60 error is not on the gemini frontend but the misfin response status when i try sending mail to satchlj@hashnix.club from mail@satch.xyz

And it's minimal length, nowhere near max

๐Ÿ satch ยท Feb 05 at 02:11:

Update: I modified my client to treat 60 like a 59 error and it sending works now. @gemalaya please fix your status codes because I am receiving a certificate error when I send a Misfin(C) request instead of a 59 Malformed request which my client was set up to handle.

๐Ÿ satch ยท Feb 05 at 02:19:

But NOW I'm getting a 50 Cannot allocate mailbox error which I don't know what to make of

๐Ÿ˜Ž flipperzero ยท Feb 05 at 04:03:

@satch hmm damn that's strange, I hope that's not happening to other people's mailboxes rn :S

๐Ÿ˜บ gemalaya [OP] ยท Feb 05 at 10:38:

@satch Hey, thanks. Yeah i saw in the code where it's sending the 60 error, fixing that, it should send a 59 if it can't handle the request's format.

๐Ÿ˜บ gemalaya [OP] ยท Feb 05 at 11:34:

@satch @flipperzero Just pushed the fix, it will send a 59 error now when it can't handle the request. I'll merge the misfinC branch soon, sorry i didn't have much time to work on this lately.

๐Ÿ˜Ž flipperzero ยท Feb 07 at 01:39:

@gemalaya this is for whenever you see this, but a user on station is having their own personal complications with creating an account over the host yet I have a feeling they might be going about it the wrong way lol. here's the text lmk when you read it if you hmu on misfin or on irc.

โ€” misfin issues

๐Ÿ˜Ž flipperzero ยท Feb 07 at 01:40:

src of thread:

โ€” Station: hashnix misfin host

Original Post

๐ŸŒ’ s/misfin

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]

๐Ÿ’ฌ gemalaya ยท 31 comments ยท 1 like ยท 2023-10-16 ยท 9 months ago