Live data from Hacker News

Show HN: Encrypted VPN in 2k lines of Go

github.com

61–66 of 66 posts

Re: Show HN: Encrypted VPN in 2k lines of Go

#61

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?

The first is doing the tour at golang.org, then reading Effective Go at https://golang.org/doc/effective_go.html. There are lots of good reads at the golang blog, such as https://blog.golang.org/organizing-go-code. I really enjoy Go, and hope you do too!

Re: Show HN: Encrypted VPN in 2k lines of Go

#62
post #49

Earlier 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…

Bonus points for being classy despite being attacked.

> 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

#63

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…

Thanks! This is definitely something I need to get around to once I read up a bit more on vendoring.

Check out the `dep` tool: https://github.com/golang/dep

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

#64

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…

Thanks! This is definitely something I need to get around to once I read up a bit more on vendoring.

Checkout https://github.com/cloudflare/hellogopher

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

#65
post #45
post #4

I 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…

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

Re: Show HN: Encrypted VPN in 2k lines of Go

#66
post #65
post #45

Earlier 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

Thanks for the suggestions, but decreasing the ping interval only made the VPN fail faster, and there was no difference in behavior between ping-restart and ping-exit :-(.
Post reply on HN