[PR #50] feat: import tunnel from amneziawg:// link #50

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

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amneziawg-apple/pull/50
Author: @drxid
Created: 9/29/2026
Status: 🔄 Open

Base: master ← Head: feat/import-link


📝 Commits (1)

  • 030ab45 feat: import tunnel from amneziawg:// link

📊 Changes

5 files changed (+563 additions, -0 deletions)

View changed files

📝 Sources/WireGuardApp/Localizable.xcstrings (+476 -0)
📝 Sources/WireGuardApp/UI/TunnelImporter.swift (+26 -0)
📝 Sources/WireGuardApp/UI/iOS/AppDelegate.swift (+4 -0)
📝 Sources/WireGuardApp/UI/iOS/Info.plist (+13 -0)
📝 Sources/WireGuardApp/UI/iOS/ViewController/MainViewController.swift (+44 -0)

📄 Description

What changes

  • Registers the amneziawg:// URL scheme in the iOS app.

  • Adds import from a link that carries the same wg-quick configuration as a QR code:

    amneziawg://import?config=<base64url config>&name=<tunnel name>
    

    config is required. Standard base64 is accepted as well. name is optional.

  • Before adding the tunnel, shows a confirmation alert with the server endpoint and an editable tunnel name, as the QR code scanner does. Nothing is added or activated without the user's confirmation.

  • A link opened on a cold start waits for TunnelsManager, the same way file import does.

  • Adds localized strings for all supported languages.

Why

Today a configuration can be imported only from a file, a QR code, or the clipboard. When the configuration is delivered on the same iPhone, the user cannot scan the QR code, and file import takes several steps through the share sheet.

A link opens the app directly. Safari shows the system "Open in AmneziaWG?" prompt, and the tunnel is added in one tap, in the same way as with other apps that support deep links. The format is not tied to a specific server panel: any tool that can render a QR code can also generate the link.

Requested in amnezia-vpn/amnezia-client#2498.


🔄 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-apple/pull/50 **Author:** [@drxid](https://github.com/drxid) **Created:** 9/29/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `feat/import-link` --- ### 📝 Commits (1) - [`030ab45`](https://github.com/amnezia-vpn/amneziawg-apple/commit/030ab45f495c1901d43906f72a4991735141a7d5) feat: import tunnel from amneziawg:// link ### 📊 Changes **5 files changed** (+563 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `Sources/WireGuardApp/Localizable.xcstrings` (+476 -0) 📝 `Sources/WireGuardApp/UI/TunnelImporter.swift` (+26 -0) 📝 `Sources/WireGuardApp/UI/iOS/AppDelegate.swift` (+4 -0) 📝 `Sources/WireGuardApp/UI/iOS/Info.plist` (+13 -0) 📝 `Sources/WireGuardApp/UI/iOS/ViewController/MainViewController.swift` (+44 -0) </details> ### 📄 Description ## What changes - Registers the `amneziawg://` URL scheme in the iOS app. - Adds import from a link that carries the same wg-quick configuration as a QR code: ``` amneziawg://import?config=<base64url config>&name=<tunnel name> ``` `config` is required. Standard base64 is accepted as well. `name` is optional. - Before adding the tunnel, shows a confirmation alert with the server endpoint and an editable tunnel name, as the QR code scanner does. Nothing is added or activated without the user's confirmation. - A link opened on a cold start waits for `TunnelsManager`, the same way file import does. - Adds localized strings for all supported languages. ## Why Today a configuration can be imported only from a file, a QR code, or the clipboard. When the configuration is delivered on the same iPhone, the user cannot scan the QR code, and file import takes several steps through the share sheet. A link opens the app directly. Safari shows the system "Open in AmneziaWG?" prompt, and the tunnel is added in one tap, in the same way as with other apps that support deep links. The format is not tied to a specific server panel: any tool that can render a QR code can also generate the link. Requested in amnezia-vpn/amnezia-client#2498. --- <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-apple#50
No description provided.