16 puntos por GN⁺ 2024-12-19 | 4 comentarios | Compartir por WhatsApp
  • Ergo es un servidor IRC moderno escrito en Go; anteriormente se llamaba Oragono
  • Principales principios de diseño: facilidad de configuración y uso, integración del framework de ircd y servicios, integración de funciones de bouncer, soporte para IRCv3 y alta capacidad de personalización mediante archivos de configuración YAML
  • Ergo es un fork del daemon Ergonomadic IRC

Funciones

  • Servicios integrados: ofrece NickServ para cuentas de usuario, ChanServ para registro de canales y HostServ para hosts vanity.
  • Funciones de bouncer: almacenamiento y reproducción del historial, y varios clientes pueden usar el mismo apodo.
  • Soporte para TLS/SSL, incluido soporte para certificados de cliente.
  • Soporte para IRCv3.
  • Uso de archivos de configuración YAML.
  • Posibilidad de actualizar en tiempo real la configuración del servidor y los certificados TLS.
  • Soporte para autenticación SASL y LDAP.
  • Soporte para varios idiomas y posibilidad de configurar el idioma predeterminado de la red.
  • Opción de soporte para apodos y nombres de canal en UTF-8.
  • Ofrece funciones avanzadas de seguridad y privacidad.
  • Sistema de permisos extensible para operadores de IRC.
  • Consultas ident para nombres de usuario.
  • Limitación automatizada de conexiones de clientes.
  • Contraseñas almacenadas con bcrypt.
  • Función de bloqueo unificada mediante el sistema UBAN.
  • Enfoque en un desarrollo conforme a las especificaciones.

Guía de inicio rápido

  • Se puede descargar la versión más reciente, descomprimirla, modificar el archivo de configuración y ejecutar el servidor.
  • Se mantienen paquetes de Ergo en Arch Linux AUR y Gentoo Linux.
  • Se incluyen un Dockerfile y recetas de ejemplo para docker-compose.
  • Compilar desde el código fuente
    • Se requiere la distribución más reciente de Go; después de hacer checkout de la rama o etiqueta deseada, se puede compilar con el comando make.

Configuración

  • El archivo de configuración predeterminado default.yaml explica el significado de cada opción y los cambios.
  • Los logs se envían por defecto solo a stderr, pero también pueden enviarse a un archivo o al journal del sistema usando systemd.

Contraseñas

  • Las contraseñas se almacenan con bcrypt, y se puede generar una cadena cifrada usando el subcomando genpasswd.

Registro de apodos y canales

  • Mediante cuentas de usuario, varios clientes pueden usar el mismo apodo, y el apodo puede registrarse a una cuenta a través de NickServ.
  • Después de registrar el apodo, se puede registrar un canal.

4 comentarios

 
xguru 2024-12-19

A veces, según el uso, Slack o Discord, que requieren cuentas y demás, pueden resultar una carga, pero como también tiene buen soporte para cliente web, me gustaría probar implementarlo.

 
ifmkl 2024-12-20

Oh, en serio parece muy divertido... en la empresa va a surgir otro canal más para perder el tiempo laborando...

 
bbulbum 2024-12-19

Oh... sería divertido si hubiera un canal de IRC de GeekNews.

 
GN⁺ 2024-12-19
Opiniones de Hacker News
  • He usado Ergo durante el último año para chatear con amigos y familia. Es fácil de alojar, requiere pocos recursos y ofrece un protocolo y una base de código fáciles de entender y depurar

    • El soporte para historial de chat v3 y la función multicliente siempre activa brindan una experiencia de chat moderna
    • El soporte integrado para WebSocket permite ofrecer un cliente web
  • IRC suele verse con romanticismo, pero al lidiar con la especificación del protocolo, el formato de mensajes no estructurado causa problemas

    • Cada implementación introduce sus propias características y variaciones, creando muchísimos casos límite y código de parseo complejo
    • Creo que hace falta un protocolo de chat moderno y simple
  • Está bueno ver que hay opciones variadas además de Slack y Discord

    • Elegí Matrix para la familia y el trabajo, y no conocía la función de "siempre activo" de IRC
  • Me pregunto si Ergo puede conectarse con otros servidores IRC. Me gustaría probarlo con un ngircd existente

  • Es un buen momento para llevar la operación del chat a on-premise. Los comandos y los registros de chat son útiles

  • Ojalá reemplace software como Slack

  • Hace un año usé un servidor llamado Oragono para mis amigos, y lo recomiendo

  • Me pregunto si se pueden enviar webhooks a un canal específico

  • A menudo se menciona la falta de historial/backlog en IRC, pero creo que el backlog es una anti-función para una comunidad

    • Sin backlog del lado del servidor, el chat es efímero y lo importante tiene que guardarse en otro lugar para preservarse