- 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を通じてニックネームをアカウントに登録できる。
- ニックネーム登録後にチャンネルを登録できる。
4件のコメント
用途によっては、アカウントなどが必要な Slack/Discord は負担に感じることがあるのですが、Webクライアントへの対応もしっかりしているので、一度導入してみたいですね。
おお、本当に面白そうです……会社でまたひとつ、サボれるチャンネルが増えそうですね……
おお.. GeekNewsのIRCチャンネルができたら面白そうですね
Hacker Newsのコメント
この1年間、友人や家族とのチャットにErgoを使ってきた。ホスティングが簡単で、必要なリソースも少なく、理解しやすくデバッグしやすいプロトコルとコードベースを備えている
IRCはしばしばロマン視されるが、プロトコル仕様を扱うと、非構造化なメッセージ形式が問題を引き起こす
SlackやDiscord以外にもさまざまな選択肢があるのを見るのは良いことだ
Ergoが他のIRCサーバーと接続できるのか気になる。既存のngircdと接続してみたい
チャット運用をオンプレミスに戻すには良い時期だ。コマンドとチャットログが便利だ
Slackのようなソフトウェアの代替になってほしい
1年前に友人たちのためにOragonoというサーバーを使ったが、おすすめできる
特定のチャンネルにWebhookを送れるのか気になる
IRCではチャット履歴/バックログの不足がよく話題になるが、コミュニティにとってバックログはアンチ機能だと思う