Gemini (protocolo)

protocolo de Internet

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]

Gemini
Puertos 1965/TCP
Ubicación en la pila de protocolos
Aplicación Transporte de archivos
Gemtext
gemini.circumlunar.space
Información general
Extensión de archivo .gmi
Tipo de MIME text/gemini (no oficial)
Type code TEXT
Tipo de formato Markup language
Formato abierto No 

Diseño

editar

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

editar

Clientes de Gemini

editar

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

editar
servidor lenguaje comentario
agate rust.[4]
gemserv rust.[4]
aiogemini python
Diamant ruby
GeGoBi python
gemini-server Haskell
geminid C
Jetforce Python
laika Rust
Marami Prolog
Satellite go
Loxy C#

Véase también

editar

Referencias

editar
  1. «Visiting another world [LWN.net]». lwn.net. Consultado el 23 de septiembre de 2021. 
  2. «Project Gemini FAQ». gemini.circumlunar.space. Consultado el 23 de septiembre de 2021. 
  3. comments, 06 Oct 2020 Seth KenlonFeed 58up 2. «Simplify your web experience with this internet protocol alternative». Opensource.com (en inglés). Consultado el 23 de septiembre de 2021. 
  4. a b «~int80h/gemserv - a gemini server written in rust - sourcehut git». git.sr.ht. Consultado el 10 de septiembre de 2024.