feat(provider): add ApertoDNS Dynamic DNS provider#1074
Open
1r0n3d3v3l0per wants to merge 1 commit intoqdm12:masterfrom
Open
feat(provider): add ApertoDNS Dynamic DNS provider#10741r0n3d3v3l0per wants to merge 1 commit intoqdm12:masterfrom
1r0n3d3v3l0per wants to merge 1 commit intoqdm12:masterfrom
Conversation
Add support for ApertoDNS, a modern Dynamic DNS service implementing the ApertoDNS Protocol v1.2 with backward compatibility for legacy DynDNS2 protocol. Features: - Modern JSON API (POST /.well-known/apertodns/v1/update) - Bearer token authentication - Intelligent fallback to DynDNS2 for infrastructure errors - Configurable base URL for custom ApertoDNS-compatible servers - Full IPv4 and IPv6 support The provider uses the modern API as primary method and falls back to the legacy DynDNS2 endpoint only for infrastructure errors (404, 500), not for authentication or validation errors.
Author
|
Hi @qdm12, just a friendly ping. Let me know if you need any changes. Thank you for your availability. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add support for ApertoDNS Dynamic DNS provider.
ApertoDNS implements the ApertoDNS Protocol v1.2, a modern JSON-based API for Dynamic DNS updates with full backward compatibility with the legacy DynDNS2 protocol.
Features
POST /.well-known/apertodns/v1/updatewith Bearer token authentication and JSON request/responseGET /nic/updatefor maximum compatibilitybase_urlparameterConfiguration Example
{ "settings": [ { "provider": "apertodns", "domain": "apertodns.com", "owner": "home", "token": "your_api_token", "ip_version": "ipv4" } ] }Protocol Support
This provider implements both layers of the ApertoDNS Protocol:
POST /.well-known/apertodns/v1/update- Primary methodGET /nic/update- Fallback for infrastructure errorsThe provider intelligently uses the modern API first, falling back to legacy only for infrastructure errors (not for authentication or validation errors).
Testing
go build ./...passesgo vet ./...passesgofmtpassesFiles Changed
internal/provider/providers/apertodns/provider.go- New provider implementationinternal/provider/providers/apertodns/provider_test.go- Integration testsinternal/provider/constants/providers.go- Added ApertoDNS constantinternal/provider/provider.go- Added import and casedocs/apertodns.md- User documentationLinks