Chismógrafo Logo

Docs de Desarrollo & Rule Studio 💻

Guía y laboratorio para los nerds y hackers del Chismógrafo 🤓

🧪 Creador y Probador de Reglas de Detección

Diseña, prueba en vivo y genera firmas JSON con reglas (detectionRules) para detectar cualquier tecnología en la web.

Plantillas rápidas:

📋 Reglas de Coincidencia (detectionRules)

Define qué patrones Regex buscar en meta tags, scripts, cabeceras o DOM.

(Desactiva para usar Regex avanzado)

🕵️ Probador / Simulador en Vivo

Evalúa las reglas actuales contra una URL real o ingresa código HTML/Headers manualmente.

💾 Firma JSON Resultante

Copia esta firma para agregarla a techs/cms/, techs/apps/, techs/gateways/ o techs/infra/.

💡 ¿Cómo enviar tu regla? Al hacer clic en Enviar vía GitHub PR, te redirigiremos a GitHub. Inicia sesión (o regístrate gratis) y se abrirá el editor con tu regla lista. Haz clic en "Propose new file" y ¡listo! Habrás contribuido al Chismógrafo.
{}

🛠️ Arquitectura y Setup

Instrucciones para correr el Chismógrafo en tu máquina.

Requisitos

  • Node.js (v18+)
  • npm o yarn

Instalación

git clone https://github.com/RifatelaMX/Chismografo.git
cd Scrapper
npm install
npm run dev

💻 CLI Chismógrafo

Cómo usar la consola para sacar chismes.

# Vincular comando localmente
npm link

# Escanear dominio
chismografo test-domain shopify.com

# Escanear con atributo específico
chismografo test-domain shopify.com --attr cms

# Asistente interactivo
chismografo add-cms
chismografo add-app
chismografo add-infra

🌐 API REST del Chismógrafo

Descargar OpenAPI Spec (v3.0.3)

Documentación completa de los endpoints de detección en tiempo real, gestión de capturas de pantalla y catálogo CRUD de tecnologías con soporte para planes de precios.

📸 Capturas de Pantalla (Screenshots)

GET /api/screenshots

Obtiene las capturas de un sitio web. Parámetro device=desktop o device=mobile opcional; si se omite, devuelve ambas capturas en un objeto.

# Obtener ambas capturas (Desktop y Móvil)
curl "http://localhost:3000/api/screenshots?url=shopify.com"

# Obtener únicamente versión móvil
curl "http://localhost:3000/api/screenshots?url=shopify.com&device=mobile"
POST /api/screenshots

Genera y guarda nuevas capturas de pantalla para una URL.

curl -X POST -H "Content-Type: application/json" -d '{"url": "shopify.com", "device": "desktop"}' http://localhost:3000/api/screenshots
PUT PATCH /api/screenshots

Fuerza la regeneración y reemplazo de las capturas existentes de un dominio.

curl -X PUT -H "Content-Type: application/json" -d '{"url": "shopify.com"}' http://localhost:3000/api/screenshots
DELETE /api/screenshots

Elimina del servidor los archivos de captura asociados al dominio.

curl -X DELETE "http://localhost:3000/api/screenshots?url=shopify.com"

📦 Catálogo de Tecnologías (CRUD & Planes de Precios)

Endpoints disponibles para las colecciones: /api/techs/apps, /api/techs/cms, /api/techs/infra, /api/techs/pixels y /api/techs/gateways.

GET /api/techs/{apps|cms|infra|pixels|gateways}

Listar elementos con soporte de filtrado por categoría y paginación (por defecto 5 elementos por página).

# Listar primeras 5 aplicaciones (página 1 por defecto)
curl "http://localhost:3000/api/techs/apps?limit=5&page=1"

# Filtrar por categoría
curl "http://localhost:3000/api/techs/apps?category=Anal%C3%ADtica&limit=10"
GET /api/techs/{coleccion}/{id}

