98a1c196ed
This fully abstracts VPN methods, making gluon-mesh-vpn-fastd and gluon-mesh-vpn-tunneldigger completely self-contained. Provide a LUA interface for generic interacting with VPN methods in gluon-mesh-vpn-core and web packages. This also adds the ability to install tunneldigger and fastd to the same image, selecting the VPN method based on the selected domain. Signed-off-by: David Bauer <mail@david-bauer.net>
44 lines
1.2 KiB
HTML
44 lines
1.2 KiB
HTML
<%-
|
|
local uci = require('simple-uci').cursor()
|
|
local pretty_hostname = require 'pretty_hostname'
|
|
|
|
local site = require 'gluon.site'
|
|
local sysconfig = require 'gluon.sysconfig'
|
|
local platform = require 'gluon.platform'
|
|
local util = require "gluon.util"
|
|
local has_vpn, vpn = pcall(require, 'gluon.mesh-vpn')
|
|
|
|
local _ = translate
|
|
|
|
|
|
local pubkey
|
|
if has_vpn and vpn.enabled() then
|
|
local _, active_vpn = vpn.get_active_provider()
|
|
|
|
if active_vpn ~= nil then
|
|
pubkey = active_vpn.public_key()
|
|
end
|
|
|
|
if pubkey == '' then
|
|
pubkey = nil
|
|
end
|
|
end
|
|
|
|
local values = {
|
|
{ _('Hostname'), pretty_hostname.get(uci) },
|
|
{ _('MAC address'), sysconfig.primary_mac },
|
|
{ _('Hardware model'), platform.get_model() },
|
|
{ _('Gluon version') .. " / " .. _('Site version'), util.trim(util.readfile('/lib/gluon/gluon-version'))
|
|
.. " / " .. util.trim(util.readfile('/lib/gluon/site-version')) },
|
|
{ _('Firmware release'), util.trim(util.readfile('/lib/gluon/release')) },
|
|
{ _('Site'), site.site_name() },
|
|
{ _('Public VPN key'), pubkey },
|
|
}
|
|
-%>
|
|
<h2><%:Information%></h2>
|
|
<% for _, v in ipairs(values) do %>
|
|
<div class="gluon-value">
|
|
<div class="gluon-value-title"><%|v[1]%></div><div class="gluon-value-field-text"><%|v[2] or 'n/a'%></div>
|
|
</div>
|
|
<% end %>
|