- 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
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.
Oh, en serio parece muy divertido... en la empresa va a surgir otro canal más para perder el tiempo laborando...
Oh... sería divertido si hubiera un canal de IRC de GeekNews.
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
IRC suele verse con romanticismo, pero al lidiar con la especificación del protocolo, el formato de mensajes no estructurado causa problemas
Está bueno ver que hay opciones variadas además de Slack y Discord
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