See also this review/critique from the cURL author, especially if you’re going to implement it yourself. Particularly around certificate handling and URL parsing, there’s a lot of underacknowleded complexity in Gemini.
https://daniel.haxx.se/blog/2023/05/28/the-gemini-protocol-s...