Major Features: - Selective config processing: Only update files containing old IP - Smart IP change detection with early termination - Conditional backup creation for modified files only - Up to 80% reduction in unnecessary operations Security Enhancements: - Restrict systemd permissions to /data/nginx/proxy_host only - Enhanced Docker security documentation - Principle of least privilege implementation Performance Impact: - File-specific validation before processing - Intelligent backup creation - Significant improvement for multi-config deployments Backward Compatibility: - Fully compatible with existing installations - Same CLI interface and configuration support
4.8 KiB
🚀 DDNS Updater v1.2.6 Release Notes
Release Date: October 3, 2025
Package: ddns-updater_1.2.6-1_amd64.deb (2.0MB)
🎯 Major Features
⚡ Performance Optimization - Selective Config Processing
The biggest improvement in this release: intelligent selective processing of configuration files.
Before v1.2.6: All config files processed on every run After v1.2.6: Only configs that actually need updates are processed
Key Optimizations:
- Smart IP Change Detection: Only process configs when IP actually changes
- File-specific Validation: Only update configs that contain the old IP address
- Conditional Backup Creation: Only create backups when files will actually be modified
- Early Termination: Skip all processing when no IP change is detected
Performance Impact:
Example: 10 config files, only 2 contain the target IP
v1.2.5: Processes all 10 files + creates 10 backups = 20 operations
v1.2.6: Processes only 2 files + creates 2 backups = 4 operations
Result: 80% reduction in unnecessary operations!
🔒 Security Hardening - Restricted Systemd Permissions
Enhanced security through principle of least privilege implementation.
Changes:
- Before: Systemd write access to entire
/data/nginxdirectory - After: Systemd write access only to
/data/nginx/proxy_hostsubdirectory
Benefits:
- Reduces potential attack surface
- Limits file system access to only necessary directories
- Maintains full functionality while improving security posture
📊 Real-world Performance Example
Testing with 5 nginx config files:
🔄 IP change detected, processing 5 config files
DEBUG: Config file doesn't contain old IP, no update needed for this file (×4)
✅ Updated google.com: 142.250.102.139 → 142.250.102.101
📊 Summary: Updated: 1, No change: 4, Errors: 0
Result: Only 1 file updated, 4 files intelligently skipped, only 1 backup created.
🛠️ Technical Implementation
Optimization Logic:
- Global IP Check: Resolve current IP once per hostname
- Early Termination: If IP unchanged, skip all config processing
- Per-File Validation: For each config, check if it contains the old IP
- Selective Processing: Only process files that need actual updates
- Conditional Backups: Create backups only when files will be modified
Security Implementation:
- Updated systemd service files:
ddns-updater.serviceandddns-updater@.service - Restricted
ReadWritePathsfrom/data/nginxto/data/nginx/proxy_host - Enhanced Docker documentation with security scope clarification
🚀 Installation
New Installation:
# Download and install
sudo apt install ./ddns-updater_1.2.6-1_amd64.deb
# Or with dpkg
sudo dpkg -i ddns-updater_1.2.6-1_amd64.deb
Upgrade from Previous Version:
sudo apt install ./ddns-updater_1.2.6-1_amd64.deb
sudo systemctl daemon-reload
sudo systemctl restart ddns-updater.service
✅ What's Included
- Optimized Binary:
ddns_updaterwith selective processing - Enhanced Systemd Services: Security-hardened service files
- Utility Scripts: Management and troubleshooting tools
- Comprehensive Documentation: Updated guides and examples
- Example Configurations: Test and reference config files
🧪 Testing
All tests passing:
- ✅ 25 unit tests
- ✅ 6 integration tests
- ✅ Performance optimization verified
- ✅ Security restrictions tested
- ✅ Docker compatibility maintained
🔄 Backward Compatibility
Fully backward compatible with existing installations:
- All existing configuration files work unchanged
- Same command-line interface
- Same configuration directories supported
- Existing systemd services continue to work
📈 Migration Benefits
Upgrading to v1.2.6 provides:
- Significant performance improvement for multi-config setups
- Enhanced security through restricted file access
- Reduced resource usage through intelligent processing
- Better logging with optimization status messages
- Maintained reliability with comprehensive testing
🎉 Summary
DDNS Updater v1.2.6 represents a major performance and security enhancement while maintaining full backward compatibility. The selective processing optimization makes it significantly more efficient for deployments with many configuration files, while the security hardening ensures better system protection.
Recommended for all users - especially those managing multiple nginx configuration files or Docker deployments.
Technical Support: Available through GitHub issues and documentation
Documentation: Complete guides in /usr/share/doc/ddns-updater/
Examples: Reference configs in /usr/share/ddns-updater/examples/