Commit Graph
37 Commits
Author SHA1 Message Date
DenozordecandCursor c5069fbdaf feat(api, web): add Linux nft destination port hits for blocked IPs
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m59s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Track tcp/udp dports via deny_port_hits, expose aggregate and per-IP ports in UI; install-link re-run refreshes nft rules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 00:33:03 +07:00
Denozordec 402182195f feat(api, test, web): enhance IP hit tracking and reset logic for agents
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 2m26s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Implemented a reset mechanism for per-IP baselines in the agent routes, ensuring accurate tracking after policy application.
- Updated tests to simulate traffic flush scenarios, verifying that IP hit statistics reset correctly and accumulate as expected.
- Modified the UI to reflect changes in terminology from "Sync windows" to "Hits" for better clarity in agent details.
- Enhanced documentation to explain the new behavior of IP hit tracking and baseline resets, improving user understanding.

These changes improve the accuracy and usability of IP hit tracking for agents, particularly in scenarios involving policy changes.
2026-08-07 15:44:27 +07:00
Denozordec ee3429b747 feat(api, web): enhance MikroTik integration and IP hit tracking
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m54s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated the `evofw-firewall.sh` script to improve the handling of NFT sets, ensuring compatibility with kernel limitations on counters and enhancing logging for better diagnostics.
- Introduced a new presence mode for MikroTik, allowing for real-time tracking of IP hits with updated last seen timestamps and packet counts.
- Enhanced the API to support the new presence mode, updating the database interactions to reflect the changes in how IP hits are recorded.
- Updated the agent detail view to display sync windows for MikroTik, providing clearer insights into blocked IPs and their activity.
- Improved documentation to reflect the new features and changes in the MikroTik handling process, ensuring clarity for users and developers.

These changes significantly enhance the monitoring capabilities and user experience for agents, particularly those using MikroTik devices.
2026-08-07 14:46:06 +07:00
Denozordec 4ee78032c4 feat(api, web): implement per-IP blocked stats for agents
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m51s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Added functionality to report per-IP drop counters in the `evofw-firewall.sh` script, capturing the top 200 IPs with packet counts.
- Introduced new API endpoints to retrieve blocked IP statistics and reset these stats for agents, enhancing monitoring capabilities.
- Updated the agent detail view to display blocked IPs, improving user visibility into agent performance.
- Enhanced database schema and repositories to support the storage and management of IP block statistics.

These changes provide a comprehensive view of blocked IPs, improving the overall management and monitoring of agents.
2026-08-07 14:15:10 +07:00
Denozordec f160992d94 feat(api, web): enhance agent management and linting capabilities
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 2m17s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Added a new linting command for OpenAPI specifications in the package.json, improving code quality checks.
- Updated frontend documentation to clarify component usage and structure, including detailed descriptions for `SettingsShell` and `Auth callback`.
- Refactored agent-related API routes to streamline control-plane functionalities, consolidating multiple routes for better organization.
- Improved error handling in the API to provide more informative responses for validation errors, enhancing user feedback during interactions.

These changes enhance the overall development experience and improve the management of agents within the application.
2026-07-30 14:13:05 +07:00
Denozordec fb95ef22b3 feat(web): add delete functionality to agent components
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m59s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Introduced delete functionality across multiple agent components, including AgentCard, AgentCardsGrid, AgentDetailSheet, and AgentDetailView, allowing users to remove agents directly from the UI.
- Integrated a confirmation dialog to prevent accidental deletions, enhancing user experience and safety.
- Updated relevant props and handlers to manage delete actions consistently across components.

These changes improve the overall management of agents, providing users with the ability to easily delete agents while ensuring confirmation for critical actions.
2026-07-25 16:59:05 +07:00
Denozordec 69e903aa1b feat(api, web): enhance agent traffic statistics and update installation scripts
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 2m26s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Improved the collection and reporting of agent traffic statistics, including total packets dropped and accepted, to provide a more comprehensive view of agent performance.
- Updated the `evofw-firewall.sh` script to capture and report traffic statistics before chain recreation, ensuring accurate data retention.
- Enhanced the installation script to support updates on already-installed agents, allowing for script and timer refresh without re-enrollment, while preserving existing credentials.
- Refactored UI components to utilize new traffic statistics, improving clarity and user experience in displaying agent performance metrics.

