Commit Graph

53 Commits

Author SHA1 Message Date
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
CI 910e338d30 chore: pin Caddy major to v2 and document SSRF mitigations in notification service 2025-11-29 21:08: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
CI 82dad8d9cb docs(notification): document SSRF mitigations for custom webhooks 2025-11-29 17:40:40 +00:00
CI bbe9ca3698 fix(notification): mitigate SSRF for webhook requests by resolving host to IP and using Host header 2025-11-29 17:38:40 +00:00
CI fdab765cbd chore: update internal files for consistency and maintainability 2025-11-29 15:52:27 +00:00
CI 66bd5313c1 feat(notification): enhance webhook template handling with minimal and detailed options 2025-11-29 09:15:03 +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 74d7bf2ac3 feat: enhance Access List management with delete confirmation and backup functionality 2025-11-28 05:52:17 +00:00
Wikid82 d5d4caf9b4 Refactor pre-commit hooks to manual execution, enhance uptime monitoring with new models and batching notifications
- Updated .pre-commit-config.yaml to change hooks to manual execution for performance.
- Added UptimeHost and UptimeNotificationEvent models to support host-level monitoring.
- Enhanced UptimeService to batch notifications for multiple service failures on the same host.
- Implemented tests for notification batching and uptime host creation during sync.
- Improved formatDuration function for better readability of durations.
2025-11-28 04:00:36 +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 72fd121bdb fix: resolve race conditions and update golangci-lint config
- Fix TestCertificateHandler_Delete race condition:
  - Add WAL mode and busy_timeout to SQLite connection
  - Add sleep to allow background sync goroutine to complete
- Fix TestNotificationService_SendExternal_EdgeCases race condition:
  - Use atomic.Value for cross-goroutine string access
- Update .golangci.yml for version 2:
  - Add version field
  - Move linters-settings under linters.settings
  - Remove deprecated typecheck and gosimple linters
  - Update govet shadow check syntax
