Visitantes Oscuros

:information_source: Resumen Integra el servicio Dark Visitors con Discourse para llevar un registro de los rastreadores y scrapers no deseados que visitan tu foro.
:hammer_and_wrench: Enlace al Repositorio https://github.com/magicball-network/discourse-darkvisitors
:open_book: Guía de Instalación Cómo instalar plugins en Discourse

Características

Dark Visitors es un servicio que realiza un seguimiento de los agentes (rastreadores, scrapers y otros tipos de bots) que visitan tus sitios web. Su principal atención se centra en el análisis de agentes de IA.

Ofrece dos servicios:

  • Generación y monitorización de robots.txt
  • Analítica de agentes; tanto del lado del servidor como del lado del cliente

El servicio robots.txt es gratuito. Los servicios de analítica ofrecen un nivel gratuito. Te sugiero que visites su sitio web para obtener más información.

Este plugin de Discourse se conecta a todos estos servicios, todos ellos opcionales y configurables hasta cierto punto.

Generación de robots.txt

Discourse ya proporciona una opción para configurar el robots.txt. Este plugin lo amplía. Cuando está habilitado, el plugin recupera una lista de agentes en diferentes categorías (actualmente solo se admiten categorías de IA) y aquellos que faltan en los agentes ya configurados, los añadirá. La lista se actualizará diariamente. De esta manera, cuando se reconozca un nuevo scraper de IA, se añadirá a tu robots.txt.

Esta función solo funciona si Discourse gestiona el robots.txt y no lo has anulado manualmente. El plugin no cambia la configuración de Agentes de rastreo bloqueados, sino que aumenta el robots.txt con nuevos agentes que faltan. Por lo tanto, sigues teniendo el control total de la gestión de esta lista.

Cuando visites el robots.txt de tu sitio, verás un comentario inicial de la última actualización y el número de agentes devueltos por Dark Visitors. Los agentes que aún no están configurados se añaden al final de la lista. Deberían estar entre Googlebot y la directiva del sitemap (si está configurada).

Analítica de agentes

Tanto la analítica del lado del servidor como la del lado del cliente se pueden habilitar individualmente. Se puede habilitar para todos los visitantes o solo para los visitantes no autenticados.

La analítica del lado del servidor informa de las visitas rastreadas a Dark Visitors. Enviará la ruta de la solicitud, la dirección remota del visitante, la cabecera User-Agent y algunas cabeceras de navegador más.

Hay algunas configuraciones adicionales para las que se informan las solicitudes, consulta la configuración a continuación. Por defecto, solo se rastrean las solicitudes que Discourse marca para rastrear como vistas. Las siguientes solicitudes a Discourse nunca se informarán:

  • Solicitudes a la sección de Administración
  • Solicitudes en segundo plano y de API

La analítica del lado del cliente se maneja añadiendo Javascript a tu página, que se comunica con Dark Visitors bajo ciertas condiciones:

  • El navegador parece ser automatizado o un navegador de IA
  • El usuario provino de un servicio de chat de IA

Todas las solicitudes rastreadas cuentan para los eventos que afectan a tu plan de pago.

Configuración

Debes registrarte en Dark Visitors para poder usar este plugin. El nivel gratuito te da 1.000.000 de eventos al mes. Cuando se alcance ese límite, no verás eventos más recientes en su analítica, pero aún podrás enviar nueva información y seguir utilizando el servicio robots.txt.

Después de registrarte, debes crear un proyecto (es decir, un sitio para rastrear). Esto te proporcionará un token de acceso que es necesario para la funcionalidad de robots.txt y la analítica del lado del servidor.

Cuando habilites la funcionalidad de robots.txt, tardará un poco antes de que se actualice. Visita https://tusitio/robots.txt para ver si funciona. Debería tener un comentario en la parte superior

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

Cuando habilites la analítica del lado del servidor, puedes probar si funciona solicitando una visita de prueba desde la configuración del proyecto de Dark Visitor. Puede tardar unos segundos. Deberías ver el resultado en la página En tiempo real de Dark Visitors.

Configuración

