Go implementation of the Gemini protocol
b0f27c6f — Adnan Maolood 1 year, 29 days ago
fs: Prevent invalid directory links
Fix parsing of list item lines
35341668 — Adnan Maolood 1 year, 3 months ago
doc: Fix Mux documentation



You can also use your local clone with git send-email.


godocs.io builds.sr.ht status

Package gemini implements the Gemini protocol in Go. It provides an API similar to that of net/http to facilitate the development of Gemini clients and servers.

Compatible with version v0.16.0 of the Gemini specification.


import "git.sr.ht/~adnano/go-gemini"

Note that some filesystem-related functionality is only available on Go 1.16 or later as it relies on the io/fs package.


There are a few examples provided in the examples directory. To run an example:

go run examples/server.go


Send patches and questions to ~adnano/go-gemini-devel.

Subscribe to release announcements on ~adnano/go-gemini-announce.


go-gemini is licensed under the terms of the MIT license (see LICENSE). Portions of this library were adapted from Go and are governed by a BSD-style license (see LICENSE-GO). Those files are marked accordingly.