Commit Graph

82 Commits

Author SHA1 Message Date
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
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 ce8a51e6c7 fix(workflows): replace invalid semantic-version action with fallback script 2025-11-29 02:49:21 +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 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 c8a452f1a0 feat: implement modular security services with CrowdSec and WAF integration 2025-11-26 18:35:14 +00:00
Wikid82 06d0aca8a4 feat: update favicon and adjust logo/banner display in layout 2025-11-26 14:23:44 +00:00
Wikid82 ba05c5e945 feat: adjust banner image layout for better alignment and size 2025-11-26 04:05:37 +00:00
Wikid82 20cf3d1010 feat: update banner image dimensions for improved responsiveness 2025-11-26 03:57:18 +00:00
Wikid82 e459978797 feat: replace title with banner image in mobile header and main layout 2025-11-26 03:49:47 +00:00
Wikid82 56903b0e06 chore: clean up unused files and empty code blocks 2025-11-26 01:12:52 +00:00
Wikid82 4f03021c9c refactor: remove security-related hooks and pages
- Deleted `useSecurity.ts` hook which managed authentication users, providers, and policies.
- Removed `Policies.tsx`, `Providers.tsx`, and `Users.tsx` pages that utilized the above hook.
- Cleaned up the `index.tsx` file in the Security section to remove references to the deleted pages.
- Updated mock data by removing unused properties related to forward authentication.
2025-11-26 00:02:15 +00:00
Wikid82 a3c164a394 refactor: update error handling to use unknown type for better type safety 2025-11-25 22:08:54 +00:00
Wikid82 07be2155be Refactor Security Management: Split Security page into Users, Providers, and Policies components; remove deprecated Security component; implement CRUD functionality for users, providers, and policies; enhance Uptime page with monitor editing capabilities. 2025-11-25 14:53:06 +00:00
Wikid82 7a1f577771 feat: add forward authentication configuration and UI
- Introduced ForwardAuthConfig model to store global forward authentication settings.
- Updated Manager to fetch and apply forward authentication configuration.
- Added ForwardAuthHandler to create a reverse proxy handler for authentication.
- Enhanced ProxyHost model to include forward authentication options.
- Created Security page and ForwardAuthSettings component for managing authentication settings.
- Implemented API endpoints for fetching and updating forward authentication configuration.
- Added tests for new functionality including validation and error handling.
- Updated frontend components to support forward authentication settings.
2025-11-25 13:25:05 +00:00
Wikid82 78b782974e feat: add custom name handling for proxy hosts and enhance import functionality 2025-11-25 03:50:23 +00:00
Wikid82 dea012d471 feat: improve sorting logic in CertificateList by adding block scope for case statements 2025-11-25 02:52:35 +00:00
Wikid82 cc6bc7d6d6 feat: add name field to ProxyHost and implement sorting functionality in ProxyHosts and CertificateList components 2025-11-25 02:50:32 +00:00
Wikid82 72975c674a feat: enhance certificate handling with staging support and update UI for untrusted status 2025-11-25 01:53:58 +00:00
Wikid82 017ee4f8bd feat: clean up invalid Let's Encrypt certificate associations and update UI to reflect custom certificate usage 2025-11-25 01:18:11 +00:00
Wikid82 5bfe923e37 feat: add Certificate interface and update ProxyHostForm and ProxyHosts components to display certificate details 2025-11-25 01:06:45 +00:00
Wikid82 0415f5da77 feat: enhance import handling with overwrite support and detailed conflict resolution
feat: add subroute handler extraction for improved Caddyfile parsing
test: add tests for subroute handler extraction functionality
fix: update UI to display staging certificate status and improve dashboard metrics
docs: clarify staging certificate deletion process in ACME documentation
2025-11-25 00:35:42 +00:00
Wikid82 897959a621 feat: enhance import handling with detailed conflict resolution and UI updates 2025-11-24 23:48:25 +00:00
Wikid82 6feff3e8ce chore: remove cashed 2025-11-24 18:22:01 +00:00
Wikid82 9c842e7eab chore: remove cached 2025-11-24 18:21:11 +00:00
Wikid82 9f54438955 Add tests for error handling in backup, notification, and proxy host handlers; enhance certificate service with persistence tests; refactor backup service for scheduled backups; improve frontend form handling and add API tests for certificates, domains, and proxy hosts; implement frontend test coverage script. 2025-11-24 03:52:37 +00:00
Wikid82 8120806c68 chore: Update .gitignore and commit remaining frontend changes 2025-11-23 20:44:19 +00:00
Wikid82 0fe5c6fa92 chore: update layout styles for improved responsiveness and add parsing utility 2025-11-23 16:29:25 +00:00
Wikid82 e47121f267 chore: update configuration files and styles for improved debugging and layout 2025-11-23 16:19:15 +00:00
Wikid82 ce89c63afc feat: implement certificate upload and deletion functionality, enhance certificate management in the API and frontend 2025-11-22 23:05:23 -05:00
Wikid82 f258317190 fix: improve error handling in proxy host form submission 2025-11-22 22:02:48 -05:00
Wikid82 c93a5edd0e feat: enhance container selection logic for remote servers by prioritizing host IP and mapped public ports 2025-11-22 21:26:09 -05:00
Wikid82 ba67cc2274 fix: update remote server form tests for new test connection feature 2025-11-22 20:14:31 -05:00
Wikid82 8a60325464 feat: enhance import session handling by adding session UUID to commitImport function 2025-11-22 15:58:12 -05:00
Wikid82 fea86a6c76 feat: enhance import functionality with Caddyfile content preview and optional mounting in Docker 2025-11-22 14:29:21 -05:00
Wikid82 902603d5ad feat: add frontend test hook and update test cases for ProxyHostForm and SystemStatus components 2025-11-21 23:39:06 -05:00
Wikid82 807481ee4e feat: enhance sidebar navigation with collapsible menus and icons for better usability 2025-11-21 21:55:42 -05:00
Wikid82 3256cc845b feat: add log level filtering and enhance logging configuration; update UI for improved navigation and settings structure 2025-11-21 21:32:43 -05:00
Wikid82 94592c8515 feat: integrate Caddy manager into proxy host handler and enhance authorization middleware; update frontend components for improved UI and functionality 2025-11-21 20:42:52 -05:00
Wikid82 870af044f8 feat: add test connection functionality for proxy hosts and enhance UI for testing connections 2025-11-21 18:06:48 -05:00
Wikid82 b3c56529a6 feat: add suffix lookup functionality with trie structure
- Implemented a new suffix-trie.ts file for efficient domain suffix lookups.
- Introduced a lookupInTrie function to search for public suffixes in a trie.
- Added suffixLookup function to check if a hostname has a valid public suffix.
- Created package.json and package-lock.json to manage dependencies, including tldts and tldts-core.
2025-11-21 17:43:43 -05:00
Wikid82 1ba719366b fix: update default values for SSL and HTTP2 settings; reorganize domain names section 2025-11-21 17:22:05 -05:00
Wikid82 c52c96df69 fix: update connection handling in ProxyHostForm and improve tooltip descriptions in useDocker 2025-11-21 16:29:42 -05:00
Wikid82 cf23ddb666 feat: add domain management functionality with CRUD operations and integrate into UI 2025-11-21 16:15:39 -05:00
Wikid82 f6bd3ecb59 feat: enhance NotificationCenter with system update notifications and improve ProxyHostForm connection source handling 2025-11-21 15:09:18 -05:00
Wikid82 1a29b7ae76 feat: center header title and improve email update confirmation message 2025-11-21 14:26:42 -05:00