2025-11-28 00:54:47 +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 6f55ac99c3 fix: improve uptime service test reliability by using local closed port 2025-11-26 18:57:19 +00:00
Wikid82 56903b0e06 chore: clean up unused files and empty code blocks 2025-11-26 01:12:52 +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 78b782974e feat: add custom name handling for proxy hosts and enhance import functionality 2025-11-25 03:50:23 +00:00
Wikid82 c6dbd1291c feat: implement caching for certificate retrieval and enhance sync functionality 2025-11-25 02:16:53 +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 931e35b5f3 Refactor code structure for improved readability and maintainability 2025-11-24 20:33:01 +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 7da561de56 feat: Update notification type in UptimeService based on monitor status changes 2025-11-24 04:10:02 +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 b0f5466967 feat: Enhance CertificateService to scan Caddy data directory for auto-generated certificates 2025-11-24 03:20:09 +00:00
Wikid82 65ce88d59c feat: Enhance SyncMonitors to support SSL and upgrade monitor URLs to HTTPS 2025-11-24 01:02:42 +00:00
Wikid82 51a6c40b37 feat: Update UptimeService to check public URLs and migrate existing monitors 2025-11-24 00:50:23 +00:00
Wikid82 527c54582f feat: Add notification test button and fix Discord webhook URL support
- Frontend: Add Test button to Notification Provider form with visual feedback
- Backend: Normalize Discord HTTPS webhook URLs to Shoutrrr format (discord://)
- Backend: Create system notification on test failure for better visibility
2025-11-23 22:58:07 +00:00
Wikid82 1b12dbaf8b feat: Update frontend deps, improve backend coverage, add notification/uptime features
- Upgrade frontend to Node v20
- Fix frontend tests
- Improve backend test coverage to >80%
- Add Notification Provider and Uptime monitoring features
- Fix SQLite locking issues in tests
2025-11-23 20:42:18 +00:00
Wikid82 22d3555811 chore: refactor certificate service and hook for improved clarity and initialization 2025-11-23 16:39:13 +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 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 870af044f8 feat: add test connection functionality for proxy hosts and enhance UI for testing connections 2025-11-21 18:06:48 -05:00
Wikid82 aefead1805 feat: improve error handling in ImportCaddy and Dashboard components 2025-11-21 14:07:30 -05:00
Wikid82 a00dea5419 feat: normalize email addresses to lowercase in user registration and profile updates
- Updated user registration and profile update handlers to convert email addresses to lowercase before saving to the database.
- Added integration tests to verify login functionality after email changes, ensuring case insensitivity.
- Introduced a new Account page to replace the Security page, consolidating user account management features.
- Removed the old Security page and updated routing in the Settings layout.
- Enhanced the SystemStatus component to provide user feedback on update availability.
- Added password change functionality in the Account page, allowing users to update their passwords securely.
2025-11-21 13:04:49 -05:00
Wikid82 29e1523364 Add build and CodeQL scan scripts
- Created a build script to compile the Go backend.
- Added a CodeQL scan script to automate the creation and analysis of CodeQL databases for Go and JavaScript/TypeScript, including necessary checks for dependencies.
2025-11-20 23:59:56 -05:00
Wikid82 39f6cf9155 fix: enhance path sanitization in backup and log services to prevent directory traversal 2025-11-20 23:07:48 -05:00
Wikid82 96cb7c8ef4 test: improve backend coverage for caddy, backup and import services 2025-11-20 22:56:11 -05:00
Wikid82 9f62a4a2df feat: add Docker container management functionality
- Implement DockerHandler to handle API requests for listing Docker containers.
- Create DockerService to interact with Docker API and retrieve container information.
- Add routes for Docker container management in the API.
- Introduce frontend API integration for Docker container listing.
- Enhance ProxyHostForm to allow quick selection of Docker containers.
- Update Docker-related tests to ensure functionality and error handling.
- Modify Docker Compose files to enable Docker socket access for local and remote environments.
- Add TypeScript configurations for improved build processes.
2025-11-20 21:27:02 -05:00
Wikid82 2eab570d54 Add comprehensive tests for services and middleware
- Implement tests for AuthMiddleware to handle cookie and token authentication.
- Create tests for the Importer and Manager in the Caddy package.
- Enhance AuthService tests with password change and token validation scenarios.
- Introduce tests for CertificateService to validate certificate listing and expiry.
- Expand LogService tests to cover log querying and pagination.
- Add NotificationService tests for creating, listing, and marking notifications as read.
- Implement ProxyHostService tests for CRUD operations and unique domain validation.
- Create RemoteServerService tests for CRUD operations.
- Add UpdateService tests to mock GitHub API responses for version checking.
- Introduce UptimeService tests to check host availability and notifications for down hosts.
2025-11-20 20:14:35 -05:00
Wikid82 77e530ac20 feat: Implement backend support for advanced access logging 2025-11-20 13:19:09 -05:00
Wikid82 56ab9486a4 feat: implement settings refactor, system status, notifications, and pre-commit hooks 2025-11-20 11:37:10 -05:00
Wikid82 12e74d1c84 feat: implement backup and log services with backup creation and log reading functionality 2025-11-20 10:27:55 -05:00
Wikid82 c97c16a752 feat: add Settings and Setup pages for user management
- Implemented Settings page for changing user passwords with validation and feedback.
- Created Setup page for initial admin account setup with form handling and navigation.
- Added API service layer for handling requests related to proxy hosts, remote servers, and import functionality.
- Introduced mock data for testing purposes and set up testing framework with vitest.
- Configured Tailwind CSS for styling and Vite for development and build processes.
- Added scripts for Dockerfile validation, Python syntax checking, and Sourcery integration.
- Implemented release and coverage scripts for better CI/CD practices.
2025-11-19 22:54:35 -05:00
Wikid82 1e2d87755d Remove Settings and Setup pages along with their tests and related API services
- Deleted Settings.tsx and Setup.tsx pages, which included functionality for changing passwords and setting up an admin account.
- Removed associated test files for Setup page.
- Eliminated API service definitions related to proxy hosts, remote servers, import functionality, and health checks.
- Cleaned up mock data and test setup files.
- Removed configuration files for TypeScript, Vite, and Tailwind CSS.
- Deleted scripts for testing coverage, release management, Dockerfile validation, and Python compilation checks.
- Removed Sourcery pre-commit wrapper script.
2025-11-19 22:53:32 -05:00
Wikid82 4662d00643 feat: Add services for authentication, certificate management, proxy host, and remote server 2025-11-19 21:37:14 -05:00
Wikid82 512e6f858f refactor: remove unused Caddy configuration and validation code
- Deleted Caddy configuration types and validation logic from the backend.
- Removed associated test files for validation.
- Cleaned up related service and model files that are no longer needed.
- Removed unnecessary environment configuration and database connection code.
- Eliminated unused models related to access control, SSL certificates, and user management.
- Cleaned up node modules by removing unnecessary binaries.
2025-11-19 21:32:24 -05:00
Wikid82 70a28e53ee feat: Add Change Password functionality 2025-11-19 19:57:38 -05:00