Removed the obsolete `Reconfigure` function from UDP.js and cleaned up unused parameters in config.py. Enhanced logging by simplifying error messages in auth.py and clarified variable naming for HA routes. These changes improve readability and maintainability.
Replaced repeated JWT validation and claim extraction code with a centralized `get_jwt_token_claims` function. This improves code maintainability, reduces redundancy, and ensures consistent JWT handling across the application.
Replaced `request.form` with `request.json` for `next` retrieval in login handling, ensuring consistency for JSON-based requests. Updated the redirect to include `next` parameters, preserving the original path when navigating to the login page.
Removed the sections handling SSL certificates and Let's Encrypt in the add.html template. This includes related scripts, HTML elements, and form inputs for certificate management. Streamlines the template by eliminating unused or unnecessary functionality related to SSL.
Introduced an SSL management table with dynamic fields for server, type, domain, and credentials in `ssl.html`. Simplified JS logic by removing redundant conditions and enhanced `showConfigFiles` to support preselection. Added `makeid` function for generating random strings.
Introduced support for uploading, viewing, and deleting SSL certificates via a dedicated web interface. Updated routing, templates, and backend logic to handle certificate types (pem, key, crt) and improved integration with SSL-related UI components.
Revised the action route to use a restricted list of allowed actions via the `any` converter. Improved service name validation by refining the regex pattern and adjusted logging message formatting for consistency.
The `cert_type` parameter was unused in the `upload_ssl_cert` function and has been removed to simplify the function call. This change reduces redundancy and improves code clarity.
Replaced unsafe input checks with Pydantic validation, improving route type safety. Adjusted blacklist handling logic in the frontend and templates for better consistency. Fixed minor JS selector bugs and added hidden input for group_id in the config template.
Extended "mode" options to include "log" for frontend/backend configurations. Enhanced RAM/CPU metrics to better handle remote servers and removed redundant logic. Streamlined logging with structured formatting, improved error handling, and removed unnecessary parameters.
Updated the version in the database to 8.1.6.1. Adjusted WAF log handling to correctly process parameters and URLs, improving functionality and accuracy. Fixed minor issues, including initializing variables and handling edge cases for section edits in configurations.
Enhanced configuration management by introducing support for editing specific sections in HAProxy configurations via `edit_section`. Added server templates with structured validation, improved file encoding handling, and addressed edge cases in multiple components for greater robustness.
Removed a debug print statement, added error handling for SSH commands, updated token inputs to be password-protected, and fixed a log path in Fail2Ban configuration. Updated server list handling in templates to improve code consistency. These changes enhance reliability, security, and maintainability across the application.
Introduces the ability to enable or disable a checker service for UDP listeners. Includes UI updates, database migration, new API route, and backend logic to handle checker settings on UDP listeners.
Removed unused local connection in Ansible roles and added support to pass proxy settings to the LetsEncrypt role. Also introduced HAProxy directory handling in the certificate generation logic to improve flexibility with server configurations.
Moved HAProxy state file and stats directory creation tasks from `configure.yml` to `installation.yml` for improved logical grouping. This change ensures installation-related tasks are consolidated, enhancing maintainability and clarity.
Adjusted HAProxy Ansible role for ownership and removed unused peer configurations. Added error handling to HA-related views and database queries to improve stability. Updated HAProxy Exporter dependency to a newer version for compatibility.
Introduced backend status monitoring for UDP listeners and enhanced HA cluster checks. Updated several templates and JavaScript files to reflect these changes, improving service visibility and coordination. Minor code refactoring and removed unused functions for cleaner implementation.
Introduce a new `private_key` field in the `cred` table for secure key storage. Updated related functions to eliminate file-based key handling and use the database instead. Includes migration script for schema changes and necessary code adjustments across the application.
Updated the default HAProxy version to 3.1.1-1 and Nginx experimental version to 1.4.0 in the templates and service installation logic. This ensures compatibility with the latest releases and improves functionality.
Replaced server_ip with server_id in the cert endpoint for better database integration and clarity. Adjusted related logic to retrieve the server IP using server_id and updated function calls accordingly. This change simplifies URL structure and aligns with database practices.
Added `by_id='true'` to the `select()` function in `add.html` for enhanced identification. Refactored `_create_env` in `lets_encrypt_views.py` to be static and updated the `run_ansible` call to use `ansible_role`. Removed redundant commented-out code from the Let's Encrypt Ansible task file.
Replace `==` with `===` for stricter comparisons in form validation. Modify Port Scanner to use a POST request with JSON payload and change response handling to better manage error and success states.
Adjusted the condition to apply "EXTRAOPTS" only for version 7 of the distribution. This ensures compatibility and prevents unintended configuration for other versions.
Updated routes and JavaScript logic to use server IDs instead of server IPs for cert and backend lookups. This improves consistency and simplifies request handling. Minor fixes in formatting and structure were also applied.
Relocated the task for modifying the HAProxy service file from configure.yml to installation.yml to ensure proper execution during the installation phase. This change enhances task organization and aligns with Ansible role structures.
Update the JavaScript to enhance the granularity of service checks under cluster settings by incorporating nested properties for haproxy and nginx, including Docker settings. Additionally, add checks for the new Apache service and remove a console log statement for cleaner code.
Introduce a dark theme for the web interface, enabling users to switch between themes seamlessly. Additionally, enhance HAProxy management by updating available versions and streamlining API routes for list management, ensuring smoother operations and integration.
Convert POST methods to GET with direct server_ip parameter, improving clarity and conformity. Removed unused imports and fixed a typo in the `overview.py` module. Validations are added for better input handling, enhancing security and error management.
Consolidated multiple metric insertion and deletion functions into more generic and reusable functions using dictionaries and typing literals. This refactoring reduces code duplication and improves maintainability. Additionally, flask route functions have been updated to use type validation, ensuring stronger typing and input verification.
Replaced common.is_ip_or_dns() with pydantic type validation in various route functions to ensure input consistency and clarity. Updated several methods to use Union[IPvAnyAddress, DomainName] for typing and added necessary imports. Also refined templates and helper functions for better readability.
Replaced common.is_ip_or_dns() with pydantic type validation in various route functions to ensure input consistency and clarity. Updated several methods to use Union[IPvAnyAddress, DomainName] for typing and added necessary imports. Also refined templates and helper functions for better readability.
Previously, the check for a selected log file didn't account for the 'waf' variable. This update adds a condition to ensure that the warning is triggered only if 'waf' is also an empty string.
Implemented an IP calculator feature using the netaddr library and added corresponding JS and HTML form elements. Enhanced existing nettools forms by utilizing Flask-Pydantic for validation and AJAX request improvements. Removed deprecated alert selection methods in the database checker module. Updated language translations and incremented version to 8.1.2.
Consolidated service-specific alert checks into a single function for better maintainability. Deprecated outdated functions with markers for future deletion. Also, updated the database version to '8.1.1.1'.
Updated the `websockets` library version to be pinned at 13.1 for better compatibility and to avoid potential issues with future releases. This change ensures a more stable and predictable environment.
Replaces a method call with direct attribute access for retrieving the IP address of cluster slaves. This simplifies the code and improves performance by eliminating unnecessary database queries.
Replaced multiple SQL function calls with consistent `get_server` naming. Consolidated and streamlined the function calls to `get_server` and `get_server_by_ip` to ensure consistency and improve maintainability across the codebase. Removed obsolete and redundant function definitions that were no longer in use.
Removed redundant service checks for 'haproxy' and 'nginx' in WAF routes. Simplified action confirmation logic by using hidden input to fetch server names dynamically. Updated database operation calls to be concise for deleting and updating group settings.
Modified regex in ha.js to include uppercase letters. Un-commented and removed unused CSS code. Refactored the structure of options in metrics.js for readability and consistency.
Renamed get_user_status to select_user_status in roxy.py and db.py for better clarity and consistency. This modification ensures alignment in method naming conventions across the codebase, improving readability and maintainability.
Removed the unused 'distro' and 'Union' imports for code cleanliness. Simplified the user status check mechanism by introducing a direct method, `get_user_status`, and modified the service control flow accordingly. Simplified 'update_plan' function to only insert a default username.
Refactor multiple functions to call `get_group` instead of `get_group_name_by_id`. Remove the `ApiToken` class and related database table operations. Simplify the template logic in `show_sub_ovw.html` by removing unnecessary loop and context variables. Cleanup unused imports and streamline several function implementations across the codebase.
Improved the server status check by adding sessionStorage management and handling responses for better UI feedback. Changed some function signatures for consistency and better error handling. Updated routes and database initialization to reflect new functions and database versions.
Updated the `group` attribute to `group_id` in the Settings model and all related instances in the codebase to improve clarity and consistency. This change affects model definitions, setting initialization, and queries throughout the project.
Add extra validation and logging for HA VIP deletion. Clean up waf.py by removing commented-out code and fixing server status assignment. Simplify maxconn command execution in runtime.py.