🏗 Фаза 1-4: Архитектура, ядро, проверки, API, генератор отчетов

- scanner/engine.py — Playwright-движок сканирования
- scanner/models.py — Pydantic модели
- scanner/checks/ — 5 проверок (cookie, privacy, forms, server, external)
- api/server.py — FastAPI REST API
- reports/generator.py — PDF через WeasyPrint + Jinja2
- main.py — CLI + сервер

Проверки:
✅ cookie_banner — поиск cookie-баннера
✅ privacy_link — проверка ссылки на политику
✅ form_checkbox — проверка чекбоксов согласия
✅ server_location — геолокация сервера (RФ или нет)
✅ external_scripts — внешние скрипты аналитики
This commit is contained in:
neo committed 2026-06-09 21:10:21 +05:00
commit de18090304
20 files changed
+1665

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
from scanner.checks.base import BaseCheck
from scanner.checks.cookie_banner import CookieBannerCheck
from scanner.checks.privacy_link import PrivacyLinkCheck
from scanner.checks.form_checkbox import FormCheckboxCheck
from scanner.checks.server_location import ServerLocationCheck
from scanner.checks.external_scripts import ExternalScriptsCheck
# Реестр всех проверок — новые проверки автоматически регистрируются здесь
ALL_CHECKS: dict[str, type[BaseCheck]] = {
"cookie_banner": CookieBannerCheck,
"privacy_link": PrivacyLinkCheck,
"form_checkbox": FormCheckboxCheck,
"server_location": ServerLocationCheck,
"external_scripts": ExternalScriptsCheck,
}
__all__ = [
"BaseCheck",
"CookieBannerCheck",
"PrivacyLinkCheck",
"FormCheckboxCheck",
"ServerLocationCheck",
"ExternalScriptsCheck",
"ALL_CHECKS",
]