Commit Graph

93 Commits

Author SHA1 Message Date
Hosteroid
2b4035dd29 Add Pushover notification channel and improve status detection
Introduces Pushover as a new notification channel with priority-based alerts, device targeting, and custom sounds. Enhances domain status detection for .nl and .eu domains, ensuring accurate handling when expiration dates or explicit status flags are missing. Fixes PHP 8.x compatibility issues with null parameters in date functions and improves error handling and logging by replacing error_log() with a centralized Logger service. Updates documentation and migrations for version 1.1.1.
2025-11-18 13:22:49 +02:00
Hosteroid
5b932aa565 Update bootstrap.sh 2025-11-05 12:44:59 +02:00
Hosteroid
86d4cb0af6 Update EmailHelper.php 2025-10-30 11:22:53 +02:00
Hosteroid
ad54d6d6ea Update Domain.php 2025-10-29 19:43:50 +02:00
Hosteroid
5c79cc7c15 Update Domain.php 2025-10-29 13:13:56 +02:00
Hosteroid
ae0fb3e1da Update Application.php 2025-10-29 12:49:40 +02:00
Hosteroid
a0ada0b2c2 Fixed docker errors and improved error logging.. 2025-10-29 12:45:01 +02:00
Hosteroid
0e08e807d3 Update 000_initial_schema_v1.1.0.sql 2025-10-29 11:42:41 +02:00
Hosteroid
63a8e208c2 Update Domain.php 2025-10-29 01:29:17 +02:00
Hosteroid
67bacc36e3 Add user avatar system and fix WHOIS parsing/cron synchronization
- Add avatar upload with Gravatar fallback and initials
- Fix false "available" detection for registered domains
- Clean up WHOIS status parsing and server display
- Update cron job to sync all WHOIS fields
- Fix TLD cache and .me domain parsing issues
2025-10-27 18:13:38 +02:00
Hosteroid
bbb1be1cf5 Fixing mattermost logo 2025-10-25 13:13:56 +03:00
Hosteroid
d76e9d9473 Update DomainController.php
Fixing old Tags system code
2025-10-25 12:40:47 +03:00
Hosteroid
06596b8044 Replace comma-separated tags with relational tag system.
- Add tags and domain_tags tables
- Support tag management
- Support user isolation (global/private tags)
- Add filtering all domain views to operations
- Update all domain views automatically
2025-10-25 02:04:00 +03:00
Hosteroid
75f0ae35fb Docker Implementation 2025-10-23 00:56:29 +03:00
Hosteroid
fa0167bf71 Update Setting.php 2025-10-23 00:18:16 +03:00
Hosteroid
02d4c1c5ad Update DomainController.php 2025-10-22 18:59:05 +03:00
Hosteroid
91a588c3e8 Create favicon.ico 2025-10-21 20:22:22 +03:00
Hosteroid
0229f64f4e Implementing Manual Expiration Dates 2025-10-21 16:13:58 +03:00
Hosteroid
c2684b8cc4 More improvements on WhoisService 2025-10-21 15:40:54 +03:00
Hosteroid
716fdcffe6 Improved error logging for Domain refresh 2025-10-21 15:16:56 +03:00
Hosteroid
ceeb2cfae4 Improve RDAP domain availability detection
Enhanced RDAP response handling to better detect domain availability by checking for 'free' and 'available' statuses in DebugController. WhoisService now normalizes 'free' status to 'AVAILABLE' for consistency in output.
2025-10-21 15:12:19 +03:00
Hosteroid
1ff5bdd5c1 Update WhoisService.php 2025-10-21 15:09:03 +03:00
Hosteroid
61222ece7c Update WhoisService.php 2025-10-21 15:05:33 +03:00
Hosteroid
221e0b83f0 Update WhoisService.php 2025-10-21 15:02:15 +03:00
Hosteroid
685a641873 Update WhoisService.php 2025-10-21 14:54:39 +03:00
Hosteroid
92319b27f7 Add vCard field validation in WhoisService
Added checks to ensure vCard fields are arrays with at least 4 elements before accessing their values. This prevents potential errors when parsing registrar and abuse contact information from RDAP responses.
2025-10-21 14:51:28 +03:00
Hosteroid
430bd81cb9 Expand WHOIS domain availability checks
Added 'does not exist' and 'queried object does not exist' to the regex for detecting available domains in WHOIS responses, improving coverage for more registrar messages.
2025-10-21 14:40:39 +03:00
Hosteroid
774379f107 Add Mattermost notification channel support
Introduces Mattermost as a new notification channel, including backend service integration, controller validation, UI form fields, and updates to channel type enums in the database schema and migrations. This enables users to configure and send notifications via Mattermost webhooks.
2025-10-21 14:33:22 +03:00
Hosteroid
ec0b5c61ea Switch channel actions to POST forms and add group_id handling
Replaced channel toggle and delete links with POST forms including CSRF protection for better security. Added a hidden group_id input to the channel creation form and improved JavaScript to reliably obtain group_id from the form or URL. Also added support for 'webhook' channel type in the testChannel function.
2025-10-21 13:53:10 +03:00
Hosteroid
21eeda7127 Add webhook channel type to notification channels
Introduces 'webhook' as a new channel_type option in the notification_channels table to support custom webhook integrations. Updates migration logic and adds a new migration script for this schema change.
2025-10-21 13:33:01 +03:00
Hosteroid
5e4f9e6704 Replace error_log with logger in TldRegistryService
Updated all error and warning logging in TldRegistryService to use the injected logger instead of error_log. This improves consistency and allows for better log management and integration with application logging systems.
2025-10-21 10:36:41 +03:00
Hosteroid
db01becc17 Update TldRegistryService.php 2025-10-21 10:32:16 +03:00
Hosteroid
0dc8abb76f Add status parameter to import completion on failure
Updates calls to importLogModel->completeImport in exception handlers to include a 'failed' status parameter, ensuring clearer logging of failed import operations.
2025-10-21 10:19:42 +03:00
Hosteroid
6d67e828ab Remove Brotli support detection from TldRegistryService
Eliminated Brotli compression support checks and related logging from TldRegistryService. All HTTP clients now explicitly use gzip and deflate encodings only, with cURL options set to disable automatic content decoding and restrict accepted encodings. This simplifies the code and avoids Brotli-related compatibility issues.
2025-10-21 10:00:26 +03:00
Hosteroid
d7aff00e5a Improve cURL brotli support detection logic
Enhanced the brotli support check by adding multiple detection methods: encoding field, features bitmask, and minimum version check. The detection results now include detailed checks and a final decision, improving reliability and logging for brotli support detection.
2025-10-20 23:59:49 +03:00
Hosteroid
0a296dd6b3 Add Brotli detection and HTTP request logging
Enhanced Brotli support detection with detailed logging of detection results. Added logHttpRequest method to log HTTP request and response details for debugging, and integrated it into all HTTP client instantiations using the on_stats callback. Improved client creation logging and refactored Accept-Encoding header handling for clarity.
2025-10-20 23:44:00 +03:00
Hosteroid
ccd1f0c87a Add Brotli support detection to TldRegistryService
Introduces a static method to check for Brotli compression support and conditionally includes 'br' in the Accept-Encoding header for HTTP requests. Also removes old incremental migration files from the installer controller.
2025-10-20 23:30:17 +03:00
Hosteroid
cebb9510ec Update InstallerController.php 2025-10-20 22:51:37 +03:00
Hosteroid
7ebc67910f Improve installer logic and add structured logging
Refactored InstallerController to use a Logger for structured install/update logs and improved migration detection logic to avoid partial table creation on fresh installs. Enhanced migration execution robustness, clarified handling of consolidated schema, and improved error handling and admin notification. Moved user_notifications table creation in the initial schema to follow domains table for correct foreign key references.
2025-10-20 22:49:08 +03:00
Hosteroid
3178cd700a Update InstallerController.php 2025-10-20 22:27:30 +03:00
Hosteroid
3d0d691032 Update InstallerController.php 2025-10-20 22:22:45 +03:00
Hosteroid
1dd40a357a Update InstallerController.php 2025-10-20 22:16:12 +03:00
Hosteroid
162d86e230 Update 000_initial_schema_v1.1.0.sql 2025-10-20 21:55:04 +03:00
Hosteroid
160aaa078f Update 000_initial_schema_v1.1.0.sql 2025-10-20 21:15:09 +03:00
Hosteroid
ac7a0c0aa8 Refactor routes and controllers for RESTful resource access
Updated controllers and routes to use RESTful resource-based URLs and parameter passing for groups, users, and notification channels. Added user isolation checks for domain and group access, ensuring proper data filtering based on isolation mode. Adjusted views to match new route structure and improved security and maintainability by removing reliance on query parameters for resource identification.
2025-10-20 21:08:09 +03:00
Hosteroid
c4e4196e02 Refactor stats variable names for clarity
Renamed generic 'stats' variables to more specific names such as 'domainStats', 'errorStats', 'tldStats', and 'importStats' across controllers and views. This improves code readability and reduces ambiguity when handling different types of statistics in the application.
2025-10-20 19:53:28 +03:00
Hosteroid
1b84f06c86 Refactor user ID assignment in DomainController
Moved the assignment of the current user ID ($userId) to the beginning of relevant methods instead of inside conditional blocks. This improves code clarity and avoids redundant calls to Auth::id().
2025-10-20 19:05:33 +03:00
Hosteroid
a1211ae815 Add isolation checks and logging for domains and groups
Implemented validation to restrict domain assignment to notification groups owned by the user when isolation mode is enabled. Added logging for domain creation, bulk domain addition, and notification group creation, update, and deletion to improve auditability and traceability.
2025-10-20 19:02:56 +03:00
Hosteroid
5727911656 Respect user isolation mode when fetching groups
Updated DomainController to fetch groups using getAllWithChannelCount, passing the user ID when user isolation mode is set to 'isolated'. This ensures group listings are filtered per user when isolation is enabled, improving data separation and security.
2025-10-20 18:50:32 +03:00
Hosteroid
e448855687 Centralize domain stats retrieval in LayoutHelper
Moved domain statistics logic into a new LayoutHelper::getDomainStats() method. Updated base layout and dashboard view to use this helper, reducing code duplication and improving maintainability.
2025-10-20 18:44:03 +03:00