[PR #34] feat: add Salamander ObfsPSK support #34

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

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amneziawg-apple/pull/34
Author: @yaroslav-ulta
Created: 6/15/2026
Status: 🔄 Open

Base: master ← Head: feat/salamander-awg2-obfs-psk


📝 Commits (2)

  • d371663 feat: add Salamander ObfsPSK support
  • 65f13b3 fix: avoid obfs psk config exclusivity violation

📊 Changes

11 files changed (+51 additions, -4 deletions)

View changed files

📝 Sources/Shared/Model/TunnelConfiguration+WgQuickConfig.swift (+10 -0)
📝 Sources/WireGuardApp/Tunnel/TunnelConfiguration+UapiConfig.swift (+10 -1)
📝 Sources/WireGuardApp/UI/TunnelViewModel.swift (+15 -0)
📝 Sources/WireGuardApp/UI/iOS/ViewController/TunnelDetailTableViewController.swift (+1 -0)
📝 Sources/WireGuardApp/UI/iOS/ViewController/TunnelEditTableViewController.swift (+2 -2)
📝 Sources/WireGuardApp/UI/macOS/ParseError+WireGuardAppError.swift (+2 -0)
📝 Sources/WireGuardApp/UI/macOS/ViewController/TunnelDetailTableViewController.swift (+1 -0)
📝 Sources/WireGuardKit/InterfaceConfiguration.swift (+2 -0)
📝 Sources/WireGuardKit/PacketTunnelSettingsGenerator.swift (+3 -0)
📝 Sources/WireGuardKitGo/go.mod (+3 -1)
📝 Sources/WireGuardKitGo/go.sum (+2 -0)

📄 Description

Summary

  • parse/export ObfsPSK in wg-quick configs
  • pass obfs_psk into UAPI settings and preserve it when reading runtime UAPI configs
  • expose ObfsPSK in iOS/macOS tunnel view/edit UI
  • temporarily point WireGuardKitGo at yaroslav-ulta/amneziawg-go pseudo-version pending amnezia-vpn/amneziawg-go#147

Validation

  • DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer swift build
  • Lima AWG2 E2E with kernel ulta-plus/vpnn-master, ObfsPSK tools, and amneziawg-go PR branch: tunnel ping both directions, external ping through tunnel, parallel site fetches, 10MB throughput download, fallback video download

Note: YouTube egress is currently refused from both host and Lima VM before the tunnel, so the YouTube-specific download was recorded as environment-blocked while the tunnel throughput/video fallback passed.


🔄 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/34 **Author:** [@yaroslav-ulta](https://github.com/yaroslav-ulta) **Created:** 6/15/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `feat/salamander-awg2-obfs-psk` --- ### 📝 Commits (2) - [`d371663`](https://github.com/amnezia-vpn/amneziawg-apple/commit/d3716633995fa7b07d5476d6b5740e7c156a5737) feat: add Salamander ObfsPSK support - [`65f13b3`](https://github.com/amnezia-vpn/amneziawg-apple/commit/65f13b3f37fbcc5597ce0d22ac4ffaee5e11696e) fix: avoid obfs psk config exclusivity violation ### 📊 Changes **11 files changed** (+51 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `Sources/Shared/Model/TunnelConfiguration+WgQuickConfig.swift` (+10 -0) 📝 `Sources/WireGuardApp/Tunnel/TunnelConfiguration+UapiConfig.swift` (+10 -1) 📝 `Sources/WireGuardApp/UI/TunnelViewModel.swift` (+15 -0) 📝 `Sources/WireGuardApp/UI/iOS/ViewController/TunnelDetailTableViewController.swift` (+1 -0) 📝 `Sources/WireGuardApp/UI/iOS/ViewController/TunnelEditTableViewController.swift` (+2 -2) 📝 `Sources/WireGuardApp/UI/macOS/ParseError+WireGuardAppError.swift` (+2 -0) 📝 `Sources/WireGuardApp/UI/macOS/ViewController/TunnelDetailTableViewController.swift` (+1 -0) 📝 `Sources/WireGuardKit/InterfaceConfiguration.swift` (+2 -0) 📝 `Sources/WireGuardKit/PacketTunnelSettingsGenerator.swift` (+3 -0) 📝 `Sources/WireGuardKitGo/go.mod` (+3 -1) 📝 `Sources/WireGuardKitGo/go.sum` (+2 -0) </details> ### 📄 Description ## Summary - parse/export ObfsPSK in wg-quick configs - pass obfs_psk into UAPI settings and preserve it when reading runtime UAPI configs - expose ObfsPSK in iOS/macOS tunnel view/edit UI - temporarily point WireGuardKitGo at yaroslav-ulta/amneziawg-go pseudo-version pending amnezia-vpn/amneziawg-go#147 ## Validation - DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer swift build - Lima AWG2 E2E with kernel ulta-plus/vpnn-master, ObfsPSK tools, and amneziawg-go PR branch: tunnel ping both directions, external ping through tunnel, parallel site fetches, 10MB throughput download, fallback video download Note: YouTube egress is currently refused from both host and Lima VM before the tunnel, so the YouTube-specific download was recorded as environment-blocked while the tunnel throughput/video fallback passed. --- <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#34
No description provided.