How w0lv3/cloudflaredynamicdns works
This .NET worker synchronizes configured Cloudflare A records with the device’s public IPv4 address. It runs an update immediately, then repeats at the configured interval: fetch the address once, check each record, and update only records that differ. Configuration is validated at startup, and record-level failures are counted without stopping later records. The graph focuses on runtime calls and external data transfers; the README also documents Docker deployment, which is not a runtime subsystem.
Main entry points: Program.cs Host startup · DynamicDnsUpdater.cs Update coordinator · Worker.cs Periodic worker · PublicIpProvider.cs Public IP provider
Components 9
Worker runtime
- Host startup
Program.cs - Periodic worker
Worker.cs
Configuration
- Options validation
Configuration/DynamicDnsOptionsValidator.cs - DNS settings
Configuration/DynamicDnsOptions.cs
DNS synchronization
- Update coordinator
Services/DynamicDnsUpdater.cs - Public IP provider
Services/PublicIpProvider.cs - Cloudflare DNS client
Services/CloudflareDnsClient.cs
Other components
- Public IP service
- Cloudflare API
Connections 8
- Host startup → DNS settings: binds settings
- Host startup → Options validation: registers validator
- Host startup → Periodic worker: starts service
- Periodic worker → Update coordinator: runs immediately and periodically
- Update coordinator → Public IP provider: fetches IPv4
- Public IP provider → Public IP service: requests address
- Update coordinator → Cloudflare DNS client: checks each record
- Cloudflare DNS client → Cloudflare API: looks up and patches A record