Открытый IRC-сервер (ircd) с полной поддержкой IRCv3, TLS, маскировкой хостов и защитой от флуда и спама; работает на Linux, macOS и Windows.
ergochat/ergo
Современный IRC-сервер на Go, объединяющий ircd, фреймворк сервисов и bouncer в одном демоне.
- Звёзды
- 3,357
- Форки
- 249
- Открытые issues
- 213
- Последний коммит
- 6 дней назад
Что это?
Ergo — IRC-сервер (ircd), написанный на Go. Он включает управление аккаунтами через NickServ и ChanServ, сохраняет историю сообщений и воспроизводит её, а также позволяет нескольким клиентам использовать один никнейм. Поэтому Ergo может работать и как чат-сервер, и как bouncer. Сервер поддерживает широкий набор возможностей IRCv3 и задуман в том числе как эталонная реализация IRCv3.
Настроить сервер просто: скопируйте конфигурацию YAML по умолчанию, сгенерируйте TLS-сертификаты встроенной командой и запустите бинарный файл. Конфигурацию можно перезагружать на ходу (rehashing), в том числе TLS-сертификаты. Пароли хранятся с использованием bcrypt; сервер также поддерживает SASL, клиентские сертификаты, сокрытие IP-адресов и работу в качестве скрытого сервиса Tor.
Доступны релизные бинарные файлы и Docker-образы; также проект можно собрать из исходного кода с vendored-зависимостями.
Ключевые возможности
- 01Встроенные NickServ, ChanServ и HostServ для управления аккаунтами, регистрации каналов и vanity-хостов
- 02Сохранение и воспроизведение истории сообщений, а также возможность использовать один никнейм с нескольких клиентов
- 03Встроенная поддержка TLS, включая аутентификацию по клиентским сертификатам
- 04Широкая поддержка IRCv3 и аутентификация SASL
- 05Перезагрузка конфигурации YAML и TLS-сертификатов на ходу
- 06Опциональная интеграция с LDAP и единая система банов (UBAN)
Сценарии использования
- Запуск частной IRC-сети или сообщества с зарегистрированными аккаунтами и каналами
- Развёртывание IRC-сервера с сохранением истории, чтобы пользователи могли переподключаться и не терять сообщения
- Использование в качестве эталонного сервера для тестирования возможностей IRCv3-клиентов
- Запуск IRC-сети, доступной через Tor
Быстрый старт
- 1
Скачайте последнюю версию со страницы релизов
- 2
Скопируйте конфигурацию по умолчанию в ircd.yaml
cp default.yaml ircd.yaml - 3
Создайте сертификаты TLS
./ergo mkcerts - 4
Запустите сервер
./ergo run
Что важно знать
- Для быстрого старта нужно скачать релиз, поэтому перед запуском конфигурацию придется отредактировать вручную.
- Как указано в README, для использования в production потребуются дополнительные действия, например настройка действительных сертификатов TLS и systemd.
В подборках
Темы
Частые вопросы
- Что такое ergo?
- Современный IRC-сервер на Go, объединяющий ircd, фреймворк сервисов и bouncer в одном демоне. Ergo — IRC-сервер (ircd), написанный на Go. Он включает управление аккаунтами через NickServ и ChanServ, сохраняет историю сообщений и воспроизводит её, а также позволяет нескольким клиентам использовать один никнейм. Поэтому Ergo может работать и как чат-сервер, и как bouncer. Сервер поддерживает широкий набор возможностей IRCv3 и задуман в том числе как эталонная реализация IRCv3.
- ergo можно использовать бесплатно? Какая у него лицензия?
- ergo распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ergo всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ergo — 1 нояб. 2026 г..
- Для чего можно использовать ergo?
- Запуск частной IRC-сети или сообщества с зарегистрированными аккаунтами и каналами Развёртывание IRC-сервера с сохранением истории, чтобы пользователи могли переподключаться и не терять сообщения Использование в качестве эталонного сервера для тестирования возможностей IRCv3-клиентов Запуск IRC-сети, доступной через Tor
- Как установить ergo?
- Скачайте последнюю версию со страницы релизов Скопируйте конфигурацию по умолчанию в ircd.yaml: cp default.yaml ircd.yaml Создайте сертификаты TLS: ./ergo mkcerts Запустите сервер: ./ergo run
- Где скачать ergo?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ergochat/ergo
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Бесплатный, переносимый и лёгкий IRC-сервер на C для небольших или частных сетей.
Высокопроизводительный IRCv3-сервер для UNIX-подобных систем и Windows, написанный на C++.
Современный адаптивный веб-клиент IRC для собственного сервера, который остаётся подключённым к IRC-серверам, даже когда вы не в сети.
Самостоятельно размещаемый сервер мгновенных сообщений на Go с нативными клиентами для Android, iOS и веба, а также API JSON/websocket и gRPC.
Java-сервер для совместной работы в реальном времени и обмена сообщениями по XMPP, распространяемый по лицензии Apache 2.0.