info.html 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <%-
  2. local fs = require 'nixio.fs'
  3. local uci = require('simple-uci').cursor()
  4. local lutil = require 'gluon.web.util'
  5. local pretty_hostname = require 'pretty_hostname'
  6. local site = require 'gluon.site_config'
  7. local sysconfig = require 'gluon.sysconfig'
  8. local platform = require 'gluon.platform'
  9. local util = require "gluon.util"
  10. local keys = {
  11. hostname = translate('Hostname'),
  12. primary_mac = translate('MAC address'),
  13. model = translate('Hardware model'),
  14. version = translate('Gluon version'),
  15. release = translate('Firmware release'),
  16. site = translate('Site'),
  17. pubkey = translate('Public VPN key'),
  18. }
  19. local values = {
  20. hostname = pretty_hostname.get(uci),
  21. primary_mac = sysconfig.primary_mac,
  22. model = platform.get_model(),
  23. version = util.trim(fs.readfile('/lib/gluon/gluon-version')),
  24. release = util.trim(fs.readfile('/lib/gluon/release')),
  25. site = site.site_name,
  26. pubkey = 'n/a',
  27. }
  28. local meshvpn_enabled = uci:get_bool("fastd", "mesh_vpn", "enabled")
  29. if meshvpn_enabled then
  30. local pubkey = util.trim(lutil.exec('/etc/init.d/fastd show_key mesh_vpn'))
  31. if pubkey ~= '' then
  32. values.pubkey = pubkey
  33. end
  34. end
  35. -%>
  36. <h2><%:Information%></h2>
  37. <% for _, key in ipairs({'hostname', 'primary_mac', 'model', 'version', 'release', 'site', 'pubkey'}) do %>
  38. <div class="gluon-value">
  39. <div class="gluon-value-title"><%=keys[key]%></div><div class="gluon-value-field"><%=pcdata(values[key] or 'n/a')%></div>
  40. </div>
  41. <% end %>