Re: WireGuard obfuscation & active probing: staying virtuous under pressure
Ian Chen <[email protected]> Wed, 22 Apr 2026 19:32:13 +0800
| Newsgroups | com.zx2c4.lists.wireguard |
|---|---|
| Message-ID | <LV5PR01MB9941483EF4AD106F533F88964DD22D2@LV5PR01MB994148.prod.exchangelabs.com> |
--=-61PfsPedgxCq7Z3hufzk Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > WireGuard over Shadowsocks-2022 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D >=20 > TL;DR: Too much crypto + deployment challenges. >=20 > Shadowsocks is a good solution against censor, but it strips 40 more > bytes from MTU and AEADs data twice: XChaCha20-Poly1305 of > Shadowsocks + > ChaCha20-Poly1305 of WireGuard burning twice as much carbon credits. > Performance matters: e.g. Mullvad introduces LWO claiming performance > improvement over Shadowsocks. I developed swgp-go around the same time I wrote the spec for Shadowsocks 2022. At the time, I intentionally left replay protection out of swgp-go, because I thought WireGuard wouldn't need it. Thanks to your work, I now understand that this assumption was wrong! So I added it into swgp-go: https://github.com/database64128/swgp-go/commit/207a055ab0a1058579f299fc102= 1cc64c95b21db The new "zero-overhead-2026" and "paranoid-2026" modes provide replay protection for handshake packets. Replayed packets are dropped by checking the nonce and an encrypted unix epoch timestamp, similar to how Shadowsocks 2022's TCP construction does it. This won't address the "DoSer" scenario, but should provide enough protection against censors without knowledge of the OBFSK. --=-61PfsPedgxCq7Z3hufzk Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRNztFeNG4pI7kx1vcconVGvtuLAQUCaeixvQAKCRAconVGvtuL AcOLAP4vwbRgxwmRRXqlD6YGd8ofZb7ci4IoeV83LuSlQjvKwwEAsnkeAlBsS48e vmoNxxAv0k4xwiH03nuBSn2fY6r1ggI= =l3zh -----END PGP SIGNATURE----- --=-61PfsPedgxCq7Z3hufzk--