๐Ÿ’พ Archived View for bbs.geminispace.org โ€บ u โ€บ gemalaya โ€บ 14660 captured on 2024-08-18 at 20:46:39. Gemini links have been rewritten to link to archived content

View Raw

More Information

โฌ…๏ธ Previous capture (2024-07-09)

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

๐Ÿšง View Differences

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

Comment by ๐Ÿ˜บ gemalaya

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

In: s/misfin

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

๐Ÿ˜บ gemalaya [OP]

Feb 04 ยท 6 months ago

25 Later Comments โ†“

๐Ÿ˜Ž flipperzero ยท 2024-02-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 ยท 2024-02-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] ยท 2024-02-04 at 20:58:

@flipperzero I registered as cipres@hashnix.club

๐Ÿ˜บ gemalaya [OP] ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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] ยท 2024-02-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] ยท 2024-02-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 ยท 2024-02-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] ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-05 at 01:42:

Hey sorry it's satchlj@hashnix.club

๐Ÿ satch ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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] ยท 2024-02-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] ยท 2024-02-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 ยท 2024-02-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 ยท 2024-02-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 ยท 10 months ago