1734507698
2024-12-18 00:46:00
Ergo (以前は Oragono として知られていました) は、Go で書かれた最新の IRC サーバーです。その中心となる設計原則は次のとおりです。
- セットアップと使用が簡単であること
- ircd、サービス フレームワーク、バウンサーの機能を組み合わせたもの (統合アカウント管理、履歴ストレージ、バウンサー機能)
- 最新鋭 IRCv3のサポート、IRCv3 リファレンス実装としての使用に適しています。
- 再ハッシュ可能な (つまり、実行時に再ロード可能な) YAML 構成による高いカスタマイズ性
Ergo はのフォークです。 人間工学的 IRCデーモン
実行中の Ergo インスタンスを確認したり、クライアント コードをテストしたりしたい場合は、自由に試してみてください。 テストネット.エルゴ.チャット (ポート 6697 の TLS またはポート 6667 のプレーンテキスト)。
- 統合サービス: ユーザー アカウント用の NickServ、チャネル登録用の ChanServ、バニティ ホスト用の HostServ
- バウンサーのような機能: 履歴の保存と再生、複数のクライアントが同じニックネームを使用できるようにする
- ネイティブ TLS/SSL サポート (クライアント証明書のサポートを含む)
- IRCv3のサポート
- ヤムル 構成
- サーバー構成と TLS 証明書をその場で更新 (再ハッシュ)
- SASL認証
- LDAPのサポート
- サポートします 多言語 (ネットワークのデフォルト言語を設定することもできます)
- RFC 8265 (PRECIS) による UTF-8 ニックネームとチャネル名のオプションのサポート
- 高度なセキュリティおよびプライバシー機能 (すべてのログインでの SASL の要求、IP のクローキング、Tor の隠しサービスとしての実行のサポート)
- IRC オペレーターのための拡張可能な特権システム
- ユーザー名の ident ルックアップ
- 自動化されたクライアント接続制限
- に保存されているパスワード bcrypt
UBAN、IP、ネットワーク、マスク、登録アカウントをターゲットにできる統合禁止システム (KLINEそしてDLINEもサポートされています)- の開発に焦点を当てる 仕様
Ergo の機能の詳細については、以下を参照してください。
このページから最新リリースをダウンロードします。 https://github.com/ergochat/ergo/releases/latest
それをフォルダーに抽出し、次のコマンドを実行します。
cp default.yaml ircd.yaml
vim ircd.yaml # modify the config file to your liking
./ergo mkcerts
./ergo run # server should be ready to go!
注記: を参照してください。 弊社マニュアルの生産ガイド 有効な TLS 証明書の取得など、運用ネットワークを実行する方法に関する推奨事項については、こちらをご覧ください。
一部のプラットフォーム/ディストリビューションには、Ergo パッケージが維持されています。
Dockerfile と docker-compose レシピの例は、次の場所にあります。 distrib/docker ディレクトリ。 Ergo は、次の GitHub Container Registry に自動的に公開されます。 ghcr.io/エルゴチャット/エルゴ。詳細については、distrib/docker を参照してください。
READMEファイル。
このリポジトリのクローンを作成して、ソースからビルドすることもできます。一般的な展開では、 stable ブランチ。最新の安定リリースを指します。一般的に、 stable ベータまたはリリース候補として指定されていない最新の公開タグと一致する必要があります (例: v2.7.0-rc1 不安定なリリース候補であり、 v2.7.0 は対応する安定版リリースでした)。そのため、最新の安定版リリース タグも リリースページ そしてそれを構築します。
の master ブランチにはバグが含まれている可能性があり、リリースに適用される構成ファイルとデータベースの前方互換性保証はマスターには適用されないため、ブランチは運用環境での使用はお勧めできません。つまり、master を実行すると、データベースが変更され、Ergo の将来のバージョンと互換性がなくなる可能性があります。
Ergo への貢献については、次を参照してください。 開発中.md。
必要になります ご使用の OS およびアーキテクチャ向けの Go 言語の最新のディストリビューション。インストールしたら (出力を確認してください) go version)、目的のブランチまたはタグをチェックアウトして実行するだけです make。これにより、という名前の実行可能バイナリが生成されます。 ergo プロジェクトのベースディレクトリにあります。 (Ergo はすべての依存関係をベンダーに提供しているため、依存関係をリモートで取得する必要はありません。)
デフォルトの設定ファイル default.yaml 各オプションの意味と変更点を説明します。
使用できます --conf Ergo を起動するときにパラメータを使用して、設定ファイルを探す場所を制御します。例えば: ergo run --conf /path/to/ircd.yaml。構成ファイルには、ログ、データベース、証明書、およびその他のファイルが開かれる場所も保存されます。通常、これらのファイルはすべて相対パスを使用しますが、絶対パスに変更することもできます (例: /var/log/ircd.log) Ergo をサービスとして実行する場合。
デフォルトでは、ログは stderr のみに保存されます。これらはファイルに移動するように構成することも、systemd を使用して標準エラー出力をシステム ジャーナルに送信することもできます (詳細についてはマニュアルを参照してください)。ログの構成形式は簡単にプラグインできるように設計されており、InspIRCd によって提供されるログ構成からインスピレーションを得ています。
パスワード(両方とも) PASS および oper ログイン)は、bcrypt を使用して保存されます。構成で使用する暗号化された文字列を生成するには、 genpasswd サブコマンド自体は次のようになります。
これにより、構成ファイルにプラグインできるテキストの塊を受け取ります。
Ergo は、その特徴的な機能 (ニックネームごとに複数のクライアントを許可するなど) を有効にするためにユーザー アカウントに大きく依存しています。ユーザーとして、次を使用して現在のニックネームをアカウントとして登録できます。 /msg NickServ register 。それが完了したら、次のことを行う必要があります。 クライアントで SASL を有効にする、接続するたびにアカウントに自動的にログインするようになります。これにより防止されます 登録したニックネームを主張する際の問題。
ニックネームを登録したら、それを使用してチャンネルを登録できます。
- チャンネルに参加してください
/join #channel - でチャンネルを登録してください
/CS REGISTER #channel
この後、あなたのチャンネルは、あなたが所有者、トピック、およびチャンネルに設定されているモードであるという事実を記憶します。
#ergochatergo #で書かれた最新の #IRC #サーバー #デーモンircd