User Tools

Site Tools

tools:gemini

This is an old revision of the document!


Gemini

Gemini is an internet protocol used for serving something similar to web pages. It was developed by people nostalgic for a Gopher-style internet. Like Gopher, it has a concise markup language providing just barely enough functionality to tell the server where on the page to put links & plain text. All styling is decided by the visitor's Gemini browser, just like with IRC. As a result, Gemini sites are extremely fast to load, as they consume a fraction of the bandwidth it takes to transmit an HTML page.

Unlike Gopher, it is TLS-native, meaning Gemini connections are encrypted & private. Gemini servers can also recognize unique visitor certificates & serve personalized custom responses, which is the Gemini equivalent of having user accounts. Gemini markup language is also cleaner & easier to read than Gopher's. It is slightly more advanced too, allowing the webmaster to use Markdown-style headings & code blocks to visually distinguish them from the rest of the page. These seemingly-minor extra features make Gemini a viable low-bandwidth & security-conscious alternative to normal websites.

The Gemini ecosystem (also known as Geminispace) is relatively resistant to many common methods of browser fingerprinting, as well as ad beacons & advertising in general (Though a server can still geolocate your IP if you are not on a VPN). This has made the Geminispace a popular niche destination for those looking for a simpler, more intentional, and less distracting internet.

Browsing Geminispace

There are several ways to browse Gemini sites on your computer:

Visually

The slickest and easiest solution is to install Lagrange. It's fast, the interface is clean, and it's available for iOS, Flatpak, and a multitude of other platforms. Even better, it also supports the Gopher & Finger protocols. This is useful because a lot of Gemini server operators also run Gopher & Finger servers. Having all three in one visually-pleasing browser is a great way to take in the ecosystem.

Kristall is another popular Gemini browser with Gopher & Finger support.

Command Line

This section needs expansion.

Browser Extensions

You can install browser extensions to haphazardly duct-tape Gemini support into your browser. If you don't want to install anything, you can use Circumlunar's Gemini Proxy. But I wouldn't recommend either of these options outside emergency use. The whole point of using Gemini is so that you can read plaintext articles without the mammoth memory footprint of modern web browsers. Dedicated Gemini apps are so much faster & smoother. Just install Lagrange and you'll see why people appreciate Gemini.

Hosting Gemini Sites

Popular Gemini server daemons include Molly Brown, gmid, natto, Jetforce and Agate. I personally prefer Molly Brown since it's lean, easy to set up, and supports CGI scripting. The Grackle server management package actually has a Molly Brown installer built into it, for running a Gemini server alongside normal web sites. Meanwhile Raven has built-in support for managing Gemini docroots served by Molly Brown & similar daemons.

Dynamic Gemini Sites

It is true that you can only transmit a limited amount of datatypes between server & visitor over the Gemini protocol. However, you can do virtually unlimited server-side processing as long as the output follows the protocol's transmission format.

Most Gemini servers have support for running CGI scripts, like the internet of old used to have to do with PHP scripts. Modern PHP installs use heavily abstracted versions of this now, which are tailored specifically for HTTP, so they don't work with Gemini servers too well. However, modern PHP installs also come with php-cli, a command-line version of PHP which spits out plaintext data in a form especially suited for Gemini. You just make a CGI wrapper for your PHP script, and pass Gemini requests to php-cli like this:

loader.cgi
#!/bin/sh
exec /usr/bin/php /path/to/script.php

You are not even limited to PHP, as CGI is basically just shell scripting and capable of executing everything your terminal can. As long as the returned data can be parsed by a Gemini server, you can actually have complex database-driven websites (within reason) in the Geminispace. Some Gemini server daemons even support the use of FastCGI for saving CPU cycles & speeding up response times.

More Reading

  • Project Gemini - Official HTTP mirror of the Gemini protocol & specification.
  • Gemini - Gemini resources on ArchWiki.
tools/gemini.1774981178.txt.gz ยท Last modified: (external edit)

Find this page online at: https://bestpoint.institute/tools/gemini
CC Attribution-Noncommercial-Share Alike 4.0 International The Anonymous Fruit Company The East Internet Trading Company Erischan Novelty Lanterns

Copyright 2026 Best Point Holdings Limited