Add suggestion: periodic DNS re-resolution for Endpoint in iOS client #43
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.
Suggestion: Add periodic DNS re-resolution for Endpoint in WireGuard iOS client
Background
Currently, the WireGuard iOS client resolves the DNS name of the Endpoint only once, when the tunnel is activated. If the server’s IP address changes (e.g., dynamic IP with DDNS services like No-IP), the client keeps trying to connect to the old IP, causing the tunnel to fail silently.
Problem
iOS WireGuard does not re-resolve the DNS name of the Endpoint periodically, nor does it refresh the connection if the IP behind the hostname changes.
Proposed solution
Implement a periodic DNS re-resolution mechanism in the iOS client:
Benefits
Implementation notes
Timer.scheduledTimer
in Swift for periodic checksWireGuardNetworkExtension
to update the peer endpoint dynamicallyConclusion
This feature would greatly improve usability on mobile devices and dynamic network environments.
Thank you for considering this enhancement!
Best regards,
Rafael