Commit Graph

199 Commits

Author SHA1 Message Date
GitHub Actions
336000ca5b feat: Add validation and error handling for notification templates and uptime handlers
- Implement tests for invalid JSON input in notification template creation, update, and preview endpoints.
- Enhance uptime handler tests to cover sync success and error scenarios for delete and list operations.
- Update routes to include backup service in certificate handler initialization.
- Introduce certificate usage check before deletion in the certificate service, preventing deletion of certificates in use.
- Update certificate service tests to validate new behavior regarding certificate deletion.
- Add new tests for security service to verify break glass token generation and validation.
- Enhance frontend certificate list component to prevent deletion of certificates in use and ensure proper backup creation.
- Create unit tests for the CertificateList component to validate deletion logic and error handling.
2025-12-03 04:55:29 +00:00
GitHub Actions
9dcfd9fe74 feat: Improve type safety in security API calls and update test cases for SSL badge rendering 2025-12-03 00:55:32 +00:00
GitHub Actions
cd900e2495 feat: Add path verification instructions and constraints to agent workflows 2025-12-02 22:30:05 +00:00
GitHub Actions
078b5803e6 feat: Add CheckMonitor functionality to trigger immediate health checks for uptime monitors 2025-12-02 22:08:58 +00:00
GitHub Actions
355992e665 refactor: update verification and testing commands for clarity and consistency 2025-12-02 22:08:51 +00:00
GitHub Actions
a1b4f006aa fix: update SSL certificate selection options and descriptions for clarity 2025-12-02 21:19:28 +00:00
GitHub Actions
a4e65ff0fa refactor(coverage): remove module-specific frontend coverage checks 2025-12-02 05:23:36 +00:00
GitHub Actions
d89dd8fc0c fix(tests): exclude e2e directory from Vitest to prevent Playwright conflicts 2025-12-02 04:16:52 +00:00
GitHub Actions
34347b1ff5 Refactor uptime service and tests; add WAF configuration UI and e2e tests
- Refactored `SyncMonitors` method in `uptime_service.go` for better readability.
- Updated unit tests for `UptimeService` to ensure proper functionality.
- Introduced Playwright configuration for end-to-end testing.
- Added e2e tests for WAF blocking and monitoring functionality.
- Enhanced the Security page to include WAF mode and rule set selection.
- Implemented tests for WAF configuration changes and validation.
- Created a `.last-run.json` file to store test results.
2025-12-02 02:51:50 +00:00
GitHub Actions
44c4d955f5 feat(security): add WAF configuration page with rule set management and tests 2025-12-02 01:53:28 +00:00
GitHub Actions
b0a4d75a2a Refactor security configuration: Remove external CrowdSec mode support
- Updated SecurityConfig model to only support 'local' or 'disabled' modes for CrowdSec.
- Modified related logic in the manager and services to reject external mode.
- Adjusted tests to validate the new restrictions on CrowdSec modes.
- Updated frontend components to remove references to external mode and provide appropriate user feedback.
- Enhanced documentation to reflect the removal of external CrowdSec mode support.
2025-12-01 19:43:45 +00:00
GitHub Actions
570d904019 feat(security): implement decision and ruleset management with logging and retrieval 2025-12-01 18:23:15 +00:00
GitHub Actions
53765afd35 feat(security): implement self-lockout protection and admin whitelist
- Added SecurityConfig model to manage Cerberus settings including admin whitelist and break-glass token.
- Introduced SecurityService for handling security configurations and token generation.
- Updated Manager to check for admin whitelist before applying configurations to prevent accidental lockouts.
- Enhanced frontend with hooks and API calls for managing security settings and generating break-glass tokens.
- Updated documentation to include self-lockout protection measures and best practices for using Cerberus.
2025-12-01 18:10:58 +00:00
GitHub Actions
d341879ff4 ci(docker): use step outputs for REGISTRY_PASSWORD in docker-publish workflow 2025-12-01 16:22:21 +00:00
GitHub Actions
17c1751e9c feat: enhance Security page functionality and update tests for CrowdSec integration 2025-12-01 16:22:21 +00:00
GitHub Actions
5dfa3da753 feat: add nested routes under Security for improved navigation 2025-12-01 16:22:21 +00:00
GitHub Actions
90d85def7c feat: enhance Security menu with sub-items for better navigation 2025-12-01 16:22:21 +00:00
GitHub Actions
7391da62bc fix: update link to access lists in AccessListSelector component 2025-12-01 16:22:21 +00:00
GitHub Actions
b2bcbe86bb feat: display CrowdSec status on Security page and add tests for start/stop functionality 2025-12-01 16:22:21 +00:00
GitHub Actions
2300925901 feat: integrate CrowdSec start/stop functionality and fetch status in Security page 2025-12-01 16:22:21 +00:00
GitHub Actions
41f68bdbdb refactor: remove CrowdSec control from SystemSettings page; move to Security page 2025-12-01 16:22:21 +00:00
GitHub Actions
d789ee85e5 feat: Add CrowdSec configuration management and export functionality
- Implemented CrowdSec configuration page with import/export capabilities.
- Added API endpoints for exporting, importing, listing, reading, and writing CrowdSec configuration files.
- Enhanced security handler to support runtime overrides for CrowdSec mode and API URL.
- Updated frontend components to include CrowdSec settings in the UI.
- Added tests for CrowdSec configuration management and security handler behavior.
- Improved user experience with toast notifications for successful operations and error handling.
2025-12-01 16:22:21 +00:00
GitHub Actions
1244041bd7 feat: update routing for ImportCaddy and enhance navigation type safety; add test for Uptime pause button 2025-12-01 16:22:21 +00:00
GitHub Actions
215c2fe478 feat: add ImportCrowdSec page and integrate with backup functionality; refactor navigation structure 2025-12-01 16:22:21 +00:00
GitHub Actions
92697ec5ec test: add unit tests for Uptime page and setup API 2025-12-01 16:22:21 +00:00
GitHub Actions
224a53975d feat(tests): add comprehensive tests for ProxyHosts and Uptime components
- Introduced isolated coverage tests for ProxyHosts with various scenarios including rendering, bulk apply, and link behavior.
- Enhanced existing ProxyHosts coverage tests to include additional assertions and error handling.
- Added tests for Uptime component to verify rendering and monitoring toggling functionality.
- Created utility functions for setting labels and help texts related to proxy host settings.
- Implemented bulk settings application logic with progress tracking and error handling.
- Added toast utility tests to ensure callback functionality and ID incrementing.
- Improved type safety in test files by using appropriate TypeScript types.
2025-12-01 16:22:21 +00:00
GitHub Actions
83afbbf1fc feat: Add CrowdSec management endpoints and feature flags handler
- Implemented CrowdSec process management with start, stop, and status endpoints.
- Added import functionality for CrowdSec configuration files with backup support.
- Introduced a new FeatureFlagsHandler to manage feature flags with database and environment variable fallback.
- Created tests for CrowdSec handler and feature flags handler.
- Updated routes to include new feature flags and CrowdSec management endpoints.
- Enhanced import handler with better error logging and diagnostics.
- Added frontend API calls for CrowdSec management and feature flags.
- Updated SystemSettings page to manage feature flags and CrowdSec controls.
- Refactored logs and other components for improved functionality and UI consistency.
2025-12-01 16:19:05 +00:00
GitHub Actions
fa3ed5a135 fix(frontend): correct Logs.tsx component definition and imports (fix TS1005) 2025-12-01 16:19:05 +00:00
GitHub Actions
dc0c8c42ac fix(frontend): remove unused default React imports and use typed FC/FormEvent where needed 2025-12-01 16:19:05 +00:00
GitHub Actions
5ee1feed64 fix(import): remove unused React default import in ImportSitesModal 2025-12-01 16:19:05 +00:00
GitHub Actions
2014ff9fce feat(import): add multi-site import modal and upload-multi API 2025-12-01 16:19:05 +00:00
renovate[bot]
266fbac7a3 fix(deps): update npm minor/patch 2025-12-01 14:37:52 +00:00
CI
5cea5755a0 feat: add external notification templates management
- Introduced NotificationTemplate model for reusable external notification templates.
- Implemented CRUD operations for external templates in NotificationService.
- Added routes for managing external templates in the API.
- Created frontend API methods for external templates.
- Enhanced Notifications page to manage external templates with a form and list view.
- Updated layout and login pages to improve UI consistency.
- Added integration tests for proxy host management with improved error handling.
2025-11-29 20:51:46 +00:00
Wikid82
66e37fbd69 Add new logo image to public assets 2025-11-29 04:08:56 -05:00
CI
fcc273262c test(caddy): cover invalid path branches; ci: handle go test non-zero when coverage file exists 2025-11-29 08:55:25 +00:00
CI
46eb444c97 test: tighten URL checks by parsing href host instead of substring checks 2025-11-29 03:24:31 +00:00
CI
ce8a51e6c7 fix(workflows): replace invalid semantic-version action with fallback script 2025-11-29 02:49:21 +00:00
Wikid82
2d68bc2d2d feat: improve bulk ACL modal with multi-select, progress indicator, and Select All/Clear
- Added checkboxes to select multiple ACLs at once
- Added Select All / Clear buttons for quick selection
- Added progress indicator when applying multiple ACLs
- ACLs are applied sequentially with visual feedback
- All tests passing with 81.32% coverage
2025-11-28 07:22:30 +00:00
Wikid82
d2f0226679 fix: resolve TypeScript any types and unused variable warnings 2025-11-28 06:27:00 +00:00
Wikid82
74d7bf2ac3 feat: enhance Access List management with delete confirmation and backup functionality 2025-11-28 05:52:17 +00:00
Wikid82
a4cff3c194 feat: Add security presets and related tests
- Implemented new security presets for access control lists, including geo-blacklist and known botnet IPs.
- Added tests for security presets functionality, including validation of preset structure and category/type checks.
- Created hooks for Docker and domains with comprehensive tests for fetching, creating, and deleting domains.
- Removed unused HealthStatus component.
- Updated ProxyHosts bulk delete tests to reflect changes in selection logic.
- Introduced integration test script for automated testing of proxy host creation and validation.
2025-11-28 02:54:44 +00:00
Wikid82
fc27b5c42e feat: add security presets and block list recommendations for ACLs
- Add security preset system with curated threat intelligence
  - High-Risk Countries preset (RU, CN, KP, IR, etc.) ~800M IPs
  - Expanded Threat List preset ~1.2B IPs
  - Cloud Scanner IPs preset (Shodan, Censys) ~3K IPs
  - Tor Exit Nodes preset ~1.2K IPs (changes daily)
