ダークビジターズ

:information_source: 概要 Known AgentsサービスをDiscourseと統合し、望ましくないクローラーやスクレイパーがフォーラムにアクセスするのを追跡します。
:hammer_and_wrench: リポジトリリンク https://github.com/magicball-network/discourse-darkvisitorsᐳ
:open_book: インストールガイド Discourseでプラグインをインストールする方法

:information_source: 2026年2月3日をもって、Dark VisitorsサービスはKnown Agentsにブランド変更されました。Discourseプラグインの名前は変更されていません。

特徴

Known Agentsは、ウェブサイトにアクセスするエージェント(クローラー、スクレイパー、その他のボット)を追跡するサービスです。彼らの主な関心はAIエージェントの分析に向けられています。

提供されるサービスは2つあります。

  • robots.txtの生成と監視
  • エージェント分析。サーバー側とクライアント側の両方

robots.txtサービスは無料です。分析サービスには無料枠が提供されています。詳細については彼らのウェブサイトをご覧ください。

このDiscourseプラグインは、これらすべてのサービスに接続しますが、すべてオプションであり、ある程度設定可能です。

robots.txtの生成

Discourseにはすでにrobots.txtを設定するオプションがあります。このプラグインはそれを拡張します。有効にすると、プラグインは異なるカテゴリ(現在サポートされているのはAIカテゴリのみ)のエージェントのリストを取得し、すでに設定されているエージェントに不足しているエージェントがあればそれらを追加します。リストは毎日更新されます。これにより、新しいAIスクレイパーが認識されると、robots.txtに追加されます。

この機能は、Discourseがrobots.txtを管理しており、手動で上書きしていない場合にのみ機能します。プラグインはブロックされたクローラーユーザーエージェント設定を変更するのではなく、robots.txtに不足している新しいエージェントを追加します。したがって、このリストの管理は引き続き完全に制御できます。

サイトのrobots.txtにアクセスすると、最終更新日時を示す先頭のコメントと、Known Agentsから返されたエージェントの数が表示されます。まだ設定されていないエージェントはリストの最後に追加されます。これらは、sitemapディレクティブ(設定されている場合)とGooglebotの間に配置されるはずです。

エージェント分析

サーバー側分析とクライアント側分析は個別に有効にできます。すべての訪問者に対して、または認証されていない訪問者に対してのみ有効にできます。

サーバー側分析は、Known Agentsに追跡された訪問を報告します。リクエストパス、訪問者のリモートアドレス、User-Agentヘッダー、およびその他のブラウザヘッダーを送信します。

どのリクエストが報告されるかについては、以下の追加設定があります。デフォルトでは、Discourseがビューとして追跡するようにマークしたリクエストのみが追跡されます。Discourseへの次のリクエストは決して報告されません。

  • 管理セクションへのリクエスト
  • バックグラウンドおよびAPIリクエスト

クライアント側分析は、ページにJavascriptを追加することで処理され、特定の条件下でKnown Agentsにコールバックします。

  • ブラウザが自動化されている、またはAIブラウザであるように見える場合
  • ユーザーがAIチャットサービスからアクセスした場合

追跡されたすべてのアクティビティが、支払いプランに影響を与えるイベントとしてカウントされます。

設定

このプラグインを使用するには、Known Agentsにサインアップする必要があります。無料枠では、毎月100,000イベントが提供されます。その制限に達すると、それ以降のイベントは分析で表示されなくなりますが、新しい情報を送信し、robots.txtサービスを引き続き使用できます。

サインアップ後、追跡するサイト(例:サイト)を作成する必要があります。これにより、robots.txtおよびサーバー側分析機能に必要なアクセス・トークンが提供されます。

robots.txt機能を有効にすると、更新されるまでにしばらく時間がかかります。https://yoursite/robots.txtにアクセスして、機能しているか確認してください。先頭にコメントがあるはずです。

# Augmented by Dark Visitors on 2025-05-07T12:46:00+00:00 with 28 agents

サービス側分析を有効にした場合、Known Agentsのプロジェクト設定からテスト訪問をリクエストすることで、機能しているかテストできます。数秒かかる場合があります。Known Agentsのリアルタイムページで結果を確認できるはずです。

