-- Leo's gemini proxy

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

-- Connected

-- Sending request

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

CGI: I am interested in CGI tutorials for Gemini applications. I have basic knowledge but need some best practice tutorials. maybe to get more insights on common pitfalls. would be very interested in getting some hints. thankx


Posted in: s/Gemini

๐Ÿš€ mimas2AC

Mar 26 ยท 8 weeks ago


10 Comments โ†“


๐Ÿ mifuyne ยท Mar 27 at 00:43:

Maybe you'll find this useful? It does have a couple of examples: a really basic hello world script, and a version of it that requests user input.


โ€” https://tilde.team/wiki/gemini-cgi


There are other cgi powered capsules that have their source code available for perusal. The one I know off the top of my head is Astrobotany:


โ€” Astrobotany on Github


Hope that helps some!


๐Ÿš€ stack ยท Mar 27 at 02:57:

First, get an account with CGI privileges. There is not much to CGI: your script is invoked with a few environment variables set. You can read them, then generate a gemini-legal response. For instance, this script will dump the environment for your perusal:

โ€” stack.tilde.cafe/cgi-bin/env.sh

The script executed is:

#!/bin/sh
printf "20 text/gemini\r\n"
printenv

๐Ÿš€ stack ยท Mar 27 at 03:00:

Sorry, the correct URL for the env.sh script is:

โ€” tilde.cafe/~stack/cgi_bin/env.sh


๐Ÿš€ stack ยท Mar 27 at 03:05:

If you hit that script with a client certificate attached, you will see the certificate info as well! That is how you can track sessions or whatever.


๐Ÿ mifuyne ยท Mar 27 at 03:53:

That's neat! Thanks for this ๐Ÿ™‚ I've been pondering making a CGI script too so being able to peek behind the curtains like this helps.


๐Ÿ€ gritty ยท Mar 27 at 23:57:

โ€” HOWTO


i have some examples on my HOWTO


๐Ÿ satch ยท Mar 28 at 02:19:

See the Skylab misfin client source for a pretty complex CGI gemini application:


โ€” Skylab

โ€” Skylab on Sourcehut


๐Ÿš€ mimas2AC [OP] ยท Mar 28 at 14:02:

Thanks for the tip to look around on GitHub, Sourcehut or similar for Gemini CGI scripts applications. I didn't have that on my screen. Thanks for that


๐Ÿš€ stack ยท Mar 28 at 17:01:

The main differences between Gemini and http cgis are:

you output a gemini response;

html is not used for output;

client certificate hash may be used to identify clients.


Keeping that in mind, any cgi tutorial is useful (not just gemini)


๐Ÿง pytat0 ยท Apr 17 at 11:33:

โ€” https://youtu.be/9Anh0sNUCY4?feature=shared

โ€” https://youtu.be/33IYTFoeOrc?feature=shared

-- Response ended

-- Page fetched on Sun May 19 21:12:56 2024