Gemini server
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aaron Fischer bd0555069e Strip path from root
If there is a path (the URL path) specified under paths in the
configuration, which points to a root (a physical folder on the
filesystem), this path should not be attached to the root. This fix will
do that. It strips the path from the root.

Example configuration:

        path: /a
        root: public/aroot
        path: /
        root: public

+ public
  + index.gmi
  + aroot
    + index.gmi
2 years ago
.gitignore Initial commit 3 years ago
.gitlab-ci.yml Initial commit 3 years ago Migrate to 2 years ago
LICENSE Initial commit 3 years ago Fix cache attribute parsing 3 years ago Migrate to 2 years ago
config.go Require trailing slash when specifying directory path 3 years ago
go.mod Migrate to 2 years ago
go.sum Migrate to 2 years ago
main.go Print access log by default 3 years ago
serve_command.go Support logging requests 3 years ago
serve_fcgi.go Update dependencies 2 years ago
serve_file.go Support directory listing via HTTPS 3 years ago
serve_https.go Strip path from root 2 years ago
serve_proxy.go Support logging requests 3 years ago
server.go Set minimum TLS version to 1.2 2 years ago
util.go Support directory listing 3 years ago



Gemini server

Warning: The twins configuration format is still under development. Breaking changes may be made.

This page is also available at gemini://


  • Serve static files
    • Detect content type
    • Specify content type for files with matching extension
    • List files and directories (when enabled)
  • Reverse proxy requests
  • Serve Gemini content via HTTPS
    • Pages are converted automatically by gmitohtml
  • Reload configuration on SIGHUP


twins includes features that are not yet part of the Gemini specification. See


twins is written in Go. Run the following command to download and build twins from source.

go get

The resulting binary is available as ~/go/bin/twins.




Please share issues and suggestions here.