These changes enhance the overall functionality and usability of the agent management system, providing better insights and easier updates for users.
2026-07-23 19:47:17 +07:00
Denozordec 1b7d301153 feat(api, web): add agent stats reset functionality and enhance UI components
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m57s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Implemented a new API endpoint to reset agent statistics, allowing for better management of agent performance data.
- Updated the AgentCard component to display traffic statistics in a consolidated format, improving clarity for users.
- Enhanced the AgentDetailView to include a button for resetting agent stats, providing a direct action for users.
- Refactored the AgentFleetDataGrid to show combined traffic metrics, streamlining data presentation.
- Added a utility function to delete stats samples for agents in the database, ensuring data integrity.

These changes improve the user experience by providing more intuitive controls and clearer data representation for agent statistics.
2026-07-23 19:20:15 +07:00
Denozordec 19a9540555 feat(web): refactor agent detail and agents page for improved navigation and layout
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m53s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated the AgentDetailSheet component to enhance layout and integrate a new detail view for agents, improving user experience.
- Refactored the agents page to support a toggle between card and table views, allowing for better organization and accessibility of agent information.
- Adjusted routing for agent links to utilize search parameters, streamlining navigation to specific agent details.
- Removed unused imports and optimized component structure for better maintainability.

These changes contribute to a more intuitive and user-friendly interface across the application.
2026-07-23 12:14:46 +07:00
Denozordec 3058704585 feat(web): refine spacing and layout in frame component and agents page
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m39s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Enhanced vertical rhythm in the frame component by adjusting padding values for header, content, and footer, ensuring consistent alignment and improved readability.
- Updated the agents page to incorporate a new tab structure for better organization of agent statuses, along with a refined search and filter functionality to enhance user experience.
- Removed unused imports and streamlined the code for better maintainability and performance.

These changes contribute to a more cohesive and user-friendly interface across the application.
2026-07-23 11:58:41 +07:00
Denozordec d8567205e2 feat(api, web): enhance policy rule handling with list name integration
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m57s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated the `sourceMeta` function to accept a database parameter, allowing for dynamic retrieval of list names based on list IDs.
- Modified the `ruleTarget` and `ruleSubtitle` functions to utilize the new list name mapping, improving the readability of policy rules in the UI.
- Introduced memoization for list names in the `PolicySetDetailPage`, optimizing performance and ensuring accurate display of list names in the policy rules sortable component.

These changes enhance the user experience by providing clearer and more informative labels for policy rules, facilitating better understanding and management of policies.
2026-07-23 11:46:51 +07:00
Denozordec fac2ed4d2d feat(api, web): enhance EvoBGP community handling and UI integration
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m42s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Introduced a new function to resolve EvoBGP community IDs, allowing for better handling of legacy labels and UUIDs.
- Updated `fetchEvobgpCommunity` to return both resolved community IDs and CIDRs, improving data retrieval.
- Enhanced the ListsPage component to manage community IDs separately from user input, ensuring accurate configuration during list creation.
- Updated documentation to reflect changes in community ID resolution and integration with the UI.

