mirror of
https://github.com/amnezia-vpn/amneziawg-go.git
synced 2026-10-13 21:34:25 +00:00
[PR #132] [MERGED] win missing obfs layers #160
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
amnezia-vpn/amneziawg-go#160
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/amnezia-vpn/amneziawg-go/pull/132
Author: @FrogRocky
Created: 4/13/2026
Status: ✅ Merged
Merged: 4/27/2026
Merged by: @ygurov
Base:
experimental← Head:experimental-win-missing-layers📝 Commits (10+)
4875f14fix(conn): honor Windows UDP conceal settings in the default bind7e0d630fix(tests): aligning tests for windows426c4ebfix(tests): added smoke tests for win248a7ccfix(tests): compatibility fixesb22b0c5fix(tests): compatibility fixes0bbe760fix(tests): compatibility fixes10695b8fix(tests): compatibility fixesb364b9bfix(tests): compatibility fixesf6ac82afix(tests): compatibility fixesb85b822fix(tests): compatibility fixes📊 Changes
14 files changed (+1936 additions, -97 deletions)
View changed files
📝
conceal/conn_masquarade.go(+24 -47)📝
conceal/conn_prelude.go(+23 -39)➕
conceal/udp_datagram_pipeline.go(+272 -0)📝
conn/conceal.go(+12 -4)📝
conn/default.go(+1 -1)📝
conn/default_windows.go(+1 -1)➕
conn/udp_conceal_bind.go(+230 -0)➕
conn/udp_conceal_bind_android.go(+23 -0)➕
conn/udp_conceal_bind_test.go(+605 -0)➕
conn/udp_conceal_bind_windows.go(+21 -0)📝
ipc/uapi_windows.go(+13 -1)➕
tests/cmd/awg-keygen/main.go(+62 -0)➕
tests/windows_single_vm_conceal_smoke.ps1(+645 -0)📝
tun/checksum_test.go(+4 -4)📄 Description
Summary
This PR brings Windows closer to feature parity for conceal/obfuscation flows and adds a practical Windows smoke-test harness for validating them.
The main functional change is that the Windows default UDP bind now honors conceal settings instead of always going through the plain fast path. In addition, this PR adds a single-VM Windows smoke test for both UDP and TCP conceal scenarios, plus a few Windows-specific compatibility fixes needed to make the test path usable in practice.
What changed
Windows UDP conceal-aware bind selection
StdNetBindwhen any conceal layer is enabled:Windows conceal smoke harness
tests/windows_single_vm_conceal_smoke.ps1tests/cmd/awg-keygento generate keypairs and PSKs for the harnessnetwork=udpnetwork=tcppktmon, and verify the active conceal configuration through UAPI state plus handshake behaviorThe smoke harness confirms that the conceal configuration is applied and that handshakes succeed on Windows. On the tested setup,
pktmonloopback capture did not reliably expose raw payload markers, so capture-byte assertions remain best-effort rather than the source of truth.Notes
This PR intentionally favors correctness and testability over forcing the Windows fast path in conceal-enabled UDP scenarios. Plain UDP keeps the fast path; conceal-enabled UDP now uses the conceal-capable bind path.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.