-- Leo's gemini proxy

-- Connecting to bbs.geminispace.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

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/frontend_key.pem.


misfin devel branch


Posted in: s/misfin

😺 gemalaya

2023-09-29 · 8 months ago · 👍 johano · 🎉 1


12 Comments ↓


😺 gemalaya [OP] · 2023-09-30 at 00:11:

@flipperzero Your misfin server is up now it seems, just sent a message. Do you maybe have some time to test the frontend app ?


😎 flipperzero · 2023-09-30 at 02:26:

I caught your misfin message. I'll let you know once I give it a go, via sending a message to your address by way of gemini client.


😎 flipperzero · 2023-09-30 at 02:58:

@gemalaya I try to send to your cipres@gemalaya.gitlab.io address from my initial client w.o gemini implemtation yet, just to make sure things are still working, and I seem to continue running into this timeout time and again.

  File "/home/flipperzero/.local/lib/python3.9/site-packages/OpenSSL/SSL.py", line 2213, in connect
    return self._socket.connect(addr)
TimeoutError: [Errno 110] Connection timed out

Let me know if you'd like to see the full error log


😺 gemalaya [OP] · 2023-09-30 at 13:16:

@flipperzero yeah that address is unreachable, no server there, sorry. It's the first time i managed to send a msg to hashnix.club, otherwise it would say conn refused. Once you run a fullserver i'll have my cipres@hashnix.club :) I'm making it available as an appimage so that it's easier to install and run.


😺 gemalaya [OP] · 2023-09-30 at 13:59:

@flipperzero misfin AppImage available here, only 20Mb


— https://gitlab.com/cipres/misfin/-/releases/continuous-devel/downloads/misfin-latest-x86_64.AppImage


🐐 satch · 2023-10-02 at 13:55:

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


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

-- Response ended

-- Page fetched on Sun May 19 16:39:32 2024