Denozordec ef2a333430
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m56s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
feat(api): enhance host firewall handling and validation
- 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.
2026-08-15 13:27:49 +07:00
2026-07-20 19:28:56 +07:00
2026-07-20 19:28:56 +07:00
2026-07-20 19:28:56 +07:00
2026-07-20 19:28:56 +07:00
2026-07-20 19:28:56 +07:00

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 Frame
  • apps/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
S
Description
No description provided
Readme
1.1 MiB
v1.0.0
Latest
2026-08-19 00:09:25 +07:00
Languages
TypeScript 93.2%
Shell 4.7%
RouterOS Script 1%
CSS 0.5%
HCL 0.2%
Other 0.4%