Nombre Descripción
darkvisitors enabled Indicador global para habilitar todo el plugin
darkvisitors access token El token de acceso secreto necesario para robots.txt y la analítica del lado del servidor para comunicarse con Dark Visitors. Lo encontrarás en tu proyecto de Dark Visitor en configuración.
darkvisitors robots txt enabled Cuando está habilitado, el robots.txt de Discourse se aumentará con agentes adicionales
darkvisitors robots txt agents El tipo de agentes a añadir al robots.txt.
darkvisitors robots txt path La ruta a la que se debe denegar el acceso a los agentes. Probablemente sea mejor dejarlo en / para que se rechace el acceso a todo el sitio.
darkvisitors server analytics Habilita la analítica del lado del servidor. Recomiendo habilitarlo solo para usuarios anónimos.
darkvisitors server analytics include Solicitudes adicionales a rastrear. También puedes rastrear solicitudes a los archivos subidos, o incluso solicitudes de 404 No Encontrado.
darkvisitors server analytics ignore Subcadenas en los agentes de usuario a ignorar (distingue mayúsculas de minúsculas). Si utilizas monitorización de tiempo de actividad, te sugiero encarecidamente que incluyas su agente de usuario identificador en esta lista.
darkvisitors client analytics Habilita la analítica del lado del cliente. Esto también te dará información sobre los usuarios normales que visitan tu foro mientras provienen de un servicio de chat de IA.
darkvisitors client analytics project key Para la analítica del lado del cliente, debes configurar la clave de proyecto (pública). Puedes encontrarla en la configuración de tu proyecto de Dark Visitors en la sección JavaScript Tag, es el código después de project_key=
5 Me gusta

¡Gracias por esto, elmuerte! Lo he configurado y está funcionando muy bien.

Veo que en la configuración del plugin, los tipos de agente que se pueden seleccionar para exclusión a través de robots.txt son:

  • AI Data Scraper [seleccionado por defecto]
  • Undocumented AI Agent [seleccionado por defecto]
  • AI Agent
  • AI Assistant
  • AI Search Crawler

Pero la lista completa de tipos de agente de Dark Visitors es:
(negrita = adicional)

Crawlers y 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

No todos estos tipos de agente son cosas que uno querría bloquear, pero me gustaría incluir algunos como Scraper, AI Data Scraper, SEO Crawler…

¿Son estos tipos de agente adicionales simplemente más nuevos que tu plugin? ¿Podrían agregarse a las opciones de lista actuales en settings.yml?

Excepto que robots.txt es solo una solicitud. Un bot la sigue o no. El firewall es la única forma de detenerlos.

Sí, lo entiendo, pero dado que Dark Visitors solo funciona con robots.txt, me gustaría que funcionara lo mejor posible.

(De hecho, estoy leyendo un par de publicaciones en las que sugieres bloqueo real con un proxy inverso de Nginx, pero no estoy seguro de si necesito llegar tan lejos todavía).

[quote=“ToddZ, post:6, topic:365158”]sugieres bloqueo real con proxy inverso Nginx, pero no estoy seguro de si necesito llegar tan lejos todavía
[/quote]

Eso es un poco extremo. Pero Dark Visitor debería funcionar con la lista de bloqueo de Discourse para ser útil en algún nivel. Claro, con eso no necesitas añadir manualmente, por ejemplo, OpenAI o cualquier otro que siga robots.txt.

Contacté a Dark Visitors al respecto el 3 de mayo de este año, y su respuesta fue “Por el momento no”. Pero veo que la documentación actual enumera aún más tipos ahora.

En este momento, los siguientes tipos son compatibles con la API de Dark Visitors:

Me aseguré de que la configuración en Discourse se pueda extender con tipos de agentes adicionales simplemente agregándolos.

Después de agregar el nuevo tipo y guardar la configuración, el robots.txt debería actualizarse de inmediato con todos los nuevos agentes.

1 me gusta

¡OMG, me perdí por completo el campo “Buscar o crear”! Mi tema tiene un contraste muy bajo allí y se me escapó de la vista. ¡Gracias por la aclaración!