mullvad anti-censorship command configures methods to make WireGuard traffic less detectable, helping circumvent censorship and establish tunnels on restricted networks.
Overview
Anti-censorship features disguise WireGuard traffic as other protocols to bypass:- Deep packet inspection (DPI)
- Protocol-based blocking
- VPN detection systems
- Network traffic analysis
Usage
Subcommands
get
Display current anti-censorship settings.set
Configure anti-censorship mode.auto- Automatically enable when needed (default)on- Always use anti-censorship methodsoff- Never use anti-censorship methods
udp2tcp
Configure UDP-over-TCP obfuscation specifically.Examples
Check current settings
Enable anti-censorship
Use automatic mode
Disable anti-censorship
Configure UDP-over-TCP
Available methods
UDP-over-TCP (UDP2TCP)
Encapsulates UDP traffic inside TCP connections:- Bypasses UDP blocking
- Appears as standard TCP traffic
- Small latency increase due to TCP overhead
- Works on networks that only allow TCP
Automatic mode behavior
Inauto mode:
- First connection attempt uses standard WireGuard
- If connection fails, tries with obfuscation
- Remembers successful method for future connections
- Periodically retries without obfuscation to optimize performance
When to use
Enable anti-censorship when:- VPN connections are blocked in your region
- Corporate networks block VPN protocols
- You experience connection failures on public WiFi
- ISP throttles or blocks VPN traffic
- You travel frequently between different networks
- Connection reliability varies
- You want optimal performance with fallback protection
- Operating on unrestricted networks
- Maximum performance is required
- You’re certain WireGuard is not blocked
Anti-censorship is different from obfuscation settings in the
tunnel command. This setting specifically addresses connectivity to Mullvad servers, while tunnel obfuscation affects the tunnel protocol itself.Performance impact
- UDP-over-TCP: 5-15% throughput reduction, slight latency increase
- Auto mode: No impact when not needed, minimal impact when enabled
Configuration persistence
Settings are saved in the daemon configuration and persist across:- Daemon restarts
- System reboots
- App updates
Exit status
0- Success1- Daemon error or invalid argument
Related commands
tunnel- Configure tunnel-level obfuscation protocolsapi-access- Configure API access methodsconnect- Connect to VPN