diff options
author | danrl <mail@danrl.com> | 2016-11-15 16:55:47 +0100 |
---|---|---|
committer | danrl <mail@danrl.com> | 2016-11-15 21:43:09 +0100 |
commit | 9caa982c1958057a41c8b0bead13095d3c58466f (patch) | |
tree | 92c8418af26b7342a8c540160064a001b3127021 /protocols/luci-proto-wireguard/luasrc/model/network | |
parent | 5566b3acef245873d7cbb294f637a63a7f58f634 (diff) |
luci-proto-wireguard: WireGuard VPN Protocol (New)
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
Diffstat (limited to 'protocols/luci-proto-wireguard/luasrc/model/network')
-rw-r--r-- | protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua b/protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua new file mode 100644 index 0000000000..d6937618a7 --- /dev/null +++ b/protocols/luci-proto-wireguard/luasrc/model/network/proto_wireguard.lua @@ -0,0 +1,42 @@ +-- Copyright 2016 Dan Luedtke <mail@danrl.com> +-- Licensed to the public under the Apache License 2.0. + +local netmod = luci.model.network +local interface = luci.model.network.interface +local proto = netmod:register_protocol("wireguard") + +function proto.get_i18n(self) + return luci.i18n.translate("WireGuard VPN") +end + +function proto.ifname(self) + return self.sid +end + +function proto.get_interface(self) + return interface(self:ifname(), self) +end + +function proto.opkg_package(self) + return "wireguard-tools" +end + +function proto.is_installed(self) + return nixio.fs.access("/lib/netifd/proto/wireguard.sh") +end + +function proto.is_floating(self) + return true +end + +function proto.is_virtual(self) + return true +end + +function proto.get_interfaces(self) + return nil +end + +function proto.contains_interface(self, ifc) + return (netmod:ifnameof(ifc) == self:ifname()) +end |