Awesome Lists

awesome-gemini

by kr1sp1n

awesome listpushed about 2 years ago

A collection of awesome things regarding the gemini protocol ecosystem.

AI summary

Gemini projects

A curated collection of resources and projects related to the Gemini protocol ecosystem.

stars
1.1K
forks
108
watching
31
awesome lists
2
entries
239
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/kr1sp1n/awesome-gemini/links.svg)](https://awesome.facts.dev/awesome/kr1sp1n/awesome-gemini)
HTML
<a href="https://awesome.facts.dev/awesome/kr1sp1n/awesome-gemini"><img src="https://awesome.facts.dev/shield/kr1sp1n/awesome-gemini/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/kr1sp1n/awesome-gemini/links.svg

What's in the list

239 links in 14 sections, with live GitHub stats.activeno commit in 2y

Gemini Specification

Clients / Terminal

  • Amfora

    (Go) - "fancy" terminal client. In

  • astronaut

    (Go) - a gemini browser for the terminal

  • Asuka

    (Rust) - an NCurses-based Gemini client

  • AV-98

    (Python) - Gemini client derived from the popular VF-1 Gopher client

  • AV-98-fork

    A fork of AV-98

  • bollux

    (Bash) - bash Gemini client

  • bombadillo

    (Go) - combined Gopher, Gemini, Finger, and File client with vim-inspired key mappings

  • cgmnlm

    (C) - colorful gemini line-mode client, fork of gmni

  • diohsc

    (Haskell) - simple line-based command-response terminal user interface with ANSI colour

  • Elpher

    (Emacs) - combined Gopher and Gemini client for the popular text editor / operating system

  • ereandel

    (Shell) - terminal client using a custom pager written in POSIX shell script

  • gelim

    (Go) - A minimalist line-mode smolnet client written in go

  • gem.awk

    (Awk) - minimal but usable interactive Gemini client in < 250 LOC of Awk

  • gembro

    (Go) - gemini client using

  • Gemcurses

    (C) - A Gemini client, written in C using ncurses

  • gemini-demo-1

    (Python) - minimal but usable interactive Gemini client in < 100 LOC of Python 3

  • gemini-demo-2

    (Lua) - minimal but usable interactive Gemini client in < 100 LOC of Lua

  • gemini-demo-3

    (Go) - minimal but usable interactive Gemini client in not quite < 100 LOC of Go

  • gemini-fetch

    (Node.js) - cURL-like CLI for loading content from Gemini URLs

  • gemivim

    (Vim) - simple VIM plugin for browsing Gemini pages

  • gmi

    (Shell) - Tiny Gemini browser written in POSIX-compliant shell. Highly hackable, portable shell script under 200 lines

  • gmi100

    (C) - CLI Gemini client written in 100 lines of ANSI C

  • gmni

    (C) - CLI utility (like curl) and line-mode browser

  • gplaces

    (C) - command-driven, terminal based Gemini client in ~1K LOC of C

  • Gremlin

    (Rust) - TUI for browsing Gemini space

  • leo

    (Python) - lightweight, prompt-driven Gemini client

  • min

    (Go) - supports advanced features like input and client certificate generation

  • ncgopher

    (Rust) - gopher and gemini client for the modern internet

  • Offpunk

    (Python) - Gemini, gopher, spartan and http/html offline-first browser

  • Omura

    (Node.js, Bun) - Pushing lightweight gemtext-based internet CLI client

  • Romulus

    (C#) - interactive TUI client with menus and mouse support

  • Scroll-Term

    (Go) - Gemini, Nex, and Scroll terminal client with audio streaming support

  • Telescope

    (C) - w3m-inspired, multi-protocol client that supports Gemini, Gopher and Finger

  • tinmop

    (Common Lisp) - opinionated Mastodon and Gemini client

  • tgmi

    (python) - full-featured CLI terminal-based Gemini client

  • vimini

    (Rust) - Desktop gemini browser inspired by qutebrowser and Vim

Clients / Graphical

  • Agregore

    (Electron.js) - peer to peer web browser with support for loading Gemini pages

  • Alrisha

    (QML) - QML-based Gemini client

  • Castor

    (Rust) - graphical Gemini client using GTK

  • Eva

    (Rust) - a Gemini protocol browser in Gtk4

  • Fafi

    (Racket) - graphical Gemini browser written in Racket

  • Fossil

    (Vala) - GTK3 Gemini browser written in Vala for desktop and mobile

  • Galacteek

    (Python) - Browser for the distributed web, with support for Gemini and IPFS

  • Gemalaya

    (Python/QML) - Keyboard-driven Gemini browser with builtin web-to-gemini proxy

  • Gerbil

    (Python) - Gemini and Spartan browser written in python with GTK and LibHandy for desktop and mobile

  • Lagrange

    (C) - desktop GUI client with inline image viewing, multiple tabs, bookmarks and more

  • Molasses

    (Racket) - full-featured graphical Gopher and Gemini client with tabs

  • Moonlander

    (Rust) - the fanciest Gemini client in the entire solar system

  • Profectus

    (Go) - Gemini, Nex, Spartan, and Scroll client with tabs, music player, streaming, and expansive theming

  • Kristall

    (C++) - graphical Gopher and Gemini client using QT

  • spacewar

    (Electron.js) - EXPERIMENTAL and UNSTABLE Gemini browser running on Electron

  • Geopard

    (Rust) - A colorful, adaptive gemini browser

  • Yoda

    (PHP-GTK) - Experimental browser for Gemini Protocol based on and

  • Buran

    (Kotlin/Java) - Gemini browser for Android, fork of Ariane

  • Deedum

    (Dart) - an Android and iOS client made with Flutter

  • Elaho

    (Swift) - full featured Gemini protocol browser for iOS

  • Gem

    (Python) - Gemini client for Ubuntu Touch

  • Xenia

    (Java) - Gemini proxy for Android

  • Phaedra

    (Java) - Gemini client for Android supporting even very old ones; author recommends using Ariana if a current Android is at hand

  • Rosy Crow

    (C#) - An Android client built using .NET MAUI

  • GemiNaut

    (C#) - user friendly graphical Gemini client for MS Windows

  • Jimmy

    (SwiftUI) - a lightweight native Gemini client for MacOS

Programming

  • Agunua

    (Python) - Gemini library to write clients. Includes IRI support, gemtext parsing and CLI tool

  • derhuerst/gemini

    (Node.js) - server & client lib

  • a-h/gemini

    (Go) - Applications and libraries for building applications on Gemini

  • cuipod

    (C#) - Simple yet flexible framework for Gemini protocol server

  • gemclient

    (Nim) - rich client library for the Gemini Protocol

  • gemini

    (Go) - Server side Gemini protocol + Titan protocol implementation that matches standard GO http API

  • gig

    (Go) - Gemini framework

  • gmir

    (Go) - A reader for gmi files

  • go-gemini

    (Go) - library that provides an easy interface to create client and servers

  • go-gemini

    (Go) - more recent fork of the library above

  • gusmobile

    (Python) - gemini client for Pyhton (used by geminispace.info)

  • html2gemini

    (Go) - package library to convert HTML to Gemini (see also html2gmi for command line application)

  • ignition

    (Python) - Gemini client transport/request library for python3

  • qgeminiserver

    (Deno/TypeScript) - framework for server applications. fork and bug-fix

  • kaksik

    (Deno/TypeScript) - middleware library for building server applications

  • ruby-net-text

    (Ruby) - Gemini support in Net::* and URI::* stack

  • SmolNetSharp

    (C#) - cross platform .NET (core/framework) client library for building Gemini and Gopher clients

  • warmuuh/jemini

    (Java) - reactive gemini-client, part of jemini-project

  • geminic

    (Erlang) - An Erlang library for building Gemini protocol clients

  • dremini

    (C++) - Highly concurrent C++ Gemini server and client library

  • Opal

    (C#) - Gemini client library targeting .NET Standard 2.0. Built-in support for TOFU and client certificates

  • gemax

    (Go) - a golang gemini stack, inspired by go STD http library

  • phos

    (Common Lisp) - Gemini client library and experimental GUI

  • GemPub Specification

    Gempub, the Gemini e-book (and capsule archive) container specification

  • Gemini TinyLog Specification

    A Tinylog is a simple file with all "microblog" style entries to share small contents and interact with other geminauts' tinylog

  • Adding Emoji Favicons to Gemini

    Optional extension by Michael Lazar to the Gemini Protocol, with the goal to set a Unicode emoji as favicon for a site

Resources

Servers

  • Agate

    (Rust) - simple Gemini server for static files

  • aiogemini

    (Python) - minimalist Python 3 server

  • Apogee

    (Kotlin) - Gemini server written in Kotlin for the JVM

  • atlas

    (C#) - .NET7 Gemini/Titan/Spartan server w/ vhost and cgi support

  • a-h/gemini

    (Go) - Server for Linux, Mac, Raspberry Pi. Supports SNI for multiple domains on the same server, has Docker image

  • blizanci

    (Erlang) - server designed primarily for robustness and security

  • Bunkum

    (C#) - Open source .NET Gemini/Titan/Gopher/HTTP(S) request server

  • Denoscuri

    (Typescript) - simple Gemini server written using Deno and Typescript

  • Dʒɛmɪni

    (Racket) - server with features like SNI and CGI

  • Diamant

    (Ruby) - simple Gemini server for static files

  • doc-server

    (Deno/Typescript) - A Gemini server for serving JSDoc documentation. Built on the Kaksik library

  • Doppio

    (Java) - single-JAR Gemini server with CGI, authentication, and Atom feed support

  • Duckling proxy 🦆

    (Go) - scheme-specific filtering proxy for Gemini clients to access the web

  • Earl Server

    (Kotlin) - Gemini fileserver for the JVM

  • Enceladus

    (F#) - A simple Gemini protocol server implementation in .NET Core and F#

  • Ergol

    (PHP) - light Gemini server able to host several capsules with different cerificates

  • GeGoBi

    (Python) - server to facilitate easy Gemini-Gopher bi-hosting

  • Gemeaux

    (Python) - server using only the Python standard library

  • gemini-ipfs-gateway

    (Go) - an IPFS Gateway that makes IPFS content available over the Gemini protocol

  • gemini-server

    (Haskell) - lightweight server for the Gemini protocol

  • geminid

    (C) - Gemini Server in C

  • geminid

    (Scheme) - Gemini Server in CHICKEN Scheme

  • gemini-php

    (PHP) - simple Gemini server in PHP

  • Gneto

    (Go) - Gemini over HTTP proxy, with support for client certificates and CSS customization

  • JAGS-php

    (PHP) - fork of gemini-php with support of dynamic pages

  • jsonresume-gemini

    (PHP) - single purpose server implementation of the Gemini protocol to serve up your JSON Resume

  • geminim

    (Nim) - an async lightweight Gemini server made in Nim

  • gmid

    (C) - simple and secure Gemini server

  • gmifs

    (Go) - Gemini file server with auto indexing support, caching and auto TLS key pair creation

  • gmnd

    (Python) - packaged Gemini server with support for CGI and indexing

  • gmnisrv

    (C) - high-performance Gemini server for POSIX systems

  • Gemserv

    (Rust) - server with features like vhosts, CGI, SCGI, reverse-proxying and more

  • Germinal

    (Common Lisp) - serves any type of document with an appropriate mime type

  • GLV-1.12556

    (Lua) - the first Gemini protocol server with a lot of features

  • Hydepark

    (Rust) - discussion forum application for Gemini

  • Jetforce

    (Python) - built-in static file server with support for gemini directories and CGI scripts

  • jemini

    (Java) - dual gemini/http server on top of jetty with spring-boot integration

  • laika

    (Rust) - async Gemini protocol server

  • levior

    (Python) - HTTP to Gemini gateway, allowing you to browse regular websites with any Gemini client

  • Loxy

    (C#) - Gemini to HTTP proxy, exposes any capsule to the web as stylable HTML (based on the Opal library)

  • Lupa Pona

    (Perl) - simple single directory Gemini server

  • Maple

    (C++) - A very simple static Gemini server, now with Titan support!

  • Marami

    (Prolog) - server written in Prolog

  • Molly Brown

    (Go) - full-featured Gemini server implemented in Go

  • MoonGem

    (C) - gemini server with inline Lua scripting for dynamic content generation

  • net-gemini

    (Go) - gemini server inspired by Molly Brown

  • Orbit

    (PHP) - Gemini server implemented in PHP

  • Phoebe

    (Perl) - Gemini/web wiki

  • pollux

    (Rust) - simple server that will only serve one file

  • rc-gemd

    (Shell) - simple Gemini server written in rc (for plan9 operating systems)

  • Satellite

    (Go) - small Gemini server for serving static files

  • Shavit

    (Go) - configurable Gemini server for UNIX operating systems

  • Smolver

    (Swift) - a small Gemini server

  • Space-Age

    (Clojure) - Gemini server written in Clojure

  • Taurus

    (Rust) - A Concurrent Gemini Server

  • Titan

    (Rust) - simple TOML-configured Gemini server and an Express-like Gemini server framework

  • twins

    (Go) - YAML-configured Gemini server supporting vhosts, FastCGI and reverse-proxying

  • twinstar

    (Rust) - gemini server implementation

  • vger

    (C) - Gemini server written in C used with inetd

  • Windmark

    (Rust) - An elegant and highly performant async Gemini server framework

  • SpaceBeans

    (Scala) - supports virtual hosting, user directories, classic CGI

  • StaticGeminiServer

    ( ) (Ruby) - a simple more or less stable gemini server for static files

  • kepler

    simple gemini server in rust

  • Mehari

    Featureful server in OCaml

  • β-Doku

    (PHP) - DokuWiki Satellite for Gemini Protocol

  • KevaChat

    (PHP) - client/server Chat in Blockchain

  • gemini-server-clj

    (Clojure) - simple gemini server for serving static files

  • vostok

    ( ) (C++11) - gemini server

  • gem

    (C) - static file server with many features

Services

  • https version

    ( ) - host small Gemini web pages over https and Gemini ( )

  • repo

    public search provider for Gemini ( )

  • repo

    Tic Tac Toe game ( )

  • repo

    translate from en->es and es->en ( )

  • gemlog.blue

    Gemini hosting from a web frontend

  • http version

    ( ) Another public search provider for Gemini( )

  • repo

    Yggdrasil DokuWiki Satellite ( )

  • repo

    KevaChat clearnet node for Gemini ( )

  • repo

    Observe Kevacoin Universe ( )

Tools

  • astroget

    (C) - Command line tool to download and upload files from Gemini, Gopher, Scorpion, and Spartan servers

  • CAPCOM

    (Python) - Atom feed aggregator for gemini

  • certified

    (Python) - Generate TOFU TLS certificates for gemini servers

  • cl-yag

    (Common-Lisp) - Static site generator producing gemini, gopher and html

  • comitium

    (C) - A feed aggregator for gemini supporting many formats and protocols

  • gemfreely

    (Rust) - Synchronize gemlogs to the Fediverse via WriteFreely

  • gemget

    (Go) - Command line downloader for the Gemini protocol

  • gemini-antenna

    (Python) - A feed-aggregator for Gemini, triggered by submissions

  • geminize

    Firefox addon that redirects gemini:// URLs and links to a customizable HTTP-to-Gemini proxy

  • gemlog.sh

    (Bash) - Utility for writing and managing gemini logs (gemlogs) and atom feeds (simple gemini static site generator/framework)

  • gem.git

    (Python) - git frontend CGI script

  • gemmit

    (Go) - social news aggregation and web content rating website for the gemini protocol

  • gempost

    (Rust) - Simple static site generator for Gemini blogs

  • GemPress

    (C) - Yet another Gemini publishing framework with HTML and Atom support, written in Bash and Sugar-C

  • gemtexter

    (Bash) - Site generator and blog engine for Gemini. Generates Atom and Gemfeeds , and also does Gemtext to HTML and Markdown conversion

  • gloggery

    (Go) - basic static site generator for blogs in Gemini

  • gmitohtml

    (Go) - proxy that renders Gemini pages using HTML

  • gmnigit

    (Go) - static git gemini viewer

  • gssg

    (Go) - simple gemini static site generator. Generates pages, index and atom feeds

  • kiln

    (Go) - simple static site generator for Gemini sites

  • Lupa

    crawler to explore the geminispace and make statistics (you can see them at __gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi )

  • Manisha

    Nagios (and compatible, such as Icinga) plugin to monitor Gemini servers

  • spacewalk

    (Go) - Page-hash based feed aggregator for gemini

  • MastoGem

    (Go) - Mastodon proxy for Gemini

  • Hugo-2-Gopher-and-Gemini

    (Python) - A Hugo theme to convert a Hugo site to Gemini or Gopher

  • Gopher-and-Gemini-Walker

    (Python) - Terminal client (without network connectivity) to navigate a folder structure containing a Gemini capsule or Gopher hole

  • Gemini Diagnostics

    A torture test for gemini servers

  • Pulsar

    (PHP) - RSS Aggregator for Gemini Protocol

Tools / Gemtext converters

  • dioscuri

    (JS) - A Gemtext parser with interfaces to transform to and from mdast (markdown ast) and to compile to HTML

  • gemgen

    (Go) - A Markdown to Gemtext generator

  • gemini-pandoc-lua-filter

    (Lua) - lua filter for pandoc to output Gemini text

  • gemini-to-html

    (Node.js) - JavaScript library for parsing Gemini pages, and for rendering them to HTML

  • gemtext2latex

    (Python) - tool for converting Gemtext to reasonable LaTeX and thence PDF

  • gemtext2md

    (Rust) - tool for converting Gemtext to Markdown

  • gemtexter

    (Bash) - Site generator and blog engine for Gemini. Generates Atom and Gemfeeds , and also does Gemtext to HTML and Markdown conversion

  • gmi2html

    (Zig) - tiny gemtext to HTML converter with a focus on performance

  • gmi2html

    (Sed) - sed script to convert text/gemini to html

  • gmi-web

    (JS) - generate HTML styled for readability and mobile-friendliness

  • gmnhg

    (Go) - renders a Hugo site to a Gemini site

  • Html2GeminiPy

    (Python) - Converts Html sites to Gemini sites using markdownify and md2gemini

  • html2gmi

    (Go) - command line utility to convert HTML to gemtext

  • md2gmn

    (Go) - renders Markdown text to Gemini pages

  • md2gemini

    (Python) - converter from Markdown to the Gemini text format

  • Hugo-2-Gopher-and-Gemini

    (Python) - A Hugo theme to convert a Hugo site to Gemini or Gopher

  • gemini-php

    (PHP) - Composer library for Gemini - includes DokuWiki converter, file-system operations and other API

  • gemitwee

    (PHP) - Converts Twine's Twee2 markup to a set of Gemini files for simple choose-your-own-adventure games

Tools / Syntax Highlighting

Web proxies

Bots

  • Fortune Teller Bot

    Generates a fortune gmi file, gemlog/index.gmi, and atom.xml every time the bot is executed

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.