ef2a3334300ddc8ae2629b8fcc9ceca70a377f7b
- Introduced a new `sanitizeHostFirewall` function to filter and validate host firewall rules and listeners, ensuring only valid entries are processed. - Updated the `apply-report` endpoint to prevent overwriting existing host firewall snapshots with empty payloads, improving data integrity. - Enhanced the `applyReportHostFirewallSchema` to define the expected structure for host firewall data, allowing for better validation and error handling. - Added tests to verify the behavior of the new sanitization logic and the preservation of existing snapshots, ensuring robustness in the API's handling of firewall data. These changes improve the reliability and accuracy of host firewall data management within the API, enhancing overall monitoring capabilities.
EvoFirewall
Централизованный firewall controller: Linux / MikroTik agents, IP lists, allow/deny политики, статистика.
Интеграции: auth-portal (SSO, app id fw), EvoBGP (источник префиксов).
Стек
- Monorepo: pnpm workspaces + turbo
apps/web— Vite + React + TanStack + shadcn/ui + ReUI Frameapps/api— Fastify 5 + Drizzle + SQLite- Packages:
@evofw/ui,@evofw/shared,@evofw/db
Быстрый старт
pnpm install
cp .env.example .env
pnpm --filter @evofw/db build
pnpm --filter @evofw/shared build
pnpm --filter @evofw/api dev # :8080
pnpm --filter @evofw/web dev # :5177
Linux agent (short link из UI /agents → Добавить агента):
curl -fsSL http://localhost:8080/agent-install/<id> | bash
# или:
curl -fsSL http://localhost:8080/<slug> | bash
Legacy one-liner:
curl -fsSL http://localhost:8080/v1/agent/install.sh | \
EVOFW_CP_URL=http://localhost:8080 \
EVOFW_SEED=dev-enroll-seed-change-me \
EVOFW_CLIENT_NAME="web-01" \
bash
Затем Approve в UI /agents.
Docs
См. docs/README.md.
Git
origin https://git.shts.su/denozord/EvoFirewall.git