diff --git a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html
index 7e2c9e2df195acfb50ac49e3495618baeaa213b6..36eabb64d0ea5007a6406b39d46f9037fbeb6d40 100644
--- a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html
+++ b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html
@@ -1,35 +1,7 @@
 <%-
-	local uci = require('simple-uci').cursor()
-	local pretty_hostname = require 'pretty_hostname'
+	local info = require 'gluon.info'
 
-	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
-	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 },
-	}
+	local values = info.get_info_pretty(translate)
 -%>
 <h2><%:Information%></h2>
 <% for _, v in ipairs(values) do %>