Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

luci-proto-wireguard: WireGuard VPN Protocol (New) #852

Merged
merged 9 commits into from
Nov 17, 2016
Merged

luci-proto-wireguard: WireGuard VPN Protocol (New) #852

merged 9 commits into from
Nov 17, 2016

Conversation

danrl
Copy link
Contributor

@danrl danrl commented Nov 15, 2016

WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
more useful than IPSec, while avoiding the massive headache. It intends to
be considerably more performant than OpenVPN. WireGuard is designed as a
general purpose VPN for running on embedded interfaces and super computers
alike, fit for many different circumstances.
It runs over UDP.

Signed-off-by: Dan Lüdtke mail@danrl.com

WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
more useful than IPSec, while avoiding the massive headache. It intends to
be considerably more performant than OpenVPN.  WireGuard is designed as a
general purpose VPN for running on embedded interfaces and super computers
alike, fit for many different circumstances.
It runs over UDP.

Signed-off-by: Dan Lüdtke mail@danrl.com
@danrl
Copy link
Contributor Author

danrl commented Nov 15, 2016

Related: openwrt/packages#3514

@p4yne
Copy link

p4yne commented Nov 15, 2016

With luci support this is getting better and better hopefully this gets merged into openwrt, really looking foward to get an VPN running with a gui on a 32 MB RAM and 4 MB ROM MIPS device (https://wiki.openwrt.org/toh/unbranded/a5-v11).

Signed-off-by: Dan Lüdtke <mail@danrl.com>

function proto.is_installed(self)
return nixio.fs.access("/lib/netifd/proto/wireguard.sh")
end
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File wireguard.sh is provided by package wireguard-tools which requires kmod-wireguard. Both are included in meta package wireguard.

Related PR: openwrt/packages#3514

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merged openwrt/packages#3514. Please squash the commits in this PR.

danrl and others added 6 commits November 15, 2016 21:40
WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
more useful than IPSec, while avoiding the massive headache. It intends to
be considerably more performant than OpenVPN.  WireGuard is designed as a
general purpose VPN for running on embedded interfaces and super computers
alike, fit for many different circumstances.
It runs over UDP.

Signed-off-by: Dan Lüdtke mail@danrl.com
The original data model definition assumed data from a quad-core CPU,
which caused errors with single- and dual-core processors.
Adjust the data model to work with also them.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes
state-of-the-art cryptography. It aims to be faster, simpler, leaner, and
more useful than IPSec, while avoiding the massive headache. It intends to
be considerably more performant than OpenVPN.  WireGuard is designed as a
general purpose VPN for running on embedded interfaces and super computers
alike, fit for many different circumstances.
It runs over UDP.

Signed-off-by: Dan Lüdtke mail@danrl.com
Signed-off-by: Dan Lüdtke <mail@danrl.com>
translate("Required. Base64-encoded private key for this interface.")
)
private_key.password = true
private_key.datatype = "and(minlength(44),maxlength(44))"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use rangelength(44, 44) here

translate("Public Key"),
translate("Required. Public key of peer.")
)
public_key.datatype = "and(minlength(44),maxlength(44))"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use rangelength(44, 44)

translate("Required. IP addresses and prefixes that this peer is allowed " ..
"to use inside the tunnel. Routes will be added accordingly.")
)
allowed_ips.datatype = "or(ip6addr, ip4addr)"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use ipaddr here which accepts both IPv4 and IPv6 addresses

@danrl
Copy link
Contributor Author

danrl commented Nov 15, 2016

@jow- thank you for taking the time to review my PR. I committed the changes as requested.
Please review again and let me know if there are further changes needed.

@danrl
Copy link
Contributor Author

danrl commented Nov 17, 2016

What will happen next? Who is responsible for the next step in the merging process?

@jow- jow- merged commit 36e695d into openwrt:master Nov 17, 2016
@jow-
Copy link
Contributor

jow- commented Nov 17, 2016

merged, thanks

@danrl danrl deleted the luci-proto-wireguard branch November 17, 2016 19:45
@kekukui
Copy link

kekukui commented Sep 3, 2017

It intends to be considerably more performant than OpenVPN.

This certainly does look innovative and promising, but how does it compare to SoftEther, which makes similar performance claims?

http://www.softether.org/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants