💾 Archived View for rawtext.club › ~sloum › geminilist › 002753.gmi captured on 2020-09-24 at 00:57:12. Gemini links have been rewritten to link to archived content

View Raw

More Information

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

<-- back to the mailing list

Announcing gmni, a line-mode gemini browser and curl-esque utility program

Terry Brennan tcb913 at gmail.com

Mon Sep 21 20:26:05 BST 2020

- - - - - - - - - - - - - - - - - - - 

Hi! I read this message and thought I'd install the browser. To make a long story short:

I built and installed scdoc with no problems.

I ran configure in the gmni directory with no problems.

When I ran "make" in gmni directory, I got four errors:

in client.c, line 126: implicit declaration of SSL_CTX_up_ref

in client.c, line 128: implicit declaration of TLS_method

in client.c, line 128: implicit conversion from int to pointer in arg to SSL_CTX_new

in client.c, line 135: implicit declaration of SSL_up_ref

Seems like something's missing. I find no

BTW, you define CC as cc in config.sh. On my system cc is an alias for gcc-5.3.0. That should not be a problem.

Terry Brennan

On 09/20/2020 10:12 PM, Drew DeVault wrote:

Hiya! I felt that the Gemini space has a lot of cool browers, but was
missing the basic works-everywhere client with few-to-no dependencies.
gmni fills that role:
https://sr.ht/~sircmpwn/gmni
Here's a recording which shows off some of its features:
https://asciinema.org/a/Y7viodM01e0AXYyf40CwSLAVA
Two tools are provided: gmni, a curl-like utility which executes Gemini
requests and writes the response to stdout, and gmnlm, a line-mode
interactive browser. The latter is demonstrated in the recording above.
The whole thing clocks in at approximately 3,000 lines of C11. It'll
grow a little bit with TOFU and client-side certificate support, but
otherwise it's pretty close to done. The only dependencies are a
POSIX-like system and OpenSSL.
The Gemini protocol implementation is pretty concise and
straightforward:
https://git.sr.ht/~sircmpwn/gmni/tree/master/include/gmni.h
https://git.sr.ht/~sircmpwn/gmni/tree/master/src/client.c
https://git.sr.ht/~sircmpwn/gmni/tree/master/src/parser.c
If there's any demand for it, I'll package these up into a library you
can link to. I also plan on writing a Gemini server in C with a similar
design approach.
Enjoy!