Merge pull request #2373 from mkg20001/infobinary

gluon-core: add gluon info binary
This commit is contained in:
Matthias Schiffer 2022-01-14 20:19:08 +01:00 committed by GitHub
commit a9f11e36bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 53 additions and 7 deletions

View File

@ -0,0 +1,38 @@
#!/usr/bin/lua
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 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
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 or 'n/a' },
}
local padTo = 24
for _, info in ipairs(values) do
local labelLen = string.len(info[1]) + 1
print(info[1] .. ':' .. string.rep(' ', padTo - labelLen), info[2])
end

View File

@ -7,7 +7,13 @@ local vpn_core = require 'gluon.mesh-vpn'
local M = {} local M = {}
function M.public_key() function M.public_key()
return util.trim(util.exec('/etc/init.d/fastd show_key mesh_vpn')) local key = util.trim(util.exec('/etc/init.d/fastd show_key mesh_vpn'))
if key == '' then
key = nil
end
return key
end end
function M.enable(val) function M.enable(val)

View File

@ -7,7 +7,13 @@ local vpn_core = require 'gluon.mesh-vpn'
local M = {} local M = {}
function M.public_key() function M.public_key()
return util.trim(util.exec("/lib/gluon/mesh-vpn/wireguard_pubkey.sh")) local key = util.trim(util.exec("/lib/gluon/mesh-vpn/wireguard_pubkey.sh"))
if key == '' then
key = nil
end
return key
end end
function M.enable(val) function M.enable(val)

View File

@ -18,10 +18,6 @@
if active_vpn ~= nil then if active_vpn ~= nil then
pubkey = active_vpn.public_key() pubkey = active_vpn.public_key()
end end
if pubkey == '' then
pubkey = nil
end
end end
local values = { local values = {