16 pontos por GN⁺ 2024-12-19 | 4 comentários | Compartilhar no WhatsApp
  • 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

 
xguru 2024-12-19

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.

 
ifmkl 2024-12-20

Nossa, parece que vai ser bem divertido.. surgiu mais um canal para enrolar no trabalho...

 
bbulbum 2024-12-19

Oh... seria divertido se surgisse um canal de IRC do GeekNews.

 
GN⁺ 2024-12-19
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 suporte ao histórico de chat v3 e o recurso de múltiplos clientes sempre conectados proporcionam uma experiência de chat moderna
    • O suporte embutido a WebSocket permite oferecer um cliente web
  • 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

    • Cada implementação introduz características e variações próprias, criando inúmeros casos extremos e código de parsing complexo
    • Acho que precisamos de um protocolo de chat moderno e simples
  • É bom ver que existem várias opções além de Slack e Discord

    • Escolhi o Matrix para uso familiar e corporativo, e não conhecia o recurso de "sempre conectado" do IRC
  • 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

    • Sem backlog no lado do servidor, o chat é efêmero, e conteúdos importantes precisam ser salvos em outro lugar para serem preservados