設定項目

名前 説明
darkvisitors enabled プラグイン全体を有効にするグローバルフラグ
darkvisitors access token robots.txtおよびサーバー側分析でKnown Agentsと通信するために必要な秘密のアクセス・トークン。これはKnown Agentsのプロジェクトの設定セクションで見つけることができます。
darkvisitors robots txt enabled 有効にすると、Discourseのrobots.txtが追加のエージェントで拡張されます
darkvisitors robots txt agents robots.txtに追加するエージェントの種類。
darkvisitors robots txt path エージェントのアクセスを拒否するパス。サイト全体へのアクセスを拒否するために、おそらく/のままにしておくのが最善です。
darkvisitors server analytics サーバー側分析を有効にします。匿名ユーザーに対してのみ有効にすることをお勧めします。
darkvisitors server analytics include 追加のリクエストを追跡します。アップロードされたファイルへのリクエストや、404 Not Foundリクエストも追跡できます。
darkvisitors server analytics ignore 無視するユーザーエージェント内のサブ文字列(大文字と小文字を区別します)。アップタイム監視を使用している場合は、その識別ユーザーエージェントをこのリストに含めることを強くお勧めします。
darkvisitors client analytics クライアント側分析を有効にします。これにより、AIチャットサービスからアクセスしている通常のユーザーの洞察も得られます。
darkvisitors client analytics project key クライアント側分析の場合、(公開)プロジェクトキーを設定する必要があります。これはKnown Agentsプロジェクト設定のJavaScriptタグセクションで、project_key=の後のコードとして見つけることができます。
「いいね!」 5

elmuerteさん、ありがとうございます!設定が完了し、正常に動作しています。

プラグインの設定では、robots.txt で除外できるエージェントの種類は次のとおりです。

  • AI Data Scraper [デフォルトで選択]
  • Undocumented AI Agent [デフォルトで選択]
  • AI Agent
  • AI Assistant
  • AI Search Crawler

しかし、Dark Visitors のエージェントの種類の完全なリストは次のとおりです。
(太字 = 追加)

Crawlers & Scrapers…

  • AI Assistant
  • AI Data Scraper
  • AI Search Crawler
  • Archiver
  • Developer Helper
  • Fetcher
  • Intelligence Gatherer
  • Scraper
  • Search Engine Crawler
  • Security Scanner
  • SEO Crawler
  • Uncategorized Agent
  • Undocumented AI Agent

AI Agents…

  • AI Agent
  • Headless Agent

これらのエージェントの種類のすべてがブロックしたいものではありませんが、Scraper、AI Data Scraper、SEO Crawler などを含めたいと考えています。

これらの追加のエージェントの種類は、プラグインよりも新しいものですか?設定.yml の現在の選択リストに追加できますか?

robots.txt は単なるリクエストにすぎません。ボットがそれに従うか従わないかです。停止させる唯一の方法はファイアウォールです。

はい、それは理解していますが、Dark Visitorsはrobots.txtのみで機能するため、できる限りうまく機能させたいのです。

(現在、Nginxリバースプロキシを使用した実際のブロックについていくつか投稿を読んでいますが、そこまで行く必要があるかどうかはまだわかりません。)

それは少しハードコアですね。しかし、Dark VisitorはDiscourseの禁止リストで役立つはずです。もちろん、これにより、OpenAIなどをrobots.txtに従うように手動で追加する必要がなくなります。

今年の5月3日にDark Visitorsに連絡したところ、「現時点では」という返答でした。しかし、現在のドキュメントにはさらに多くのタイプがリストされているようです。

現在、Dark Visitors APIでサポートされているタイプは次のとおりです。

Discourseの設定は、追加するだけで追加のエージェントタイプで拡張できることを確認しました。

新しいタイプを追加して設定を保存すると、robots.txtはすべての新しいエージェントですぐに更新されるはずです。

「いいね!」 1

OMG、「検索または作成」フィールドを見逃していました。私のテーマはそこでコントラストが非常に低く、見逃してしまいました。明確化していただきありがとうございます!