💾 Archived View for tilde.team › ~bqb › awesome-gemini.gmi captured on 2021-11-30 at 20:18:30. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
A collection of awesome things regarding the
ecosystem.
Please contribute to this list to link to all the awesome gemini projects out there.
Repo mirrors:
https://tildegit.org/bqb/awesome-gemini
https://git.sr.ht/~kr1sp1n/awesome-gemini
https://github.com/kr1sp1n/awesome-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.
(Go) - "fancy" terminal client.
(Rust) - an NCurses-based Gemini client.
(Python) - Gemini client derived from the popular VF-1 Gopher client.
(Bash) - bash Gemini client.
(Go) - combined Gopher, Gemini, Finger, and File client with vim-inspired key mappings.
(C) - colorful gemini line-mode client, fork of gmni.
(Haskell) - simple line-based command-response terminal user interface with ANSI colour.
(Emacs) - combined Gopher and Gemini client for the popular text editor / operating system.
(Awk) - minimal but usable interactive Gemini client in < 250 LOC of Awk.
(Go) - gemini client using
.
(Python) - minimal but usable interactive Gemini client in < 100 LOC of Python 3.
(Lua) - minimal but usable interactive Gemini client in < 100 LOC of Lua.
(Go) - minimal but usable interactive Gemini client in not quite < 100 LOC of Go.
(Node.js) - cURL-like CLI for loading content from Gemini URLs.
(C) - CLI utility (like curl) and line-mode browser.
(Rust) - TUI for browsing Gemini space
(Go) - supports advanced features like input and client certificate generation.
(Rust) - gopher and gemini client for the modern internet.
(Common Lisp) - opinionated Mastodon and Gemini client
- (Electron.js) - peer to peer web browser with support for loading Gemini pages.
(QML) - QML-based Gemini client.
(Rust) - graphical Gemini client using GTK.
(Racket) - graphical Gemini browser written in Racket.
(Vala) - GTK3 Gemini browser written in Vala for desktop and mobile.
(C) - desktop GUI client with inline image viewing, multiple tabs, bookmarks and more.
(Rust) - the fanciest Gemini client in the entire solar system.
(C++) - graphical Gopher and Gemini client using QT.
(Electron.js) - Gemini browser running on Electron.
(Kotlin/Java) - Gemini protocol client for Android based OS.
(Dart) - an Android and iOS client made with Flutter.
(Swift) - full featured Gemini protocol browser for iOS.
(Python) - Gemini client for Ubuntu Touch.
(Java) - Gemini proxy for Android.
(Java) - Gemini client for Android supporting even very old ones; author recommends using Ariana if a current Android is at hand.
(C#) - user friendly graphical Gemini client for MS Windows.
(Nim) - rich client library for the Gemini Protocol.
(Node.js) - server & client lib.
(Go) - Applications and libraries for building applications on Gemini.
(C#) - Simple yet flexible framework for Gemini protocol server.
(Go) - library that provides an easy interface to create client and servers.
(Go) - more recent fork of the library above.
(Go) - Gemini framework.
(Python) - Gemini client transport/request library for python3.
(Python) - Gemini library to write clients. Includes IRI support, gemtext parsing and CLI tool.
(Deno/TypeScript) - middleware library for building server applications.
(Ruby) - Gemini support in Net::* and URI::* stack.
(Java) - reactive gemini-client, part of jemini-project
- the Gemini protocol specification.
gemini.circumlunar.space/software
- list of Gemini software.
- wiki space dedicated to Gemini communities and software.
(Rust) - simple Gemini server for static files.
(Kotlin) - Gemini server written in Kotlin for the JVM.
(Go) - Server for Linux, Mac, Raspberry Pi. Supports SNI for multiple domains on the same server, has Docker image.
(Erlang) - server designed primarily for robustness and security.
(Typescript) - simple Gemini server written using Deno and Typescript.
(Racket) - server with features like SNI and CGI.
(Ruby) - simple Gemini server for static files.
(Java) - single-JAR Gemini server with CGI, authentication, and Atom feed support.
(Go) - scheme-specific filtering proxy for Gemini clients to access the web.
(Kotlin) - Gemini fileserver for the JVM.
(PHP) - light Gemini server able to host several capsules with different cerificates.
(Python) - server to facilitate easy Gemini-Gopher bi-hosting.
(Python) - server using only the Python standard library.
(Go) - an IPFS Gateway that makes IPFS content available over the Gemini protocol.
(Haskell) - lightweight server for the Gemini protocol.
(C) - Gemini Server in C.
(Scheme) - Gemini Server in CHICKEN Scheme.
(PHP) - simple Gemini server in PHP.
(PHP) - fork of gemini-php with support of dynamic pages.
(Nim) - an async lightweight Gemini server made in Nim.
(C) - simple and secure Gemini server.
(C) - high-performance Gemini server for POSIX systems.
(Rust) - server with features like vhosts, CGI, SCGI, reverse-proxying and more.
(Common Lisp) - serves any type of document with an appropriate mime type.
(Lua) - the first Gemini protocol server with a lot of features.
(Rust) - discussion forum application for Gemini.
(Python) - built-in static file server with support for gemini directories and CGI scripts.
(Java) - dual gemini/http server on top of jetty with spring-boot integration
(Perl) - simple single directory Gemini server.
(Prolog) - server written in Prolog.
(Go) - full-featured Gemini server implemented in Go.
(Go) - gemini server inspired by Molly Brown.
(Rust) - gemini server implementation.
(PHP) - Gemini server implemented in PHP.
(Perl) - Gemini/web wiki.
(Rust) - simple server that will only serve one `index.gemini` file.
(Shell) - simple Gemini server written in rc (for plan9 operating systems).
(Go) - small Gemini server for serving static files.
(Go) - configurable Gemini server for UNIX operating systems.
(Clojure) - Gemini server written in Clojure.
(Rust) - A Concurrent Gemini Server.
(Rust) - simple TOML-configured Gemini server and an Express-like Gemini server framework.
(Go) - YAML-configured Gemini server supporting vhosts, FastCGI and reverse-proxying.
(C) - Gemini server written in C used with inetd.
) - host small Gemini web pages over https and Gemini (
).
).
).
).
).
- Gemini hosting from a web frontend.
(Python) - Atom feed aggregator for gemini.
(Python) - Generate TOFU TLS certificates for gemini servers.
(Common-Lisp) - Static site generator producing gemini, gopher and html.
(C) - A feed aggregator for gemini supporting many formats and protocols.
(Lua) - lua filter for pandoc to output Gemini text.
(Node.js) - JavaScript library for parsing Gemini pages, and for rendering them to HTML.
- Firefox addon that redirects gemini:// URLs and links to a customizable HTTP-to-Gemini proxy.
(Bash) - Utility for writing and managing gemini logs (gemlogs) and atom feeds (simple gemini static site generator/framework).
(Python) - git frontend CGI script.
(Go) - simple tool for viewing gemini files that are placed on a http server.
(Go) - social news aggregation and web content rating website for the gemini protocol.
(Bash) - Site generator and blog engine for Gemini. Generates Atom and Gemfeeds , and also does Gemtext to HTML and Markdown conversion.
(Go) - basic static site generator for blogs in Gemini.
(Go) - proxy that renders Gemini pages using HTML.
(Zig) - tiny gemtext to HTML converter with a focus on performance.
(Sed) - sed script to convert text/gemini to html.
(JS) - generate *semantic* HTML styled for readability and mobile-friendliness.
(Go) - renders a Hugo site to a Gemini site.
(Go) - simple gemini static site generator. Generates pages, index and atom feeds.
(Python) - Converts Html sites to Gemini sites using markdownify and md2gemini.
(Go) - simple static site generator for Gemini sites.
- crawler to explore the geminispace and make statistics (you can see them at __gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi ).
- Nagios (and compatible, such as Icinga) plugin to monitor Gemini servers.
(Go) - renders Markdown text to Gemini pages.
(Python) - converter from Markdown to the Gemini text format.
(Go) - Page-hash based feed aggregator for gemini.
(Go) - Mastodon proxy for Gemini.
(Python) - A Hugo theme to convert a Hugo site to Gemini or Gopher.
(Python) - Terminal client (without network connectivity) to navigate a folder structure containing a Gemini capsule or Gopher hole.
- text/gemini syntax highlighting for vim.
- text/gemini syntax highlighting for emacs.
- text/gemini syntax highlighting for kakoune.
- text/gemini syntax highlighting for nano.
- text/gemini syntax highlighting for bat (and maybe Sublime Text).
- text/gemini syntax highlighting for micro.
- Generates a fortune gmi file, gemlog/index.gmi, and atom.xml every time the bot is executed
--------------------------------------------------------------------------------