[PR #67] Add "Prefer IPv6" option for endpoint resolution #79

Open
opened 2026-10-13 21:05:53 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amneziawg-android/pull/67
Author: @Darudas
Created: 3/31/2026
Status: 🔄 Open

Base: master ← Head: feature/prefer-ipv6


📝 Commits (1)

  • 49497b8 feat: add per-interface IPv6 preference toggle for endpoint resolution

📊 Changes

9 files changed (+102 additions, -9 deletions)

View changed files

📝 tunnel/src/main/java/org/amnezia/awg/backend/GoBackend.java (+2 -1)
📝 tunnel/src/main/java/org/amnezia/awg/config/BadConfigException.java (+1 -0)
📝 tunnel/src/main/java/org/amnezia/awg/config/Config.java (+2 -1)
📝 tunnel/src/main/java/org/amnezia/awg/config/InetEndpoint.java (+24 -4)
📝 tunnel/src/main/java/org/amnezia/awg/config/Interface.java (+36 -1)
📝 tunnel/src/main/java/org/amnezia/awg/config/Peer.java (+12 -1)
📝 ui/src/main/java/org/amnezia/awg/viewmodel/InterfaceProxy.kt (+11 -0)
📝 ui/src/main/res/layout/tunnel_editor_fragment.xml (+13 -1)
📝 ui/src/main/res/values/strings.xml (+1 -0)

📄 Description

Endpoint resolution currently always prefers IPv4. This makes it impossible to use hostnames when the server is only reachable via IPv6 (e.g. behind CGNAT with no public IPv4).

This adds a PreferIpv6 = true/false toggle to the [Interface] section. When enabled, AAAA records are preferred over A records. Default behavior is unchanged.

If no IPv6 address is found, it falls back to IPv4 automatically.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/amnezia-vpn/amneziawg-android/pull/67 **Author:** [@Darudas](https://github.com/Darudas) **Created:** 3/31/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `feature/prefer-ipv6` --- ### 📝 Commits (1) - [`49497b8`](https://github.com/amnezia-vpn/amneziawg-android/commit/49497b82ed2fdc5116ac315ea1382c9cbba357e1) feat: add per-interface IPv6 preference toggle for endpoint resolution ### 📊 Changes **9 files changed** (+102 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `tunnel/src/main/java/org/amnezia/awg/backend/GoBackend.java` (+2 -1) 📝 `tunnel/src/main/java/org/amnezia/awg/config/BadConfigException.java` (+1 -0) 📝 `tunnel/src/main/java/org/amnezia/awg/config/Config.java` (+2 -1) 📝 `tunnel/src/main/java/org/amnezia/awg/config/InetEndpoint.java` (+24 -4) 📝 `tunnel/src/main/java/org/amnezia/awg/config/Interface.java` (+36 -1) 📝 `tunnel/src/main/java/org/amnezia/awg/config/Peer.java` (+12 -1) 📝 `ui/src/main/java/org/amnezia/awg/viewmodel/InterfaceProxy.kt` (+11 -0) 📝 `ui/src/main/res/layout/tunnel_editor_fragment.xml` (+13 -1) 📝 `ui/src/main/res/values/strings.xml` (+1 -0) </details> ### 📄 Description Endpoint resolution currently always prefers IPv4. This makes it impossible to use hostnames when the server is only reachable via IPv6 (e.g. behind CGNAT with no public IPv4). This adds a `PreferIpv6 = true/false` toggle to the `[Interface]` section. When enabled, AAAA records are preferred over A records. Default behavior is unchanged. If no IPv6 address is found, it falls back to IPv4 automatically. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amneziawg-android#79
No description provided.