IRC Database は公開IRCネットワークのユーザー数、チャンネル、トピック、稼働率、IRCv3対応状況をグラフと履歴つきで記録しています。このページでは、掲載の方法、ボットがネットワークで行うこと、掲載情報の自己管理、サーバーが表示されなくなったときの対処を説明します。
掲載の手順
- ボットが 62.169.23.25 から接続できるようにします(ファイアウォール、接続制限、DNSBL、K/G/Z-line の例外設定。下記参照)。
- このサイトでアカウントを作成します。 https://irc.dbase.in.rs/register
- ネットワーク名、Webサイト、簡単な説明を添えてネットワークを送信します。 https://irc.dbase.in.rs/irc/submit-network
- サーバーを送信します。ボットのニックネームも選べるので、オペレーターが見分けやすくなります。 https://irc.dbase.in.rs/irc/submit-server
- 承認の翌晩にボットがネットワークを訪問し、最初の統計はその翌日に表示されます。
要件
- インターネットから通常ポートまたはTLSポートで接続できる公開IRCサーバー(6697などのTLSを推奨)。
- 接続したばかりのクライアントで LIST が使えること。接続後に LIST を遅延させるサーバーは、サーバー設定で待機時間を指定してください。
- 登録ユーザーしか受け付けないサーバーは、ボット用アカウントの SASL 認証情報を教えてください。SASL は TLS 接続でのみ送信されます。
- ボットの接続はネットワークごとに同時に1つだけで、フラッドは行わず、きちんと切断します。
ボットを許可する
ボットは 62.169.23.25 から接続します。ファイアウォール、接続制限、DNSBL、BAN などで遮断されるとスキャンが失敗し、3 日間一度も接続できないとサーバーは一覧から非表示になります。このアドレスを例外に追加してください。
62.169.23.25
Firewall (iptables / ufw)
iptables -I INPUT -s 62.169.23.25 -p tcp -m multiport --dports 6667,6697 -j ACCEPT
ufw allow from 62.169.23.25 to any port 6667,6697 proto tcp
UnrealIRCd 6
except ban {
mask *@62.169.23.25;
type { blacklist; connect-flood; handshake-data-flood; }
}
InspIRCd
<exception host="*@62.169.23.25" reason="IRC Database statistics bot">
Solanum / Charybdis / ircd-ratbox
exempt {
ip = "62.169.23.25";
};
これらは例です。正確な構文はお使いの IRCd のドキュメントを確認してください。 テストするには、ネットワーク外のマシンから、ここに掲載されているものと同じホスト名とポートに接続してください。
ボットがネットワークで行うこと
1晩に1回、ネットワークごとに同時接続は1つだけです。プライマリサーバーには必ず訪問し、ほかのサーバーは順番に2台ずつ、数分おきに訪問します。サーバーが30台あるネットワークは約2週間で全体をカバーします。
訪問中は次のことを行います。
- 選択されたニックネーム(既定は IRCDBaseBot)で登録し、CAP LS で IRCv3 対応を確認します。SASL は認証情報が設定され、かつ TLS 接続の場合のみ使用します。
- LUSERS(ユーザー、オペレーター、サーバー)と ISUPPORT (005) トークンを読み取ります。
- LIST(チャンネル、ユーザー数、トピック)を読み取ります。
- MAP と LINKS でネットワークの新しいサーバーを探します(サーバー管理でオフにできます)。
- 1つのチャンネルに参加して NAMES と WHO でニックネームを収集します(ネットワークごとにオフにできます)。
- サーバーページへのリンクを添えて切断します。
4時間ごとに各サーバーへTCP/TLS接続を開き、登録せずにすぐ閉じて、稼働率、接続時間、TLS証明書の有効期限を測定します。
ネットワークの所有を申請して自分で管理
ネットワークが掲載されていて所有者がいない場合は、そのページを開いて「所有を申請」をクリックします。表示される TXT レコード(ircdbase-verify=…)をWebサイトのドメイン、またはIRCサーバーのドメインのDNSに追加して「確認」を押せば、あなたが所有者になります。私たちの承認を待つ必要はありません。
ネットワークを自分で送信した場合は、承認され次第、所有者になります。
チームの役割
- オーナー:ネットワーク、サーバー、チームをすべて管理できます。
- マネージャー:ネットワークの編集、サーバーの承認、プライマリサーバーとスキャン対象サーバーの選択、問題の報告と変更履歴の確認ができます。
- コントリビューター:サーバーを送信し、自分が追加したサーバーを編集できます。
オーナーとマネージャーには、週次レポート、TLS証明書の期限切れ前の警告、ユーザーからの問題報告、元に戻せる変更履歴、サーバーが応答しなくなったときのメールが届きます。
サーバーやネットワークが一覧から消えた理由
この一覧は公開APIを通じて AndroidIRCx などのIRCアプリでも使われるため、動作しているサーバーのみを掲載しています。サーバーが 3 日間まったく接続を受け付けない場合(夜間スキャンも4時間ごとのチェックも)、ディレクトリ、API、スキャナーから非表示になります。ネットワークの最後のサーバーが非表示になると、ネットワークも非表示になります。
- 何も削除されません。統計、チャンネル、履歴は保持されます。
- 当方側のDNSの問題はカウントされません。当方のリゾルバーがサーバーを見つけられない場合は、公開リゾルバー(1.1.1.1、8.8.8.8)に問い合わせます。まったく応答しないサーバーだけが非表示になります。
- ネットワークに所有者がいる場合は、所有者とマネージャーにメールが届きます。所有者のいないネットワークは、そのまま非表示になります。
一覧に戻す方法
- サーバーが稼働していて、ホスト名がそのサーバーを指していることを確認します。
- ファイアウォールとBANの例外に 62.169.23.25 を追加します。
- サーバーを移転した場合は、サーバー管理でホスト名またはポートを変更します。
- サーバー管理でサーバーの横にある「再確認」を押します。応答があれば、すぐに一覧に戻ります。
まだ所有者がいませんか? まずネットワークの所有を申請してください(上記参照)。
ネットワークのランキング
ランクは、各サーバーの最新スキャンに基づく、稼働中サーバー1台あたりの平均ユーザー数です。サーバー数に関係なく、大小のネットワークを同じ基準で比較できます。矢印は1週間前のランクからの変化を示します。
稼働率は過去30日間の接続成功率(スキャンと4時間ごとのチェック)、接続時間は接続にかかった平均時間です。
順位が売られることはなく、すべてのネットワークが同じ方法で測定されます。
掲載情報の表示場所
このサイトのネットワーク、サーバー、チャンネルのページ、新着ネットワークのRSSフィード、年次レポート State of IRC、そしてIRCクライアントや AndroidIRCx などのアプリが既成のサーバー一覧として使う公開の読み取り専用APIに表示されます。
掲載を希望しませんか?
ご連絡いただければ、ネットワークを削除してボットをただちに停止します。オーナーはサーバー管理で個別のサーバーのスキャンを停止することもできます。
admin@dbase.in.rs までご連絡ください。