Gemini web client in 100 lines of C

The author introduces gmi100, a Gemini CLI protocol client written in 100 lines of ANSI C. While other similar projects have successfully demonstrated the simplicity of the Gemini protocol in just a few lines of code, the author aimed to include as many features as possible within the limited space. The CLI client allows for efficient navigation between capsules in the Gemini space. To use the client, users can compile it using a C compiler and link it with OpenSSL. The author highlights the unique browsing history functionality, inspired by Emacs’ undo history, which allows for easy navigation between previously visited pages. The client also supports opening non-text files like images and music using shell commands. Despite the compact code, the author considers the project a success, although they were unable to implement better line wrapping. After making improvements to the pager and resolving SSL issues, the author considers the project complete.

To top