Go to file
rald 1cf6f62907 OK 2023-08-03 20:33:39 +08:00
README.md OK 2023-08-03 17:19:04 +08:00
add-cert.cgi OK 2023-08-03 17:19:04 +08:00
cgi-example.sqlite3 OK 2023-08-03 17:19:04 +08:00
change-name.cgi OK 2023-08-03 17:19:04 +08:00
create_schema.sql OK 2023-08-03 17:19:04 +08:00
db.py OK 2023-08-03 17:19:04 +08:00
helpers.py OK 2023-08-03 20:33:39 +08:00
index.cgi OK 2023-08-03 17:19:04 +08:00
login.cgi OK 2023-08-03 17:19:04 +08:00
update-auth-code.cgi OK 2023-08-03 17:19:04 +08:00
x.cgi OK 2023-08-03 20:33:39 +08:00

README.md

CGI Example Project

The goal of this project is to give a working example of a basic Gemini CGI application. User identities are driven by TLS Client Certificates. This project will serve as a reference for CGI authors and be explained in detail in an instructional video.

Features

  • (DONE) New TLS certificates automatically create a new user account
  • (DONE) Users can set data on their own account (a name field for example)
  • (DONE) Users can add additional certificates to the same account by using a special code

Setup

Create database with:

sqlite3 db/cgi-example.sqlite3 < create_schema.sql

Then give write permission to the both the database and the containing directory (db) to the user that your Gemini server runs as. It is important that the containing folder write permissions are in place or you will see 50 errors returned when trying to write to the database.