Sign inSign up

g00dvin/gekata

By g00dvin

•Updated 7 months ago

Gekata — extract domain from pages (API)

Image
Web analytics
0

1.3K

g00dvin/gekata repository overview

Gekata — HTTP‑API на Node.js для извлечения «связных доменов» с веб‑страниц с помощью безголового Chromium, предобработки редиректов и кэша в SQLite.

⁠Назначение

Gekata принимает домен или URL и возвращает финальный URL после редиректов, список связанных доменов из сетевых запросов страницы и цепочку навигационных редиректов, что полезно для анализа интеграций, трекеров и CDN.

⁠Быстрый старт (docker run)
⁠Запуск по умолчанию:

docker run --rm -p 3000:3000 g00dvin/gekata:latest

⁠С настройками и сохранением БД на хосте:

docker run --rm -p 3000:3000 -e CACHE_TTL_SECONDS=21600 -e MAX_REDIRECT_STEPS=20 -v \$(pwd)/data:/app -e SQLITE_PATH=/app/cache.db g00dvin/gekata:latest

⁠Проверка:

curl -s http://localhost:3000/health

curl -s "http://localhost:3000/domains?domain=forum.xda-developers.com"

⁠Docker Compose
version: "3.9"
services:
  gekata:
    image: g00dvin/gekata:latest
    container_name: gekata
    ports:
      - "3000:3000"
    environment:
      - PORT=3000
      - CHROMIUM_PATH=/usr/bin/chromium
      - CACHE_TTL_SECONDS=21600
      - MAX_REDIRECT_STEPS=20
      - HARD_TIMEOUT_MS=70000
      - NAV_TIMEOUT_MS=30000
      - QUIET_WINDOW_MS=700
      - DEBUG=0
      - SQLITE_PATH=/app/cache.db
   volumes:
      - ./data:/app
   restart: unless-stopped

Команды:

- `docker compose up -d`
- `docker compose logs -f gekata`
⁠Переменные окружения
  • PORT: порт HTTP‑сервера, по умолчанию 3000.
  • CHROMIUM_PATH: путь к системному Chromium в контейнере, по умолчанию /usr/bin/chromium.
  • CACHE_TTL_SECONDS: срок жизни кэша в секундах (по умолчанию 21600 — 6 часов).
  • HARD_TIMEOUT_MS: жёсткий таймаут ответа API, по умолчанию 70000.
  • MAX_REDIRECT_STEPS: максимальная глубина редиректов документной навигации, по умолчанию 20.
  • NAV_TIMEOUT_MS: таймаут первичной навигации страницы, по умолчанию 30000.
  • QUIET_WINDOW_MS: «тихое окно» сети для завершения сбора доменов, по умолчанию 700.
  • DEBUG: подробные логи страницы/сетевых событий при значении 1 (по умолчанию 0).
  • SQLITE_PATH: путь к файлу кэша SQLite внутри контейнера (по умолчанию ./cache.db в рабочем каталоге приложения).
⁠API
  • GET /domains?domain=<host_or_url> — возвращает finalUrl, relatedDomains[], redirectChain[], статусы и метаданные кэша.
  • GET /health — проверка готовности.
⁠Репозиторий

Tag summary

Content type

Image

Digest

sha256:7d10916b0…

Size

690.6 MB

Last updated

7 months ago

docker pull g00dvin/gekata