Gemini es un protocolo de comunicación en la capa de aplicación de Internet para acceder a documentos remotos, similar al Protocolo de Transferencia de Hipertexto y a Gopher. Está pensado como una tercera alternativa a esos protocolos. Viene con un formato de documento especial, comúnmente llamado «gemtext», que permite enlazar con otros documentos. Iniciado por alguien conocido como Solderpunk, el protocolo está siendo finalizado de forma colaborativa y actualmente no ha sido presentado al IETF para su estandarización.[1]
Diseño
La especificación Gemini define tanto el protocolo Gemini como un formato de archivo nativo para ese protocolo (análogo a HTML para HTTP o a texto plano para Gopher), conocido como «gemtext». El diseño se inspira en Gopher, con ciertas adiciones modernas como el uso obligatorio de la seguridad de la capa de transporte (TLS) para las conexiones y un formato de hipertexto como tipo de contenido nativo.
El diseño es deliberadamente poco extensible, para preservar uno de los objetivos declarados del proyecto: la simplicidad.
Software
Clientes de Gemini
Debido a la simplicidad del protocolo y del tipo de medio servido, se han implementado varios navegadores Gemini. La siguiente lista no exhaustiva de clientes pone de manifiesto su diversidad. Hay más listas disponibles en línea.
Los clientes de línea de comandos son bastante populares debido a que el marcado simple de Gemini es fácil de mostrar en un formato de sólo texto, mientras que puede ser bastante limitante con el contenido web.[2][3]
Captura de pantalla de Amfora, un cliente para Gemini
Nombre
Plataforma
Lenguaje de programación
Amfora
Terminal (TUI)
Go
AmiGemini
GUI (Intuition)
C, Intuition
Ariane
App (Android)
Kotlin
asuka
Terminal (TUI)
Rust, ncurses
AV-98
Terminal (CLI)
Python
Bollux
Terminal
Bash
Bombadillo
Terminal
Go
Buran
App (Android)
Kotlin
Castor
GUI (GTK)
Rust, GTK3
Castor9
GUI (Plan 9)
C
Deedum
App (Android and iOS)
Flutter, Dart
Elaho (gemini-ios)
App (iOS)
Swift
Elpher
GUI (Emacs)
Emacs
Fafi
GUI
Racket
GemiNaut
GUI (Windows)
C# for Microsoft Windows
Geopard
GUI (GTK)
Rust, GTK4
gmni
Terminal (CLI)
C
Kristall
GUI (Qt)
C++, Qt
Lagrange
GUI
C, SDL
Moonlander
GUI (GTK)
Rust, GTK3
Rocketeer
App (iOS, MacOS)
Swift
Como alternativa a los clientes nativos de Gemini, se pueden utilizar pasarelas Gemini-a-HTTP con los navegadores web más comunes que no soportan el protocolo Gemini. Algunos servidores proxy conocidos son el portal Mozz.us, Vulpes Proxy y ondollo.
Software de servidor Gemini
Existen varias implementaciones de servidores, cuyas listas se mantienen en línea.