chore: sync from fn-registry agent

This commit is contained in:
fn-registry agent
2026-06-05 17:27:18 +02:00
commit 263547a497
6 changed files with 444 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
---
name: web_scraping
description: "Plataforma de control de navegador y automatización web sobre Chrome via CDP en Linux nativo. Base reutilizable para scraping, automatización de tareas web, descubrimiento de endpoints/APIs para pentesting y captura de tráfico."
tags: [scraping, browser, cdp, automation, pentesting, linux]
repo_url: ""
---
## Notas
Proyecto paraguas, de uso continuo, para todo lo relacionado con control de navegador y trabajo
sobre la web. No está atado a ningún dominio concreto: cualquier tarea de scraping, automatización
o reconocimiento web se hace y se capitaliza aquí. Construido 100% sobre Linux nativo (sin
dependencia de WSL/Windows). El control del navegador se hace con Chrome DevTools Protocol (CDP)
crudo a través de las funciones del dominio `browser` del registry, no con Playwright/Selenium.
### Para qué sirve
- **Web scraping**: extracción de datos de páginas y APIs, con o sin login, incluyendo SPAs.
- **Automatización web**: rellenar formularios, flujos multi-paso, tareas repetitivas en webapps.
- **Descubrimiento de endpoints (pentesting / recon)**: capturar el tráfico HTTP/WS que genera una
página (`cdp_har_record` + extensión mitm de `web_proxy`) para mapear las APIs reales que usa,
detectar endpoints ocultos y analizar peticiones.
- **Captura de tráfico**: interceptación y registro de flujos vía mitmproxy para análisis posterior.
- **Monitoreo / testing**: vigilar cambios en páginas, validar comportamiento, smoke de webs.
### Componentes
| Componente | Tipo | Estado | Qué hace |
|---|---|---|---|
| `script_navegador` | app (Go) | activo | Controlador de navegador: modo CLI rápido (comandos sueltos: open/click/type/eval/shot/tabs) + runner de scripts YAML. Compone funciones `cdp_*` del registry. |
| `web_proxy` | app (bash) | externo | Proxy de interceptación HTTP/HTTPS (mitmproxy). Vive en `apps/web_proxy`; provee la captura de tráfico que consume este proyecto. |
| vaults | datos | reservado | Datos extraídos por cada campaña (scrapes, HARs, listados, capturas). |
| analysis | exploración | reservado | Notebooks sobre los datos extraídos / capturados. |
### Filosofía
- **Registry-first**: toda capacidad reutilizable de navegador (lanzar Chrome, navegar, click,
type, screenshot, esperas inteligentes, captura HAR) vive en `functions/browser/` del registry.
La app solo orquesta: parsea comandos y compone funciones. Lo que sirva para una campaña sirve
para todas.
- **Esperas inteligentes siempre**: los scripts y comandos esperan condiciones reales del DOM
(readyState, selector presente, DOM estabilizado) en lugar de `sleep` ciegos. Ver
`CONVENTIONS.md`.
- **Linux nativo**: lanzamiento directo de `chromium`/`google-chrome` con `os/exec`, sin
`wslpath`, sin `chrome.exe`, sin proxies WSL↔Windows.
Las reglas operativas (tamaño de ventana, perfil del proyecto, headless, jitter, captura,
movimientos realistas, proxys rotativos, CDP en el navegador del usuario) están en
`CONVENTIONS.md`.