2020-08-21 04:07:37 -04:00
# Awesome Gemini [![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re)
2020-08-21 03:54:14 -04:00
A collection of awesome things regarding the [gemini protocol][1] ecosystem.
Please contribute to this list to link to all the awesome gemini projects out there.
2020-08-22 14:20:56 -04:00
## What is Gemini
[Excerpt from gemini.circumlunar.space ](https://gemini.circumlunar.space/docs/specification.html ):
> 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.
2020-08-21 03:54:14 -04:00
## Contents
- [Clients ](#clients )
- [Terminal ](#terminal )
- [Graphical ](#graphical )
- [Programming ](#programming )
2020-08-22 14:20:56 -04:00
- [Resources ](#resources )
2020-08-21 03:54:14 -04:00
- [Servers ](#servers )
- [Tools ](#tools )
- [Web proxies ](#web-proxies )
## Clients
### Terminal
2020-08-25 16:22:04 -04:00
- [Amfora ](https://github.com/makeworld-the-better-one/amfora ) (Go) - a "fancy" terminal client.
- [Asuka ](https://tildegit.org/julienxx/asuka ) (Rust) - an NCurses-based Gemini client.
- [AV-98 ](https://tildegit.org/solderpunk/AV-98 ) (Python) - a Gemini client derived from the popular VF-1 Gopher client.
- [bollux ](https://sr.ht/~acdw/bollux/ ) (Bash) - a bash Gemini client.
- [Bombadillo ](https://rawtext.club/~sloum/bombadillo.html ) (Go) - a combined Gopher and Gemini client with vim-inspired key mappings.
- [diohasc ](https://repo.or.cz/diohsc.git ) (Haskell) -a simple line-based command-response terminal user interface with ANSI colour.
- [Elpher ](https://thelambdalab.xyz/elpher/ ) (Emacs) - a combined Gopher and Gemini client for the popular text editor / operating system.
- [gemini-fetch ](https://github.com/RangerMauve/gemini-fetch ) (Node.js) - a cURL-like CLI for loading content from Gemini URLs.
2020-08-21 03:54:14 -04:00
### Graphical
2020-08-25 16:22:04 -04:00
- [Agregore ](https://github.com/RangerMauve/agregore-browser#fetch-api-for-gemini ) - (Electron.js) - a peer to peer web browser with support for loading Gemini pages.
- [Alrisha ](https://git.sr.ht/~fabrixxm/alrisha ) (QML) - QML-based Gemini client.
- [Castor ](https://git.sr.ht/~julienxx/castor ) (Rust) - a graphical Gemini client using GTK.
- [Deedum ](https://github.com/snoe/deedum ) (Dart) - an Android and iOS client made with Flutter.
- [Fafi ](https://git.sr.ht/~soapdog/fafi-browser ) (Racket) - a graphical Gemini browser written in Racket.
- [GemiNaut ](https://www.marmaladefoo.com/pages/geminaut ) (C#) - a user friendly graphical Gemini client for MS Windows.
- [Moonlander ](https://sr.ht/~admicos/moonlander/ ) (Rust) - the fanciest Gemini client in the entire solar system.
- [Kristall ](https://github.com/MasterQ32/kristall ) (C++) - a graphical Gopher and Gemini client using QT.
- [spacewar ](https://github.com/ResonAtom/spacewar ) (Electron.js) - a Gemini browser running on Electron.
- [Två ](https://www.oppenlab.net/pr/tva/ ) (Kotlin/Java) - a Gemini protocol client for Android based OS.
2020-08-21 03:54:14 -04:00
## Programming
2020-08-25 16:22:04 -04:00
- [gemini ](https://github.com/derhuerst/gemini ) (Node.js) - a server & client lib.
- [gig ](https://github.com/pitr/gig ) (Go) - a Gemini framework.
2020-08-21 03:54:14 -04:00
2020-08-22 14:20:56 -04:00
## Resources
2020-08-25 16:22:04 -04:00
- [Gemini Specification ](https://gemini.circumlunar.space/docs/specification.html ) - the Gemini protocol specification.
- [gemini.circumlunar.space/software ](https://portal.mozz.us/gemini/gemini.circumlunar.space/software/ ) - a list of Gemini software.
- [transjovian.org/gemini ](https://portal.mozz.us/gemini/transjovian.org:1965/gemini/ ) - a wiki space dedicated to Gemini communities and software.
2020-08-22 14:20:56 -04:00
2020-08-21 03:54:14 -04:00
## Servers
2020-08-25 16:22:04 -04:00
- [Agate ](https://github.com/mbrubeck/agate ) (Rust) - a simple Gemini server for static files.
- [blizanci ](https://github.com/mk270/blizanci ) (Erlang) - a server designed primarily for robustness and security.
- [Denoscuri ](https://github.com/caranatar/denoscuri ) (Typescript) - a simple Gemini server written using Deno and Typescript.
- [GeGoBi ](https://tildegit.org/solderpunk/gegobi ) (Python) - a server to facilitate easy Gemini-Gopher bi-hosting.
- [gemini-server ](https://hackage.haskell.org/package/gemini-server ) (Haskell) - a lightweight server for the Gemini protocol.
- [geminid ](https://github.com/jovoro/geminid/ ) (C) - a Gemini Server in C.
- [Gemserv ](https://portal.mozz.us/gemini/80h.dev/projects/gemserv/ ) (Rust) - a server with features like vhosts, CGI, SCGI, reverse-proxying and more.
- [Germinal ](https://github.com/jfmcbrayer/germinal ) (Common Lisp) - serves any type of document with an appropriate mime type.
- [Marami ](https://github.com/MagnificentPako/Marami/ ) (Prolog) - a server written in Prolog.
- [Molly Brown ](https://tildegit.org/solderpunk/molly-brown ) (Go) - a full-featured Gemini server implemented in Go.
- [Shavit ](https://git.sr.ht/~yotam/shavit ) (Go) - a configurable Gemini server for UNIX operating systems.
2020-08-25 11:52:56 -04:00
- [Titan ](https://github.com/jahzielv/titan ) (Rust) - a simple TOML-configured Gemini server and an Express-like Gemini server framework.
2020-08-21 03:54:14 -04:00
## Tools
2020-08-25 16:22:04 -04:00
- [gemini-pandoc-lua-filter ](https://github.com/kr1sp1n/gemini-pandoc-lua-filter ) - a lua filter for pandoc to output Gemini text.
2020-08-22 13:58:53 -04:00
- [gemini-to-html ](https://github.com/RangerMauve/gemini-to-html ) (Node.js) - a JavaScript library for parsing Gemini pages, and for rendering them to HTML.
2020-08-25 16:22:04 -04:00
- [gloggery ](https://github.com/kconner/gloggery ) - basic static site generator for blogs in Gemini.
2020-08-21 03:54:14 -04:00
## Web proxies
- [Mozz.us portal ](https://portal.mozz.us/gemini/gemini.circumlunar.space/ )
- [Vulpes proxy ](https://proxy.vulpes.one/gemini/gemini.circumlunar.space/ )
---
[1]: https://gemini.circumlunar.space/