Skip to content

Introduction to AmneziaWG Obfuscation Parameters

AmneziaWG is a WireGuard-based VPN protocol with built-in traffic obfuscation. Its obfuscation parameters control how traffic is disguised to avoid detection by strict network controls. Below is a detailed breakdown of AmneziaWG version differences, obfuscation parameters, their constraints, and recommended settings.

AmneziaWG V2.0

Compared with AmneziaWG v1.0, v2.0 provides stronger obfuscation by adding new parameters (S3~S4) and using dynamic headers for packet types (H1~H4 as ranges instead of fixed values). In addition, AmneziaWG 2.0 supports the I1~I5 parameters, which send formatted UDP packets before each handshake to disguise AmneziaWG traffic as ordinary non‑VPN traffic, effectively bypassing deep packet inspection and enhancing connectivity in restricted networks.

These enhancements make VPN traffic more difficult to detect while preserving WireGuard's high speed and low latency.

Here is how to identify the AmneziaWG version:

  • V1.0: No S3~S4 parameters; H1~H4 are single fixed integers.
  • V2.0: Includes S3~S4 parameters; H1~H4 are defined as numeric ranges; supports I1~I5 parameters.

Note: The parameters I1-I5 are not auto-generated. Users can manually add them as extra lines in the VPN configuration file to make AmneziaWG traffic look like other common protocols, such as QUIC or WebRTC.

Parameter Overview

Parameter Description Constraints Auto-generated
Jc The number of junk packets before the client initiating the handshake (for interference with traffic feature detection) 1~128 4~12
Jmin Minimun size for random junk packets (bytes); Must be configured with Jmax to define junk packats size 0 ≤ Jmin < Jmax < 65535 0 <= jmin < jmax < 1280
Jmax Maximun size for random junk packets 0 ≤ Jmin < Jmax < 65535 0≤ Jmin < Jmax < 1280
S1 Random prefixes for Init packets 0 ≤ S1 ≤ 1132 15~150
S2 Random prefixes for Response packets 0 ≤ S2 ≤ 1188
S1 + 56 ≠ S2
15~150
S3 Random prefixes for Cookie packets 0 ≤ S3 ≤ 1216 15~150
S4 Random prefixes for Data packets 0 ≤ S4 ≤ 32 0~32
H1~H4 Dynamic headers for packet types; Random values (v1.0) or ranges (v2.0) 5~2147483647; H1, H2, H3, and H4 must be different 5~2147483647
I1~I5 Signature packets for protocol imitation arbitrary hex-blob N/A

References: AmneziaWG Official Documentation


Still have questions? Visit our Community Forum or Contact us.