Skip to content
Snippets Groups Projects
Commit 73a092db authored by Ben Oswald's avatar Ben Oswald
Browse files

add mac key for templating an url generation

file:
ffrn-gluon-config-mode-mesh-vpn/files/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
parents
No related branches found
No related tags found
No related merge requests found
include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-config-mode-mesh-vpn
PKG_VERSION:=2
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(GLUONDIR)/include/package.mk
PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG)
define Package/gluon-config-mode-mesh-vpn
SECTION:=gluon
CATEGORY:=Gluon
TITLE:=Toggle mesh-vpn and bandwidth limit
DEPENDS:=gluon-config-mode-core-virtual +gluon-mesh-vpn-fastd +gluon-simple-tc
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Configure
endef
define Build/Compile
$(call GluonBuildI18N,gluon-config-mode-mesh-vpn,i18n)
endef
define Package/gluon-config-mode-mesh-vpn/install
$(CP) ./files/* $(1)/
$(call GluonInstallI18N,gluon-config-mode-mesh-vpn,$(1))
endef
$(eval $(call BuildPackage,gluon-config-mode-mesh-vpn))
local uci = luci.model.uci.cursor()
local meshvpn_enabled = uci:get("fastd", "mesh_vpn", "enabled", "0")
if meshvpn_enabled ~= "1" then
return nil
else
local i18n = require "luci.i18n"
local util = require "luci.util"
local site = require 'gluon.site_config'
local sysconfig = require 'gluon.sysconfig'
local pubkey = util.trim(util.exec("/etc/init.d/fastd show_key " .. "mesh_vpn"))
local hostname = uci:get_first("system", "system", "hostname")
local mac = uci:get_first('gluon.sysconfig').primary_mac
local msg = i18n.translate('gluon-config-mode:pubkey')
return function ()
luci.template.render_string(msg, { pubkey=pubkey
, hostname=hostname
, site=site
, sysconfig=sysconfig
})
end
end
local cbi = require "luci.cbi"
local i18n = require "luci.i18n"
local uci = luci.model.uci.cursor()
local M = {}
function M.section(form)
local msg = i18n.translate('Your internet connection can be used to establish an ' ..
'encrypted connection with other nodes. ' ..
'Enable this option if there are no other nodes reachable ' ..
'over WLAN in your vicinity or you want to make a part of ' ..
'your connection\'s bandwidth available for the network. You can limit how ' ..
'much bandwidth the node will use at most.')
local s = form:section(cbi.SimpleSection, nil, msg)
local o
o = s:option(cbi.Flag, "_meshvpn", i18n.translate("Use internet connection (mesh VPN)"))
o.default = uci:get_bool("fastd", "mesh_vpn", "enabled") and o.enabled or o.disabled
o.rmempty = false
o = s:option(cbi.Flag, "_limit_enabled", i18n.translate("Limit bandwidth"))
o:depends("_meshvpn", "1")
o.default = uci:get_bool("gluon-simple-tc", "mesh_vpn", "enabled") and o.enabled or o.disabled
o.rmempty = false
o = s:option(cbi.Value, "_limit_ingress", i18n.translate("Downstream (kbit/s)"))
o:depends("_limit_enabled", "1")
o.value = uci:get("gluon-simple-tc", "mesh_vpn", "limit_ingress")
o.rmempty = false
o.datatype = "integer"
o = s:option(cbi.Value, "_limit_egress", i18n.translate("Upstream (kbit/s)"))
o:depends("_limit_enabled", "1")
o.value = uci:get("gluon-simple-tc", "mesh_vpn", "limit_egress")
o.rmempty = false
o.datatype = "integer"
end
function M.handle(data)
uci:set("fastd", "mesh_vpn", "enabled", data._meshvpn)
uci:save("fastd")
uci:commit("fastd")
-- checks for nil needed due to o:depends(...)
if data._limit_enabled ~= nil then
uci:set("gluon-simple-tc", "mesh_vpn", "interface")
uci:set("gluon-simple-tc", "mesh_vpn", "enabled", data._limit_enabled)
uci:set("gluon-simple-tc", "mesh_vpn", "ifname", "mesh-vpn")
if data._limit_ingress ~= nil then
uci:set("gluon-simple-tc", "mesh_vpn", "limit_ingress", data._limit_ingress)
end
if data._limit_egress ~= nil then
uci:set("gluon-simple-tc", "mesh_vpn", "limit_egress", data._limit_egress)
end
uci:commit("gluon-simple-tc")
uci:commit("gluon-simple-tc")
end
end
return M
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2015-03-19 22:05+0100\n"
"Last-Translator: Matthias Schiffer <mschiffer@universe-factory.net>\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Downstream (kbit/s)"
msgstr "Downstream (kbit/s)"
msgid "Limit bandwidth"
msgstr "Bandbreite begrenzen"
msgid "Upstream (kbit/s)"
msgstr "Upstream (kbit/s)"
msgid "Use internet connection (mesh VPN)"
msgstr "Internetverbindung nutzen (Mesh-VPN)"
msgid ""
"Your internet connection can be used to establish an encrypted connection "
"with other nodes. Enable this option if there are no other nodes reachable "
"over WLAN in your vicinity or you want to make a part of your connection's "
"bandwidth available for the network. You can limit how much bandwidth the "
"node will use at most."
msgstr ""
"Dein Knoten kann deine Internetverbindung nutzen um darüber eine "
"verschlüsselte Verbindung zu anderen Knoten aufzubauen. Die dafür "
"genutzte Bandbreite kannst du beschränken. Aktiviere die Option, falls keine "
"per WLAN erreichbaren Nachbarknoten in deiner Nähe sind oder du deine "
"Internetverbindung für das Mesh-Netzwerk zur Verfügung stellen möchtest."
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2015-08-12 23:30+0100\n"
"Last-Translator:Tobias Bernot <tqbs@airmail.cc>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Downstream (kbit/s)"
msgstr "Débit déscendant (kbit/s)"
msgid "Limit bandwidth"
msgstr "Limiter la bande passante"
msgid "Upstream (kbit/s)"
msgstr "Débit ascendant (kbit/s)"
msgid "Use internet connection (mesh VPN)"
msgstr "Utiliser la connection internet (Mesh-VPN)"
msgid ""
"Your internet connection can be used to establish an encrypted connection "
"with other nodes. Enable this option if there are no other nodes reachable "
"over WLAN in your vicinity or you want to make a part of your connection's "
"bandwidth available for the network. You can limit how much bandwidth the "
"node will use at most."
msgstr ""
"Votre noeud peut partager votre accès internet grâce une communication encryptée "
"avec d'autres noeuds. Vous pouvez limiter la bande passante utilisée par ceci. "
"Active cette option, si vous n'avez pas d'autres noeuds atteignables par WLAN "
"ou si vous voulez partager votre bande passante pour le réseau MESH."
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "Downstream (kbit/s)"
msgstr ""
msgid "Limit bandwidth"
msgstr ""
msgid "Upstream (kbit/s)"
msgstr ""
msgid "Use internet connection (mesh VPN)"
msgstr ""
msgid ""
"Your internet connection can be used to establish an encrypted connection "
"with other nodes. Enable this option if there are no other nodes reachable "
"over WLAN in your vicinity or you want to make a part of your connection's "
"bandwidth available for the network. You can limit how much bandwidth the "
"node will use at most."
msgstr ""
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment