🏗 Фаза 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:
commit
de18090304
20 files changed
+1665
No files matched your search
@@ -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",
|
||||
]
|
||||
Reference in new issue
Block a user