Skip to content

feat(provider): add ApertoDNS Dynamic DNS provider - #1074

Open
1r0n3d3v3l0per wants to merge 1 commit into
qdm12:masterfrom
apertodns:feature/apertodns-provider
Open

feat(provider): add ApertoDNS Dynamic DNS provider#1074
1r0n3d3v3l0per wants to merge 1 commit into
qdm12:masterfrom
apertodns:feature/apertodns-provider

Conversation

@1r0n3d3v3l0per

@1r0n3d3v3l0per 1r0n3d3v3l0per commented Jan 2, 2026

Copy link
Copy Markdown

Description

Add support for ApertoDNS Dynamic DNS provider.

ApertoDNS implements the ApertoDNS Protocol, a JSON/REST API for Dynamic DNS updates currently submitted to the IETF DNSOP working group as draft-ferro-dnsop-apertodns-protocol.

Implementation

  • POST {api_endpoint}/.well-known/apertodns/v1/update
  • Bearer token authentication, JSON request and response
  • Optional api_endpoint for self-hosted ApertoDNS-compatible servers
  • IPv4 and IPv6

Configuration

{
  "settings": [
    {
      "provider": "apertodns",
      "domain": "domain.com",
      "token": "your_api_token",
      "ip_version": "ipv4"
    }
  ]
}

Testing

  • go build ./...
  • go vet ./...
  • gofmt
  • go test ./...
  • Tested against the live API (success and error paths)

Changes since review

  • Removed the DynDNS2 fallback path and its test
  • base_urlapi_endpoint
  • Documentation trimmed to configuration only
  • Rebased onto master

@1r0n3d3v3l0per

Copy link
Copy Markdown
Author

Hi @qdm12, just a friendly ping. Let me know if you need any changes. Thank you for your availability.

@qdm12 qdm12 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Sorry I took forever to get to review this PR, life got in the way and all.
If you've moved on from this, feel free to let me know and I can address those comments, I'll push to your branch and merge it so you still get credits for your work.

Comment thread docs/apertodns.md Outdated
Comment thread docs/apertodns.md Outdated
Comment thread docs/apertodns.md Outdated
Comment thread docs/apertodns.md Outdated
Comment thread docs/apertodns.md Outdated
Comment thread internal/provider/providers/apertodns/provider.go Outdated
Comment thread internal/provider/providers/apertodns/provider.go Outdated
Comment thread internal/provider/providers/apertodns/provider.go Outdated
Comment thread internal/provider/providers/apertodns/provider.go Outdated
Comment thread internal/provider/providers/apertodns/provider.go Outdated
@1r0n3d3v3l0per
1r0n3d3v3l0per force-pushed the feature/apertodns-provider branch from 156388c to 024d748 Compare August 21, 2026 21:16
@1r0n3d3v3l0per

Copy link
Copy Markdown
Author

Rebased onto master and addressed the review. The DynDNS2 fallback is gone, tthe provider now only speaks the modern endpoint, as you suggested. Tested against the live API for both success and error paths.

The only open point is the test structure: I left a note on that thread.

@1r0n3d3v3l0per
1r0n3d3v3l0per requested a review from qdm12 August 21, 2026 21:47
Add support for ApertoDNS, a Dynamic DNS service implementing
the ApertoDNS Protocol, a JSON/REST API submitted to the IETF
DNSOP working group as draft-ferro-dnsop-apertodns-protocol.

- POST {api_endpoint}/.well-known/apertodns/v1/update
- Bearer token authentication
- Optional api_endpoint for self-hosted compatible servers
- IPv4 and IPv6
@1r0n3d3v3l0per
1r0n3d3v3l0per force-pushed the feature/apertodns-provider branch from 024d748 to 3157fd5 Compare August 21, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants