luci-proto-unet: initial support

Initial support for the new unetd VPN daemon.

Currently this just enables seeing the VPN interface
in the LuCI network overview, plus the keys used.
No relevant config change possibilities, yet.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2022-09-06 23:46:14 +03:00
parent 10bcb228a7
commit 38ce475bc9
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,15 @@
#
# Copyright (C) 2022 Hannu Nyman <hannu.nyman@iki.fi>
#
# This is free software, licensed under the Apache License, Version 2.0 .
#
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Support for unetd VPN
LUCI_DEPENDS:=+unetd +unet-cli
LUCI_PKGARCH:=all
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature

View file

@ -0,0 +1,48 @@
'use strict';
'require form';
'require network';
'require tools.widgets as widgets';
return network.registerProtocol('unet', {
getI18n: function() {
return _('Unet');
},
getIfname: function() {
return this._ubus('l3_device') || this.sid;
},
getOpkgPackage: function() {
return 'unetd';
},
isFloating: function() {
return true;
},
isVirtual: function() {
return true;
},
getDevices: function() {
return null;
},
containsDevice: function(ifname) {
return (network.getIfnameOf(ifname) == this.getIfname());
},
renderFormOptions: function(s) {
var o;
o = s.taboption('general', form.DummyValue, 'device', _('Name of the tunnel device'));
o.optional = false;
o = s.taboption('general', form.DummyValue, 'key', _('Local wireguard key'));
o.optional = false;
o = s.taboption('general', form.DummyValue, 'auth_key', _('Key used to sign network config'));
o.optional = false;
}
});