- Add tooltips linking to data sources (SANS ISC, Spamhaus, Tor Project)
- Add 'Get My IP' button to quickly add current IP to allowlist
- Add IP range calculator showing total IPs covered by rules
- Emphasize block lists over allow lists in UI
  - Renamed UI labels to show 'Recommended' for block lists
  - Added info box explaining why block lists are safer
- Add /system/my-ip API endpoint to fetch user's public IP
  - Handles X-Forwarded-For, X-Real-IP, CF-Connecting-IP headers
  - Returns IP and source (direct, proxy, Cloudflare, etc.)
- Add ARIA attributes to ProxyHosts checkboxes for accessibility

Block lists prevent lockouts while maintaining security by blocking
known threats instead of requiring explicit allow lists that can
inadvertently block legitimate users (especially CGNAT/mobile users).

Note: Bulk delete tests need refinement (event simulation) - tracked
separately.
2025-11-28 00:05:11 +00:00
Wikid82
ab334a2315 feat: add bulk delete with auto-backup and improve bulk actions UX
- Add bulk delete button with automatic backup creation before deletion
- Move checkbox column to the right side of the table
- Show '(all)' indicator when all hosts are selected
- Add comprehensive delete confirmation modal listing affected hosts
- Rename 'Bulk Actions' button to 'Manage ACL' for clarity
- Add CGNAT warning banner in Access Lists page
  - Explains why mobile/CGNAT connections may be blocked
  - Provides solutions for locked-out users
  - Includes tips for T-Mobile 5G, Starlink, and other CGNAT ISPs
