ダーク・ビジターズ

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

特徴

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

以下の2つのサービスを提供しています。

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

robots.txtサービスは無料です。分析サービスは無料ティアを提供しています。詳細については、ウェブサイトをご覧ください。

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

robots.txtの生成

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

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

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

エージェント分析

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

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

リクエストが報告される追加の設定があります。以下を参照してください。デフォルトでは、Discourseが表示として追跡するようにマークしたリクエストのみが追跡されます。Discourseへの以下のリクエストは決して報告されません。

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

クライアントサイド分析は、特定の条件下でDark Visitorsに連絡するJavaScriptをページに追加することで処理されます。

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

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

設定

このプラグインを使用するには、Dark Visitorsにサインアップする必要があります。無料ティアでは、毎月1,000,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

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

設定

名前 説明
darkvisitors enabled プラグイン全体を有効にするグローバルフラグ
darkvisitors access token robots.txtおよびサーバーサイド分析でDark Visitorsと通信するために必要な秘密のアクセス トークン。これは、Dark Visitorのプロジェクトの設定で見つけることができます。
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 クライアントサイド分析の場合、(公開)プロジェクトキーを設定する必要があります。これは、Dark Visitorsプロジェクトの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、「検索または作成」フィールドを見逃していました。私のテーマはそこでコントラストが非常に低く、見逃してしまいました。明確化していただきありがとうございます!