14P by neo 3일전 | favorite | 댓글 4개
  • Ergo는 Go 언어로 작성된 현대적인 IRC 서버로, 이전에는 Oragono 였음
  • 주요 설계 원칙 : 설정과 사용의 간편함, ircd와 서비스 프레임워크, 바운서 기능의 통합, IRCv3 지원, YAML 설정 파일을 통한 높은 커스터마이징 지원
  • Ergo는 Ergonomadic IRC 데몬의 포크임

기능

  • 통합 서비스: 사용자 계정을 위한 NickServ, 채널 등록을 위한 ChanServ, Vanity 호스트를 위한 HostServ 제공.
  • 바운서 기능: 히스토리 저장 및 재생, 여러 클라이언트가 동일한 닉네임 사용 가능.
  • TLS/SSL 지원, 클라이언트 인증서 지원 포함.
  • IRCv3 지원.
  • YAML 설정 파일 사용.
  • 서버 설정 및 TLS 인증서의 실시간 업데이트 가능.
  • SASL 인증 및 LDAP 지원.
  • 여러 언어 지원 및 네트워크 기본 언어 설정 가능.
  • UTF-8 닉 및 채널 이름 지원 옵션.
  • 고급 보안 및 개인정보 보호 기능 제공.
  • IRC 운영자를 위한 확장 가능한 권한 시스템.
  • 사용자 이름을 위한 ident 조회.
  • 자동화된 클라이언트 연결 제한.
  • bcrypt로 저장된 비밀번호.
  • UBAN 시스템을 통한 통합 차단 기능.
  • 사양을 준수한 개발에 중점.

빠른 시작 가이드

  • 최신 릴리스를 다운로드하고 압축을 해제한 후 설정 파일을 수정하여 서버를 실행할 수 있음
  • Arch Linux AUR 및 Gentoo Linux에 Ergo 패키지가 유지 관리되고 있음.
  • Dockerfile과 예제 docker-compose 레시피가 제공됨
  • 소스에서 빌드
    • 최신 Go 언어 배포판이 필요하며, 원하는 브랜치나 태그를 체크아웃한 후 make 명령어로 빌드 가능.

설정

  • 기본 설정 파일 default.yaml을 통해 각 옵션의 의미와 변경 사항을 설명함.
  • 로그는 기본적으로 stderr로만 전송되며, 파일로 전송하거나 systemd를 사용하여 시스템 저널로 전송 가능.

비밀번호

  • 비밀번호는 bcrypt로 저장되며, genpasswd 서브커맨드를 사용하여 암호화된 문자열 생성 가능.

닉네임 및 채널 등록

  • 사용자 계정을 통해 여러 클라이언트가 동일한 닉네임을 사용할 수 있으며, NickServ를 통해 닉네임을 계정으로 등록 가능.
  • 닉네임 등록 후 채널을 등록할 수 있음.

용도에 따라서는 계정등이 필요한 슬랙/디스코드가 부담스런 경우가 있는데, 웹 클라이언트도 잘 지원되니 한번 도입해 보고 싶네요.

오.. 긱뉴스 IRC 채널 생기면 재밌겠어요

오 진짜 재밌을듯합니다.. 회사에서 또하나의 월루할 채널이 생기...

Hacker News 의견
  • Ergo를 지난 1년간 친구와 가족 채팅에 사용해왔음. 호스팅이 쉽고 자원 요구가 낮으며, 이해하고 디버그하기 쉬운 프로토콜과 코드베이스를 제공함

    • v3 채팅 기록 지원과 항상 켜져 있는 멀티 클라이언트 기능이 현대적인 채팅 환경을 제공함
    • 내장된 웹소켓 지원으로 웹 클라이언트를 제공할 수 있음
  • IRC는 종종 낭만적으로 여겨지지만, 프로토콜 사양을 다루면서 비구조적인 메시지 형식이 문제를 일으킴

    • 각 구현이 고유한 특성과 변형을 도입하여 수많은 엣지 케이스와 복잡한 파싱 코드를 만듦
    • 현대적이고 간단한 채팅 프로토콜이 필요하다고 생각함
  • Slack, Discord 외에도 다양한 선택지가 있다는 것을 보는 것이 좋음

    • 가족과 회사용으로 Matrix를 선택했으며, IRC의 "항상 켜져 있는" 기능에 대해 몰랐음
  • Ergo가 다른 IRC 서버와 연결할 수 있는지 궁금함. 기존 ngircd와 연결해보고 싶음

  • 채팅 운영을 온프레미스로 가져오기 위한 적절한 시기임. 명령어와 채팅 로그가 유용함

  • Slack과 같은 소프트웨어를 대체하길 바람

  • 1년 전 친구들을 위해 Oragono라는 서버를 사용했으며, 추천함

  • 특정 채널로 웹훅을 보낼 수 있는지 궁금함

  • IRC의 채팅 기록/백로그 부족이 자주 언급되지만, 백로그는 커뮤니티에 있어서는 안티 기능이라고 생각함

    • 서버 측 백로그가 없으면 채팅은 일시적이며, 중요한 내용을 보존하기 위해 다른 곳에 저장해야 함