Gemini (protocolo)
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 | ||||
| ||||
Gemtext | ||
---|---|---|
gemini.circumlunar.space | ||
Información general | ||
Extensión de archivo |
.gmi | |
Tipo de MIME |
| |
Type code |
TEXT | |
Tipo de formato | Markup language | |
Formato abierto | ||
Diseño
editarLa 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
editarClientes de Gemini
editarDebido 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]
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
editarservidor | 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
editarReferencias
editar- ↑ «Visiting another world [LWN.net]». lwn.net. Consultado el 23 de septiembre de 2021.
- ↑ «Project Gemini FAQ». gemini.circumlunar.space. Consultado el 23 de septiembre de 2021.
- ↑ 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.
- ↑ a b «~int80h/gemserv - a gemini server written in rust - sourcehut git». git.sr.ht. Consultado el 10 de septiembre de 2024.