After a lot of work, I have rewritten the script from scratch.
It is now handled in a different way, so it is not backwards compatible, you need to update anywhere the script is called.
The main functionalities have already been validated, the operation without yaml (only flags) and the notification system have to be validated.
Features
-
DNS Record Management:
- Update A (IPv4) and AAAA (IPv6) records
- Support for multiple domains
- Create new DNS records if they don't exist (optional)
- Delete DNS records when IPv4 or IPv6 is set to false
-
Configuration:
- YAML configuration file for easy setup
- Command-line options for quick adjustments
- Support for environment variables for sensitive data
-
Performance:
- Parallel processing of domains
- Configurable retry mechanism for API requests
-
Testing and Debugging:
- Test mode (dry run) for verification without making changes
- Extensive logging capabilities
- Debug mode for detailed output
-
Notification Systems:
- Multiple notification methods (Email, Telegram, Slack, Discord)
-
User Interface:
- Colorized terminal output with progress indication
- Man page for easy reference (TODO)