Obtiene el expediente completo de una tecnología mediante su ID único en formato slug (kebab-case).

curl "http://localhost:3000/api/techs/apps/microsoft-clarity"
curl "http://localhost:3000/api/techs/cms/shopify"
POST /api/techs/{coleccion}

Crea una nueva tecnología en el catálogo incluyendo identificador único, planes de precios múltiples y reglas de detección.

curl -X POST -H "Content-Type: application/json" -d '{
  "name": "Mi App Nueva",
  "developer": "Mi Empresa",
  "category": "Analítica",
  "precios": [
    {
      "id": 1,
      "plan": "Demo",
      "precio": 1.00,
      "moneda": "USD"
    },
    {
      "id": 2,
      "plan": "Pro",
      "precio": 29.00,
      "moneda": "USD"
    }
  ],
  "detectionRules": [
    {
      "type": "script-src",
      "pattern": "mi-app\\.js",
      "description": "Script detectado"
    }
  ]
}' http://localhost:3000/api/techs/apps
PUT PATCH /api/techs/{coleccion}/{id}

Actualiza de forma completa (PUT) o parcial (PATCH) la información, precios o reglas de una tecnología.

curl -X PATCH -H "Content-Type: application/json" -d '{
  "precios": [
    {
      "id": 1,
      "plan": "Free Tier",
      "precio": 0.00,
      "moneda": "USD"
    }
  ]
}' http://localhost:3000/api/techs/apps/mi-app-nueva
DELETE /api/techs/{coleccion}/{id}

Elimina la tecnología del catálogo y del sistema de archivos, sincronizando el índice en caliente.

curl -X DELETE "http://localhost:3000/api/techs/apps/mi-app-nueva"

🕵️ Detección en Tiempo Real & Reglas

POST GET /api/detect

Escanea un sitio web completo identificando CMS, plugins, pasarelas, píxeles, CDN, geolocalización y velocidad Lighthouse.

curl "http://localhost:3000/api/detect?url=shopify.com"
curl -X POST -H "Content-Type: application/json" -d '{"url": "shopify.com"}' http://localhost:3000/api/detect
POST /api/rules/test

Evalúa un lote de reglas de detección (detectionRules) contra una URL o código HTML en vivo.

curl -X POST -H "Content-Type: application/json" -d '{"url": "shopify.com", "detectionRules": [{"type": "meta", "key": "generator", "pattern": "shopify"}]}' http://localhost:3000/api/rules/test
POST /api/pagespeed

Lanza auditoría móvil de velocidad, accesibilidad y SEO vía Google PageSpeed Insights.

curl -X POST -H "Content-Type: application/json" -d '{"url": "shopify.com"}' http://localhost:3000/api/pagespeed
OPTIONS /api/*

Respuesta preflight CORS automática con código HTTP 204 y cabeceras permitidas (GET, POST, PUT, DELETE, OPTIONS, PATCH, HEAD).

🔎 Mete el buscador de chismes

Deja que los visitantes de tu web espíen a cualquier tienda con este buscador bien chido 💅

👀 Así se ve
✨ Opción A: Mini buscador
<iframe src="https://chismografo.rifatela.lol/search-widget.html" width="100%" height="480" style="border:1px solid rgba(255,255,255,0.1); border-radius:12px; background:#000;"></iframe>

Un buscador compacto y livianito, ¡perfecto para incrustar! 🪶

🌟 Opción B: Dashboard completo
<iframe src="https://chismografo.rifatela.lol/?embed=true" width="100%" height="700" style="border:1px solid rgba(255,255,255,0.1); border-radius:12px; background:#000;"></iframe>

El dashboard completo con mapas, gráficas y capturas. Usa ?embed=true pa' que se vea sin header 😎

📚 Directorio de Herramientas

Catálogo de tecnologías y sus reglas de detección ordenadas alfabéticamente por categoría.

Cargando directorio...