この紹介文は現在英語版のみです。
A lightweight container that updates DNS records periodically for multiple DNS providers. Built with Go, it features IPv4 and IPv6 support, multiple DNS providers integration, and comprehensive monitoring capabilities.
Key Features
-
Multiple DNS Providers Support:
- Cloudflare
- Google Domains
- DuckDNS
- Dreamhost
- GoDaddy
- Name.com
- Namecheap
- NoIP
- DNSPod
- And more…
-
Comprehensive IP Support:
- IPv4 and IPv6 support
- Multiple IP sources
- Custom IP update conditions
-
Docker Integration:
- Small Alpine-based image
- Multi-platform support
- Docker Compose ready
-
Advanced Monitoring:
- Prometheus metrics
- Health check endpoint
- Detailed logging
Quick Start
Docker Compose Setup
services:
ddns-updater:
image: qmcgaw/ddns-updater
container_name: ddns-updater
environment:
- UPDATER_PERIOD=5m
- PROVIDERS_XXX_PROVIDER=cloudflare
- PROVIDERS_XXX_DOMAIN=example.com
- PROVIDERS_XXX_HOST=subdomain
- PROVIDERS_XXX_TOKEN=yourtoken
restart: always
Configuration Options
- Update Frequency: Configurable update periods
- IP Sources: Multiple IP detection methods
- Provider Settings: Flexible provider configuration
- Notification Options: Updates and error notifications
- Security: Built-in security features
Advanced Features
Monitoring
-
Prometheus Integration:
- IP update metrics
- Provider status
- Error tracking
-
Health Checks:
- HTTP endpoint
- Docker health checks
- Status monitoring
Security Features
- HTTPS Support: Secure API communications
- Token-based Auth: Secure provider authentication
- Rate Limiting: Built-in request limiting
- Error Handling: Comprehensive error management
Use Cases
- Dynamic IP Management: Automatically update DNS records for changing IPs
- Home Server Hosting: Keep domain names pointing to home servers
- Multi-Domain Management: Handle multiple domains across different providers
- IPv6 Transition: Support for dual-stack environments
Development Features
- Written in Go for performance
- Extensive test coverage
- Docker multi-platform builds
- Clear logging and debugging
Requirements
- Docker for container deployment
- Or Go 1.20+ for building from source
- Provider API credentials
- IPv4 and/or IPv6 connectivity
Documentation
For detailed setup instructions and configuration options, visit the GitHub repository.
License
This project is licensed under the MIT License.