Тёмные посетители

:information_source: Краткое описание Интегрирует сервис Known Agents с Discourse для отслеживания нежелательных краулеров и скраперов, посещающих ваш форум.
:hammer_and_wrench: Ссылка на репозиторий https://github.com/magicball-network/discourse-darkvisitors
:open_book: Руководство по установке Как установить плагины в Discourse

:information_source: По состоянию на 3 февраля 2026 года сервис Dark Visitors был переименован в Known Agents. Плагин для Discourse пока не был переименован.

Возможности

Known Agents — это сервис, который отслеживает агентов (краулеров, скраперов и другие виды ботов), посещающих ваши веб-сайты. Основное внимание уделяется анализу ИИ-агентов.

Он предлагает два сервиса:

  • Генерация и мониторинг robots.txt
  • Аналитика агентов: как серверная, так и клиентская

Сервис robots.txt предоставляется бесплатно. Сервис аналитики имеет бесплатный тариф. Рекомендуется посетить их веб-сайт для получения дополнительной информации.

Этот плагин для Discourse подключается ко всем этим сервисам; все они являются опциональными и настраиваемыми в определенной степени.

Генерация robots.txt

Discourse уже предоставляет возможность настройки файла robots.txt. Этот плагин расширяет её. При включении плагин получает список агентов из различных категорий (в настоящее время поддерживаются только категории ИИ) и добавляет тех, которых нет в уже настроенном списке агентов. Список обновляется ежедневно. Таким образом, когда будет обнаружен новый ИИ-скрапер, он автоматически добавится в ваш robots.txt.

Эта функция работает только в том случае, если Discourse управляет файлом robots.txt и вы не изменили его вручную. Плагин не меняет настройку Заблокированные пользовательские агенты краулеров, а дополняет robots.txt недостающими агентами. Таким образом, вы по-прежнему полностью контролируете управление этим списком.

При просмотре файла robots.txt вашего сайта вы увидите в начале комментарий с датой последнего обновления и количеством агентов, возвращенных Known Agents. Агенты, которые еще не были настроены, добавляются в конец списка. Они должны находиться между Googlebot и директивой карты сайта (если она настроена).

Аналитика агентов

Серверная и клиентская аналитика могут быть включены независимо друг от друга. Их можно включить для всех посетителей или только для неавторизованных пользователей.

Серверная аналитика отправляет отчеты о отслеживаемых посещениях в Known Agents. Она передает путь запроса, удаленный адрес посетителя, заголовок User-Agent и несколько дополнительных заголовков браузера.

Существуют дополнительные настройки, определяющие, какие запросы будут отправляться; см. настройки ниже. По умолчанию отслеживаются только те запросы, которые Discourse помечает как просмотры. Следующие запросы к Discourse никогда не будут отправлены:

  • Запросы в раздел Администрирования
  • Фоновые и API-запросы

Клиентская аналитика реализуется путем добавления Javascript на вашу страницу, который в определенных условиях отправляет данные в Known Agents:

  • Браузер определяется как автоматизированный или ИИ-браузер
  • Пользователь пришел из чат-сервиса на базе ИИ

Все отслеживаемые запросы учитываются в событиях, влияющих на ваш тарифный план.

Настройка

Для использования этого плагина необходимо зарегистрироваться в 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. Это может занять несколько секунд. Результат должен отобразиться на странице Realtime в Known Agents.

Настройки

Название Описание
darkvisitors enabled Глобальный флаг для включения всего плагина
darkvisitors access token Секретный токен доступа, необходимый для robots.txt и серверной аналитики для связи с Known Agents. Вы найдете его в настройках вашего проекта в Known Agents в разделе settings.
darkvisitors robots txt enabled При включении файл robots.txt Discourse будет дополнен дополнительными агентами
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 Включает клиентскую аналитику. Это также даст вам представление о обычных пользователях, посещающих ваш форум, пришедших из чат-сервиса на базе ИИ.
darkvisitors client analytics project key Для клиентской аналитики необходимо настроить (публичный) ключ проекта. Вы найдете его в настройках проекта Known Agents в разделе JavaScript Tag, это код после project_key=
5 лайков

Спасибо, elmuerte! Я всё настроил, и это отлично работает.

Я заметил, что в настройках плагина типы агентов, которые можно исключить через robots.txt, следующие:

  • AI Data Scraper [выбрано по умолчанию]
  • Undocumented AI Agent [выбрано по умолчанию]
  • AI Agent
  • AI Assistant
  • AI Search Crawler

Однако полный список типов агентов Dark Visitors, согласно darkvisitors.com, выглядит так:
(жирным = добавлено)

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…

Эти дополнительные типы агентов просто новее, чем ваш плагин? Можно ли добавить их в текущий список вариантов в settings.yml?

Но robots.txt — это всего лишь просьба. Робот может её выполнить или проигнорировать. Единственный способ остановить их — это фаервол.

Да, я понимаю это — но так как Dark Visitors работает только с robots.txt, я хочу, чтобы он функционировал как можно эффективнее.

(Сейчас я как раз читаю несколько постов, где вы предлагаете реальную блокировку через обратный прокси Nginx, но пока не уверен, нужно ли мне идти так далеко.)

Это немного чрезмерно. Однако Dark Visitor должен работать со списком запрещенных адресов Discourse, чтобы быть полезным на каком-то уровне. Конечно, в этом случае вам не нужно вручную добавлять, например, OpenAI или другие сервисы, которые следуют robots.txt.

Я обращался в Dark Visitors по этому поводу 3 мая этого года, и их ответ был: «На данный момент — нет». Однако я вижу, что в текущей документации перечислено ещё больше типов.

На данный момент следующие типы поддерживаются API Dark Visitors:

Я убедился, что настройку в Discourse можно расширить, добавив дополнительные типы агентов, просто указав их.

После добавления нового типа и сохранения настройки файл robots.txt должен обновиться сразу же со всеми новыми агентами.

1 лайк

Ого, я совсем пропустил поле «Поиск или создание». В моей теме там очень низкий контраст, и я его не заметил. Спасибо за разъяснение!