Live data from Hacker News

GotaTun – Mullvad's WireGuard Implementation in Rust

mullvad.net

31–40 of 142 posts

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#31
post #6

Nice, I love WireGuard. I ended up building WrapGuard [1] to run applications without root access to the host and choose Go to write it in. I don't really know Rust, but does it make more sense for firmware/networking type software? Is there even a difference? 1. https://github.com/puzed/wrapguard

Very cool project. Is it always an LD_PRELOAD or can it function as a standalone SOCKS proxy similar to wireproxy?

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#32
post #12

I definitely noticed the performance boost on my Pixel 8, for some reason it seems to really not like wireguard-go, it struggled to pull even 100mbps, maybe something unoptimized on Google's custom hardware. With the new GotaTun version I can pull 500mbps+, though unfortunately it also seems to have introduced a bug that randomly prevents the phone from entering a deep sleep state, so occasionally my battery will ran…

Same behavior on raspberry pi 5. Might be just lack of arm optimizations.

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#33
post #16

I wish they would improve wireguard-the-protocol as well: wireguard doesn't stand a chance against gov/isp blocks.

There are forks of wg because of this. Like amnezia-wg

This is a neat project!

https://docs.amnezia.org/documentation/amnezia-wg/

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#34

Earlier quoted context omitted.

That's more of a job for an encapsulating protocol. (shadowsocks or similar) Wireguard isn't designed to be obfuscating alone. It's just a simple l3 udp tunnel with a minimal attack surface.

> It's just a simple l3 udp tunnel Wait, isn’t UDP L4? Am I missing something?

Wireguard is a L3 VPN that uses UDP (L4) for tunneling. Thats probably what was meant.

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#35
post #23

Its funny, this is another of the billions of reasons why Mullvad should be the VPN of choice. But so many fucking people can't ever get over that their favorite social media influencer/Youtuber is offering a code for 200% off of NordShark VPN, now with extra AI.

You do know that NordSec maintains its own rust fork of BoringTun: https://github.com/NordSecurity/NepTUN ? :)

There is also https://github.com/firezone/boringtun which is a fork by https://www.firezone.dev/

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#36

Its funny, this is another of the billions of reasons why Mullvad should be the VPN of choice. But so many fucking people can't ever get over that their favorite social media influencer/Youtuber is offering a code for 200% off of NordShark VPN, now with extra AI.

I wish I could use Mullvad. But their IPs are banned from many streaming services and they don't change them often enough so I am stuck with Nord.

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#37
post #20
post #6

Nice, I love WireGuard. I ended up building WrapGuard [1] to run applications without root access to the host and choose Go to write it in. I don't really know Rust, but does it make more sense for firmware/networking type software? Is there even a difference? 1. https://github.com/puzed/wrapguard

I believe you are making use of gVisor’s userspace TCP implementation. I’m not sure if there is something similar in Rust that would be so easy to set up like this.

There isn't something as mature as gVisor afaik. https://github.com/smoltcp-rs/smoltcp implements many of the same abstractions as gVisor.

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#38
post #29

Earlier quoted context omitted.

It became less of a choice for many after they sadly had to disable port forwarding.

Yeah, their reasoning is solid (easy to abuse) but it is still a very useful feature. AFAIK, at the moment your choices are AirVPN and ProtonVPN. AirVPN has static port forwarding and Proton has UPNP port forwarding.

private internet access has port forwarding too

Re: GotaTun – Mullvad's WireGuard Implementation in Rust

#39

Its funny, this is another of the billions of reasons why Mullvad should be the VPN of choice. But so many fucking people can't ever get over that their favorite social media influencer/Youtuber is offering a code for 200% off of NordShark VPN, now with extra AI.

Not to mention holding companies which snap up 15 competing VPNs and whitelabel most of them.
Post reply on HN