💾 Archived View for bbs.geminispace.org › u › satch › 5815 captured on 2024-07-09 at 03:08:25. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-06-16)
-=-=-=-=-=-=-
Re: "I've implemented a first version of a frontend gemini app..."
@gemalaya I'm running your misfin implementation using `misfin receive-as`. I'd like to be able to use `misfin serve server` but there's something wrong with my setup and I don't know what it is.
Here's the error I get:
Traceback (most recent call last):
File "/home/gemini/.local/bin/misfin", line 8, in <module>
sys.exit(run())
File "/home/gemini/.local/lib/python3.10/site-packages/misfin/cli.py", line 354, in run
return cli()
...
File "/home/gemini/.local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/home/gemini/.local/lib/python3.10/site-packages/misfin/cli.py", line 274, in serve
laddr = split_hostport(srv_cfg['listen_on'], tmm.default_port)
KeyError: 'listen_on'
Any thoughts?
2023-10-02 · 9 months ago
😺 gemalaya [OP] · 2023-10-02 at 16:58:
@satch Did you initialize the "server" service directory with "misfin server-init server" ? You're getting this error because there's no "listen_on" key in the "service" definition in the server/misfin.toml file. Here's the fastest way to setup a server (server-init creates the server certificate if you pass a hostname):
misfin server-init --hostname localhost server misfin serve server
😎 flipperzero · 2023-10-02 at 17:34:
hey @gemalaya, j wanna say again thanks always, and I have somethin i'm wonderin' about: say I set up the frontend to listen on the domain (as exactly and directly outlined in the docs ;P), but so will it broadcast directly on that domain name or IP? could I go ahead and set it up to a subdomain? e.g. w/ webmail frontends and how they're configured via mx.sdf.org (squirrelmail), webmail.tilde.club (rainloop), etc.
🐐 satch · 2023-10-02 at 18:14:
@gemalaya I certainly did initialize the server. Here’s my service.main:
[service.main]
listen_on = “127.0.0.1:1958”
cert = “server.pem”
😺 gemalaya [OP] · 2023-10-03 at 22:18:
@satch Is that all that's in your misfin.toml file ? There must be a "listen_on" key in each "service", but it's best to only have one service defined. I can't reproduce your issue, is that the latest version ?
😺 gemalaya [OP] · 2023-10-04 at 14:12:
@flipperzero The misfin server (which uses the misfin protocol port 1958 by default) and the frontend (which uses the gemini protocol, port 1965 by default) can be configured to listen on different IPs. However, understandably, at the moment they need to be run on the same machine because the frontend needs to have access to the misfin identities (the frontend runs in a separate thread of the misfin server process). You can absolutely set it up as a subdomain, e.g gemmail.hashnix.club, the important thing is to correctly create the x509 cert with the right hostname for the gemini frontend. Hope that answered your questions.
😺 gemalaya [OP] · 2023-10-05 at 16:34:
@flipperzero Latest version should make things easier. You can run the service as a daemon, and the frontend is served from the same socket (same port). Makes it easier to setup. "server-init" now requires the hostname/domain to be passed.
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/...
💬 gemalaya · 12 comments · 2 likes · 2023-09-29 · 9 months ago