- Improve error messaging and loading states

Addresses common CGNAT issues where geo-blocking fails due to
data center IP addresses appearing instead of user's location.
2025-11-27 17:43:20 +00:00
Wikid82
33e91e21c5 Remove obsolete implementation documents and scripts; delete SECURITY_IMPLEMENTATION_PLAN.md, VERSIONING_IMPLEMENTATION.md, cookies.txt, create_issues.sh, and frontend coverage report. 2025-11-27 16:11:02 +00:00
Wikid82
05321e3a59 feat: implement bulk ACL application feature for proxy hosts 2025-11-27 14:55:00 +00:00
Wikid82
429de10f0f feat: implement access list management with CRUD operations and IP testing
- Added API integration for access lists including listing, creating, updating, deleting, and testing IPs against access lists.
- Created AccessListForm component for creating and editing access lists with validation.
- Developed AccessListSelector component for selecting access lists with detailed display of selected ACL.
- Implemented hooks for managing access lists and handling API interactions.
- Added tests for AccessListSelector and useAccessLists hooks to ensure functionality.
- Enhanced AccessLists page with UI for managing access lists, including create, edit, delete, and test IP features.
2025-11-27 08:55:29 +00:00
Wikid82
51664416b6 feat: Enhance ProxyHost configuration with application presets and internal IP support 2025-11-27 03:54:41 +00:00
Wikid82
1efc18940c feat: enable security services in docker-compose and update logs navigation 2025-11-26 21:07:24 +00:00
Wikid82
6e646eee3c fix: update security docs link and workflow base path 2025-11-26 18:53:10 +00:00
Wikid82
58edf44f3c feat: update security configuration and documentation for new service modes 2025-11-26 18:47:31 +00:00