mirror of
https://github.com/kr1sp1n/awesome-gemini.git
synced 2025-02-17 15:46:17 -05:00
A collection of awesome things regarding the gemini protocol ecosystem.
contributing.md | ||
LICENSE | ||
README.md |
Awesome Gemini ![Awesome](https://awesome.re/badge-flat.svg)
A collection of awesome things regarding the gemini protocol ecosystem.
Please contribute to this list to link to all the awesome gemini projects out there.
What is Gemini
Excerpt from gemini.circumlunar.space:
Gemini is a client-server protocol featuring request-response transactions, broadly similar to gopher or HTTP. Connections are closed at the end of a single transaction and cannot be reused. When Gemini is served over TCP/IP, servers should listen on port 1965 (the first manned Gemini mission, Gemini 3, flew in March'65). This is an unprivileged port, so it's very easy to run a server as a "nobody" user, even if e.g. the server is written in Go and so can't drop privileges in the traditional fashion.
Contents
Clients
Terminal
- Asuka (Rust) - an NCurses-based Gemini client
- Amfora (Go) - a "fancy" terminal client
- AV-98 (Python) - a Gemini client derived from the popular VF-1 Gopher client
- Bombadillo (Go) - a combined Gopher and Gemini client with vim-inspired key mappings
- diohasc (Haskell) -a simple line-based command-response terminal user interface with ANSI colour
- Elpher (Emacs) - a combined Gopher and Gemini client for the popular text editor / operating system
- gemini-fetch (Node.js) - a cURL-like CLI for loading content from Gemini URLs
Graphical
- Castor (Rust) - a graphical Gemini client using GTK
- Deedum (Dart/Ruby) - an Android client
- GemiNaut (C#) - a user friendly graphical Gemini client for MS Windows
- Kristall (C++) - a graphical Gopher and Gemini client using QT
- Agregore - (Electron.js) - a peer to peer web browser with support for loading Gemini pages
Programming
Resources
- Gemini Specification - the Gemini protocol specification
- gemini.circumlunar.space/software - a list of Gemini software
Servers
- Agate (Rust) - a simple Gemini server for static files
- blizanci (Erlang) - a server designed primarily for robustness and security
- Denoscuri (Typescript) - a simple Gemini server written using Deno and Typescript
- GeGoBi (Python) - a server to facilitate easy Gemini-Gopher bi-hosting
- gemini-server (Haskell) - a lightweight server for the Gemini protocol
- geminid (C) - a Gemini Server in C
- Gemserv (Rust) - a server with features like vhosts, CGI, SCGI, reverse-proxying and more
- Germinal (Common Lisp) - serves any type of document with an appropriate mime type
- Shavit (Go) - a configurable Gemini server for UNIX operating systems
Tools
- gemini-pandoc-lua-filter - a lua filter for pandoc to output Gemini text
- gemini-to-html (Node.js) - a JavaScript library for parsing Gemini pages, and for rendering them to HTML.