Notes:
Copy the config file from your terminal window or transfer the actual file into TunSafe VPN client. It should handle the rest of the setup for you.
Reasons why to use WireGuard over OpenVPN:
It’s easier on the batteries of mobile devices due to smaller memory and CPU footprint, than OpenVPN.
Supposedly it’s more secure than OpenVPN, due to smaller code base - I personally don’t think that’s true, because any software can be vulnerable regardless of the size of its code base.
Works with switching between networks (e.g. going from WiFi to Cellular or vice versa).
I will add Android when I get a chance, but this is what I had time to try out for now.
Edit:
Just wanted to add this Arstechnica Article:
I will add android info when I get a chance. I have kids, house, and wife and two jobs taking up my free time to to work on that.
Edit 2:
Since there are questions about TunSafe’s security or code, here is the source code:
I appreciate anyone bringing stuff to my attention or correcting any mistakes or thing I overlooked. I have a very busy life, so I don’t have the time I used to have to research stuff. That’s why I love reddit, because the hive mind has informed in ways I couldn’t have done by myself- thank you all very much!
You missed one of the biggest benefits of WireGuard: the connection speed. WireGuard is almost instant, whereas OpenVPN can take up to a minute to create the tunnel.
Does this work on macOS? One of the main reasons I use a vpn is to remote in and I’d rather use a computer than an app if I’m doing anything besides a checkup on something or changing my blink1 status for a test
Thanks for the compilation of stuff. Wireguard is billed as “easier to set up than OpenVPN” but for me it’s the opposite.
Can you post (minus the keys, of course) what your conf file looks like so that all traffic passes through the VPN? Currently, when I run wireguard, it just takes down the internet at my house…
Thanks for the guide and pointers. Got this setup on my pi and have peers working from Mac, Android phone and chrome os. I have a question. In order to get pi hole DNS working I had to enable listen on all interfaces, permit all origins config in pi hole. Bit of a noob in this field so was wondering if this is fine or if there is a better way to set it up.
Edit: also for Android I had to change allowed ips to 192.168.2.0/24 instead of 192.168.2.1/24 as that would give me a bad address error. Config documented worked fine on my mac.
The battery difference for my initial test is barely noticeable, maybe 15 minutes extra battery life on an iPhone 7 Plus. However, the VPN connects ridiculously faster than OpenVPN and surfing the web over Visible (a Verizon MVNO) is much faster too. I will likely use both VPNs, with WebGuard for mobile devices and OpenVPN for beefier machines (laptops).