- Ergo é um servidor IRC moderno escrito na linguagem Go, anteriormente conhecido como Oragono
- Princípios principais de design: facilidade de configuração e uso, integração entre
ircd e framework de serviços, recursos de bouncer integrados, suporte a IRCv3 e alta capacidade de personalização por meio de arquivo de configuração YAML
- Ergo é um fork do daemon Ergonomadic IRC
Recursos
- Serviços integrados: oferece NickServ para contas de usuário, ChanServ para registro de canais e HostServ para hosts personalizados.
- Recursos de bouncer: armazenamento e reprodução de histórico, permitindo que vários clientes usem o mesmo apelido.
- Suporte a TLS/SSL, incluindo suporte a certificados de cliente.
- Suporte a IRCv3.
- Uso de arquivo de configuração YAML.
- Atualização em tempo real das configurações do servidor e dos certificados TLS.
- Suporte a autenticação SASL e LDAP.
- Suporte a vários idiomas e possibilidade de definir o idioma padrão da rede.
- Opção de suporte a apelidos e nomes de canal em UTF-8.
- Recursos avançados de segurança e privacidade.
- Sistema de permissões expansível para operadores de IRC.
- Consulta
ident para nomes de usuário.
- Limitação automatizada de conexões de clientes.
- Senhas armazenadas com bcrypt.
- Recurso unificado de banimento por meio do sistema
UBAN.
- Foco em desenvolvimento em conformidade com as especificações.
Guia de início rápido
- É possível baixar a release mais recente, descompactá-la, editar o arquivo de configuração e executar o servidor.
- Pacotes do Ergo são mantidos no Arch Linux AUR e no Gentoo Linux.
- São fornecidos um Dockerfile e exemplos de receitas
docker-compose.
- Compilar a partir do código-fonte
- É necessária a distribuição mais recente da linguagem Go; depois de fazer checkout da branch ou tag desejada, é possível compilar com o comando
make.
Configuração
- O arquivo de configuração padrão
default.yaml explica o significado de cada opção e das alterações.
- Por padrão, os logs são enviados apenas para stderr, mas também podem ser enviados para arquivo ou para o systemd, usando o journal do sistema.
Senhas
- As senhas são armazenadas com bcrypt, e é possível gerar uma string criptografada usando o subcomando
genpasswd.
Registro de apelidos e canais
- Com contas de usuário, vários clientes podem usar o mesmo apelido, e é possível registrar o apelido em uma conta por meio do NickServ.
- Após registrar o apelido, é possível registrar canais.
4 comentários
Dependendo do uso, Slack/Discord, que exigem conta, podem ser um peso; como também há bom suporte a cliente web, dá vontade de experimentar adotar.
Nossa, parece que vai ser bem divertido.. surgiu mais um canal para enrolar no trabalho...
Oh... seria divertido se surgisse um canal de IRC do GeekNews.
Comentários do Hacker News
Tenho usado o Ergo no último ano para conversar com amigos e família. É fácil de hospedar, exige poucos recursos e oferece um protocolo e uma base de código fáceis de entender e depurar
O IRC costuma ser visto com romantismo, mas ao lidar com a especificação do protocolo, o formato de mensagens não estruturado causa problemas
É bom ver que existem várias opções além de Slack e Discord
Fico curioso para saber se o Ergo consegue se conectar a outros servidores IRC. Gostaria de tentar conectá-lo ao ngircd existente
É um bom momento para trazer a operação do chat para on-premises. Comandos e logs de chat são úteis
Espero que ele substitua softwares como o Slack
Há um ano usei um servidor chamado Oragono para meus amigos e recomendo
Fico curioso para saber se é possível enviar webhooks para um canal específico
A falta de histórico/backlog no IRC é mencionada com frequência, mas acho que backlog é, para a comunidade, uma anticaracterística