- 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 — внешние скрипты аналитики
26 lines
918 B
Python
26 lines
918 B
Python
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",
|
|
]
|