gping - Utilidad ping para servidores Gemini
Una utilidad similar a `ping` para probar la conectividad con servidores que usan el protocolo Gemini (gemini://).
Características
- Prueba la conectividad con servidores Gemini sobre TLS (puerto 1965)
- Mide tiempos de respuesta incluyendo el handshake TLS
- Muestra códigos de estado del protocolo Gemini
- Soporte multilingüe (inglés, español, alemán, francés, italiano, ruso)
- Detecta automáticamente el idioma del sistema
- Número de pings, intervalo y timeout configurables
- Manpage incluida
Instalación
Desde código fuente:
# Clonar o descargar el código fuente make sudo make install # Instala binario y manpage
Solo el binario:
sudo make install-bin
Instalación manual:
# Instalar binario sudo cp gping /usr/local/bin/ # Instalar manpage (opcional) sudo cp gping.1.gz /usr/share/man/man1/ sudo mandb # Actualizar base de datos de manpages
Uso
Sintaxis básica:
gping [OPCIONES] <Gemini-URI>
Ejemplos:
# Ping básico a un servidor Gemini gping gemini://gemini.circumlunar.space/ # Forma abreviada (gemini:// se añade automáticamente) gping gemini.circumlunar.space # 3 pings con intervalo de 2 segundos gping -c 3 -i 2 ejemplo.com # Forzar idioma español gping --lang es gemini://ejemplo.com # Mostrar ayuda gping -h
Opciones:
* -c COUNT - Número de pings a enviar (predeterminado: 5)* -i INTERVAL - Intervalo entre pings en segundos (predeterminado: 1)
* -t TIMEOUT - Tiempo de espera en segundos (predeterminado: 5)
* -h` - Mostrar ayuda
* --lang IDIOMA - Forzar idioma (en, es, de, fr, it, ru)
Salida de ejemplo
$ gping -c 3 gemini://gemini.circumlunar.space/ GPING gemini://gemini.circumlunar.space/ (gemini.circumlunar.space:1965) - Enviando 3 pings Respuesta 1 desde gemini.circumlunar.space: estado=20 (ÉXITO) tiempo=345ms Respuesta 2 desde gemini.circumlunar.space: estado=20 (ÉXITO) tiempo=320ms Respuesta 3 desde gemini.circumlunar.space: estado=20 (ÉXITO) tiempo=355ms --- Estadísticas gping para gemini.circumlunar.space --- 3 paquetes transmitidos, 3 recibidos, 0.0% pérdida tiempo mínimo/prom/máximo = 320/340.0/355 ms
Idiomas soportados
El programa soporta 6 idiomas:
* 1. Inglés (en) - Predeterminado
* 2. Español (es)
* 3. Alemán (de)
* 4. Francés (fr)
* 5. Italiano (it)
* 6. Ruso (ru)
Detección automática:
El idioma se detecta automáticamente de las variables de entorno:* LANGUAGE (estándar GNU)
* LC_ALL
* LC_MESSAGES
* LANG
Forzar idioma:
gping --lang es gemini://ejemplo.com export LANG=es_ES.UTF-8 && gping ejemplo.com
Códigos de estado Gemini
El programa muestra y traduce los códigos de estado del protocolo Gemini:
* 10 - ENTRADA REQUERIDA
* 11 - ENTRADA SENSIBLE
* 20 - ÉXITO
* 30 - REDIRECCIÓN TEMPORAL
* 31 - REDIRECCIÓN PERMANENTE
* 40 - FALLO TEMPORAL
* 41 - SERVIDOR NO DISPONIBLE
* 50 - FALLO PERMANENTE
* 51 - NO ENCONTRADO
Y otros códigos específicos del protocolo
Documentación
Manpage:
# Ver documentación completa man gping # Ver sin instalar man -l gping.1
Sitio web del proyecto:
https://codeberg.org/_-Caleb-_/gping/Dependencias
- Bibliotecas de desarrollo de OpenSSL
- Biblioteca estándar de C
Instalar dependencias:
Debian/Ubuntu:
sudo apt-get install libssl-dev
Fedora/RHEL:
sudo dnf install openssl-devel
Arch Linux:
sudo pacman -S opensslSolus Linux:
sudo eopkg install openssl-devel
Compilación desde código fuente
# Instalar dependencias sudo apt-get install libssl-dev # En Debian/Ubuntu # Compilar make # Probar ./gping -c 2 gemini://gemini.circumlunar.space/
Desinstalación
# Si se instaló con make install sudo make uninstall # Manualmente sudo rm -f /usr/local/bin/gping /usr/share/man/man1/gping.1.gz sudo mandb
Limitaciones
- Cada ping establece una nueva conexión TLS completa (más lento que ICMP ping)
- Algunos servidores pueden limitar conexiones frecuentes
- El tiempo medido incluye el handshake TLS completo
Licencia
Este proyecto está liberado bajo la licencia The Unlicense (dominio público).
Este es software libre y sin restricciones liberado al dominio público. Cualquiera es libre de copiar, modificar, publicar, usar, compilar, vender o distribuir este software, ya sea en forma de código fuente o como binario compilado, para cualquier propósito, comercial o no comercial, y por cualquier medio. En jurisdicciones que reconocen las leyes de derechos de autor, el autor o autores de este software dedican cualquier y todo interés de derechos de autor en el software al dominio público. Hacemos esta dedicación en beneficio del público en general y en detrimento de nuestros herederos y sucesores. Pretendemos que esta dedicación sea un acto manifiesto de renuncia en perpetuidad de todos los derechos presentes y futuros sobre este software bajo la ley de derechos de autor. EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES SERÁN RESPONSABLES POR NINGUNA RECLAMACIÓN, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRO MODO, QUE SURJA DE, FUERA O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS ACUERDOS EN EL SOFTWARE. Para más información, por favor refiérase a <https://unlicense.org/>
Consulte el archivo `UNLICENSE` para el texto completo.
Autor
Tanausú Gómez (_-Caleb-_) - 2026
- Código fuente: https://codeberg.org/_-Caleb-_/gping/
- Contacto: A través de Codeberg o correo electrónico
Contribuir
Las contribuciones son bienvenidas. Por favor:
1. Haz fork del repositorio
2. Crea una rama para tu característica
3. Haz commit de tus cambios
4. Abre un Pull Request
Reportar problemas
Por favor, reporta cualquier problema o sugerencia en:
https://codeberg.org/_-Caleb-_/gping/issues
Repositorio en Codeberg
> Simple, rápido, útil - como el protocolo Gemini.