This update improves the user experience by ensuring that community IDs are correctly resolved and stored, facilitating smoother interactions with the EvoBGP API.
2026-07-23 11:30:56 +07:00
Denozordec 1f7273f38d feat(api): unify policy handling with default action updates
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m53s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated `evofw-firewall.sh` and related scripts to replace `policy_mode` with `default_action`, enhancing clarity and consistency in policy management.
- Adjusted agent routes and evaluation logic to accommodate the new default action structure, ensuring backward compatibility with legacy modes.
- Enhanced tests to validate the new default action behavior and its integration within the agent policy framework.
- Refactored related components in the web interface to align with the updated policy handling, improving user experience and reducing confusion around policy modes.
2026-07-23 10:52:28 +07:00
DenozordecandCursor a6eb21a10d fix(web): уплотнить таблицу агентов — fill вместо pin
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m42s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Убрано right-pin (тёмный блок и разрыв), лишняя ширина уходит в fill-колонку ReUI DataGrid.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 02:01:52 +07:00
Denozordec 817f0af191 feat(web): enhance ResourcePage and AgentsPage with table layout and column pinning
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 2m0s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated ResourcePage to support customizable table layout and column pinning, improving data presentation and user interaction.
- Introduced a new `formatAgentSeen` function in AgentsPage for better date formatting of agent last seen timestamps.
- Adjusted column sizes and added min/max size constraints for various columns in AgentsPage to enhance layout consistency.
- Enhanced the tooltip functionality for displaying agent last seen timestamps, improving user experience.
2026-07-22 01:40:39 +07:00
DenozordecandCursor 919c1d0f95 refactor(web): simplify AddAgentSheet by removing Stepper and updating layout
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m39s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Removed the Stepper component from AddAgentSheet, transitioning to a single form layout for agent creation.
- Updated the component's description and adjusted the UI elements for improved clarity and user experience.
- Enhanced the input fields and layout to streamline the agent installation invite process.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 04:18:38 +07:00
DenozordecandCursor d862899bba refactor(web): replace StepperDescription with paragraph elements in AddAgentSheet
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m52s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated the AddAgentSheet component to replace StepperDescription with paragraph elements for improved styling and consistency.
- Adjusted text classes to enhance visual presentation of agent selection instructions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 04:10:45 +07:00
DenozordecandCursor 33d301b191 feat(web): enhance quick action grid and resource page with search functionality
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m50s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated QuickActionItem interface to support optional `onSelect` handler and `badgeLabel`.
- Refactored QuickActionGrid to conditionally render links or buttons based on the presence of a `to` property.
- Introduced search functionality in ResourcePage, allowing users to filter items based on a search query.
- Added search input to the ResourcePage toolbar, improving user experience for data management.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 04:03:32 +07:00
DenozordecandCursor 0653313a57 feat(web): Agents ops console по ReUI Solutions Agents
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 2m15s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
KPI/Chart/Attention на списке, Stepper wizard, Timeline и Install на detail; breadcrumb loader.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 03:35:10 +07:00
DenozordecandCursor 41e4ca1410 feat(web): Lists/Rules UX parity с Агентами и правило kpi-hybrid
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m50s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Hybrid row icons, row click, icon actions; DetailPanel header; ToggleGroup режима фильтра (settings-3).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 02:36:09 +07:00
DenozordecandCursor 90d50c2556 feat(api, web): implement policy mode management for agents and rules
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m46s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Added support for policy modes ('blacklist' and 'whitelist') in agent and policy set management.
- Updated API endpoints to handle policy mode during agent assignment and rule operations.
- Enhanced the web UI to display and manage policy modes for agents and rules, ensuring all assigned sets share a consistent mode.
- Introduced new validation to enforce single policy mode across assigned sets for agents.
- Improved error handling for policy mode conflicts and updated documentation accordingly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 02:16:51 +07:00
DenozordecandCursor d5784b9f35 feat(api, web): enhance agent installation process with invited status and policy support
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m48s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated the agent enrollment process to include an 'invited' status, allowing for better tracking of agent states.
- Implemented support for install links that can now include an `install_link_id`, facilitating the transition from invited to pending status upon enrollment.
- Enhanced the MikroTik installation script to include the `EvofwInstallLinkId` for better tracking and management.
- Added new API endpoints for fetching agent policies and serving MikroTik-specific installation scripts.
- Improved the web UI to reflect the new agent statuses and provide copyable installation commands for agents.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 01:45:38 +07:00
DenozordecandCursor ef56da4d91 feat(api, web): implement short install link functionality for agents
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m37s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Added new API endpoints for creating, retrieving, and revoking install links for agents.
- Enhanced the agent installation process with short links accessible via `/agent-install/:id` and `/:slug`.
- Updated the README and documentation to reflect the new installation method and usage instructions.
- Refactored relevant components in the web application to support the new install link feature.
- Improved error handling and validation for install link operations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 01:25:05 +07:00
Denozordec 14f516d5cc feat(web): refactor list selection components for improved maintainability
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m53s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Introduced constants for selection items in both list detail and lists pages to enhance code readability and maintainability.
- Updated the Select components to utilize the new constants, streamlining the rendering of options for 'add mode' and 'create source'.
- Improved user experience by ensuring consistent labeling and structure across selection interfaces.
2026-07-21 01:06:59 +07:00
DenozordecandCursor 70bee59fc6 feat(web): update list entry management and UI labels
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m38s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Changed label for 'list' to 'Вложенный список' in status badge and list entry management.
- Refactored list entry handling to support new 'plaintext' and 'nested' modes for adding entries.
- Enhanced user experience by auto-detecting entry types and improving placeholder text.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:58:07 +07:00
DenozordecandCursor 8aa265b1c8 feat(web): enhance lists UI and functionality
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m42s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated Toaster component to support rich colors and position.
- Added breadcrumb navigation for list detail pages.
- Removed deprecated ListsCatalog component to streamline the codebase.
- Refactored list detail page to improve entry management and user experience.
- Enhanced filtering and navigation features in the lists overview.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:50:16 +07:00
DenozordecandCursor c40eff8a01 feat(web): NavUser chrome и унификация ReUI PRO kit
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m38s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Тема в NavUser вместо ModeToggle в header; KpiStatGrid/QuickActionGrid по эталону EvoBGP; обновлены rules и contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 00:23:04 +07:00
DenozordecandCursor af4c0303cb fix(web): KPI в DetailPanel через KpiStatGrid hybrid (stats-12)
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m36s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Отдельные карточки с icon tile, крупным value и Badge hint — как на дашборде. Списки, агенты, правила.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 23:44:44 +07:00
DenozordecandCursor 35051babb5 feat(web): уплотнить UI списков по ReUI PRO (list-9 + stats-7)
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m53s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Каталог слева — Frame/Item вместо тяжёлого ResourcePage; KPI детали — одна полоса stats-7; Sheet с ScrollArea и sticky footer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 23:41:45 +07:00
DenozordecandCursor c505ab82e8 feat(api, web): enhance list entry management and UI consistency
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m57s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Updated API to support structured list entry inputs, allowing for nested list references.
- Improved error handling for list operations to prevent cyclic references.
- Refactored UI components to ensure consistent labeling and navigation for IP lists.
- Enhanced list detail and catalog pages with better filtering and entry management features.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 23:25:05 +07:00
DenozordecandCursor 3f7672ab7c feat(api): enhance IP list management with new entry operations and improved error handling
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m50s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Added endpoints for adding and deleting entries in IP lists.
- Refactored list creation logic to handle manual list types more effectively.
- Updated refresh logic to rebuild manual list entries.
- Improved error handling for entry operations to ensure data integrity.
- Enhanced response structure for list detail retrieval.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 23:01:23 +07:00
DenozordecandCursor 7f0c1009de fix(web): открытие detail-роутов и паритет ReUI DataGrid с EvoBGP/CFDM
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m52s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Sibling routes index+$id, ColumnHeader/PrimaryCell/StatusBadge/ConfirmDialog, tabs и таблица entries списков.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 22:40:48 +07:00
DenozordecandCursor 0bed4367c7 feat(policy): именованные наборы правил с DNS и M:N привязкой к агентам
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m44s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Правила живут в policy_sets; evaluate мержит назначенные наборы; источник list|CIDR|hostname с кэшем DNS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 22:11:03 +07:00
DenozordecandCursor cad05659b1 fix(web): выровнять sheets и header chrome с CFDM/EvoBGP
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m42s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
Убрать растягивание полей в sheet (auto-rows-min + Field), footer в ряд; SystemMonitor pill; дашборд без DataGrid.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 21:46:40 +07:00
DenozordecandCursor 9ff1af849e feat: update dependencies and enhance UI components
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 2m7s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
- Added new dependencies for drag-and-drop functionality with @dnd-kit packages.
- Updated package versions for @tanstack/react-virtual and date-fns.
- Refactored AppShell component to utilize AppSidebar and SiteHeader for improved layout.
- Enhanced Frame component with new theming capabilities and improved structure.
- Introduced filtering capabilities in Agents and Lists pages with new UI elements.
- Added new utility functions for authentication claims management.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 21:04:02 +07:00
DenozordecandCursor ebadf70e2b feat: реализовать EvoFirewall V1 control plane
Build and Push EvoFirewall Docker Image / build-and-push (push) Failing after 25s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
API, UI, Linux/MikroTik agents, IP lists, политики, stats, CI и интеграция с auth-portal/EvoBGP.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 19:50:54 +07:00
Denozordec d71b45d86f Init commit 2026-07-20 19:28:56 +07:00