The project structure is fighting againts norms. The author should not have src checked in. They should have their package as the root so it is "go get-able" and does not require the user to alter their GOPATH. To ensure that the proper dependency versions are present, they should vendor the dependencies. I would have opened an issue on GitHub for them, but I am not signed in currently. Cheers on releasing a neat too…
Good job! I'm looking into trying Go soon, is there something you'd recommend looking at for learning the Go ecosystem norms?
Show HN: Encrypted VPN in 2k lines of Go
61–66 of 66 posts
Re: Show HN: Encrypted VPN in 2k lines of Go
#62Earlier quoted context omitted.
What a bunch of senseless FUD. WireGuard is based on the Noise Protocol Framework [1], designed by the same fella as the Signal Protocol, and already used in production by millions of devices all around the world inside of WhatsApp. Not only that, but we have a formal verification [2] that the crypto is correct in the symbolic model. The WireGuard paper itself [3] was presented to the academic community at NDSS [4].…
> What a bunch of senseless FUD. inb4 strawman arguments and other funzies. Perhaps you should argue with me on my actual assertion, which is that 'we should use crypto that has stood the test and scrutiny of time'. Do not interpret my criticism as a personal attack. > already used in production by millions of devices all around the world inside of WhatsApp. Cool. This is good because that means we have a lot of eyes…
> What a bunch of senseless FUD
Is not a very courteous way to begin a rebuttal. Definitely makes it feel like an ad hominem.
Re: Show HN: Encrypted VPN in 2k lines of Go
#63The project structure is fighting againts norms. The author should not have src checked in. They should have their package as the root so it is "go get-able" and does not require the user to alter their GOPATH. To ensure that the proper dependency versions are present, they should vendor the dependencies. I would have opened an issue on GitHub for them, but I am not signed in currently. Cheers on releasing a neat too…
Thanks! This is definitely something I need to get around to once I read up a bit more on vendoring.
It is the future of official vendoring tools.
You could also look at `govendor`: https://github.com/kardianos/govendor
I've used govendor in some projects and found it agreeable. Best of luck :-)
Re: Show HN: Encrypted VPN in 2k lines of Go
#64The project structure is fighting againts norms. The author should not have src checked in. They should have their package as the root so it is "go get-able" and does not require the user to alter their GOPATH. To ensure that the proper dependency versions are present, they should vendor the dependencies. I would have opened an issue on GitHub for them, but I am not signed in currently. Cheers on releasing a neat too…
Thanks! This is definitely something I need to get around to once I read up a bit more on vendoring.
to get you started with a nice workflow. Uses gvt for vendoring. Tests over multiple packages are globbed correctly
Re: Show HN: Encrypted VPN in 2k lines of Go
#65I guess the main question is why should I use/trust this above OpenVPN/Tinc or WireGuard etc?
It appears all the ISPs I use have figured out how to kill OpenVPN after a few Mbytes have passed, resulting in annoying VPN service interruptions and restarts (I need to figure out how to restart it automatically) - and the browser reacts to the interrupted transfer by restarting it on the now VPNless network connection. Obscurity might be a defense against this (but wouldn't be if one were targeted instead of getti…
Re: Show HN: Encrypted VPN in 2k lines of Go
#66Earlier quoted context omitted.
It appears all the ISPs I use have figured out how to kill OpenVPN after a few Mbytes have passed, resulting in annoying VPN service interruptions and restarts (I need to figure out how to restart it automatically) - and the browser reacts to the interrupted transfer by restarting it on the now VPNless network connection. Obscurity might be a defense against this (but wouldn't be if one were targeted instead of getti…
That's not been my experience with OpenVPN. It's setup to reconnect to the VPN and only route traffic via the VPN (separate box, actually a repurposed old laptop). Take a look at ping and ping-restart options