ChatGPT led me to tunsafe however the project seems to be abandoned?
I'm trying to find ways to convert wireguard traffic into plain HTTPS so as to not trigger some advanced DPI. So far, I have come across udp2raw and updtunnel which convert the traffic to TCP, but AFAIK the SSL used in Wireguard triggers DPIs.
Does anyone have a workaround? Thanks!
Everyone, there seems to be a way go achieve this:
Wireguard (change port to 443) + udp2raw or udptunnel to convert packets to TCP + stunnel (configured on both client and server - used by OpenVPN to encapsulate traffic in TLS).
This is basically what OpenVPN does, and theoretically this should do OK. I haven't tested it however, so if you have, please let us know!
I have heard of shadowsocks for this purpose. I have not tried it myself but I recall having read it being used to hide VPN traffic behind the great firewall. A brief intro to it here:
Keep in mind there's another very easy method to mess with wg traffic: breaking the connection once every 30 seconds or so. This won't affect the vast majority of real HTTPS connections but will ruin long lived connections like ssh or streaming.
True, but I just figured that it is possible to run Wireguard with stunnel, the latter is used by OpenVPN to wrap packets in TLS and masquerade as HTTPS traffic. If I can do that, and convert UDP packets to TCP with the software I mentioned in the post (changing the port is trivial), then I could achieve what I want!
I used stunnel years ago to tunnel both openVPN and SSH traffic and it worked flawlessly. Looks just like https web traffic to dpi software. Beware though, that long open connections can also set off flags, so don't keep connection's open permanently.
I'm aware that it is encrypted, however DPIs can pick out Wireguard traffic (due to the behaviour of SSL used in the protocol) and can identify/deny Wireguard traffic. I don't want that to happen. OpenVPN has a way to mask its traffic, I'm trying to see if anyone has done anything of the sort with Wireguard