Merge pull request #325 from chris5560/master-app-ddns
luci-app-ddns: update to version 2.2.0-1
This commit is contained in:
commit
f47be40cd4
12 changed files with 538 additions and 101 deletions
|
@ -9,16 +9,17 @@ include $(TOPDIR)/rules.mk
|
||||||
# LuCI specific settings
|
# LuCI specific settings
|
||||||
LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts)
|
LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts)
|
||||||
LUCI_DEPENDS:=+luci-mod-admin-full +ddns-scripts
|
LUCI_DEPENDS:=+luci-mod-admin-full +ddns-scripts
|
||||||
|
LUCI_PKGARCH:=all
|
||||||
|
|
||||||
PKG_NAME:=luci-app-ddns
|
PKG_NAME:=luci-app-ddns
|
||||||
|
|
||||||
# Version == major.minor.patch
|
# Version == major.minor.patch
|
||||||
# increase on new functionality (minor) or patches (patch)
|
# increase on new functionality (minor) or patches (patch)
|
||||||
PKG_VERSION:=2.1.1
|
PKG_VERSION:=2.2.0
|
||||||
|
|
||||||
# Release == build
|
# Release == build
|
||||||
# increase on changes of translation files
|
# increase on changes of translation files
|
||||||
PKG_RELEASE:=0
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
PKG_LICENSE:=Apache-2.0
|
||||||
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
|
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
|
||||||
|
|
|
@ -15,7 +15,7 @@ local SYS = require "luci.sys"
|
||||||
local DDNS = require "luci.tools.ddns" -- ddns multiused functions
|
local DDNS = require "luci.tools.ddns" -- ddns multiused functions
|
||||||
local UTIL = require "luci.util"
|
local UTIL = require "luci.util"
|
||||||
|
|
||||||
DDNS_MIN = "2.1.0-2" -- minimum version of service required
|
DDNS_MIN = "2.2.0-1" -- minimum version of service required
|
||||||
|
|
||||||
function index()
|
function index()
|
||||||
local nxfs = require "nixio.fs" -- global definitions not available
|
local nxfs = require "nixio.fs" -- global definitions not available
|
||||||
|
@ -36,6 +36,7 @@ function index()
|
||||||
entry( {"admin", "services", "ddns", "detail"}, cbi("ddns/detail"), nil ).leaf = true
|
entry( {"admin", "services", "ddns", "detail"}, cbi("ddns/detail"), nil ).leaf = true
|
||||||
entry( {"admin", "services", "ddns", "hints"}, cbi("ddns/hints",
|
entry( {"admin", "services", "ddns", "hints"}, cbi("ddns/hints",
|
||||||
{hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}), nil ).leaf = true
|
{hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}), nil ).leaf = true
|
||||||
|
entry( {"admin", "services", "ddns", "global"}, cbi("ddns/global"), nil ).leaf = true
|
||||||
entry( {"admin", "services", "ddns", "logview"}, call("logread") ).leaf = true
|
entry( {"admin", "services", "ddns", "logview"}, call("logread") ).leaf = true
|
||||||
entry( {"admin", "services", "ddns", "startstop"}, call("startstop") ).leaf = true
|
entry( {"admin", "services", "ddns", "startstop"}, call("startstop") ).leaf = true
|
||||||
entry( {"admin", "services", "ddns", "status"}, call("status") ).leaf = true
|
entry( {"admin", "services", "ddns", "status"}, call("status") ).leaf = true
|
||||||
|
@ -90,7 +91,7 @@ local function _get_status()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- process running but update needs to happen
|
-- process running but update needs to happen
|
||||||
-- problems it force_seconds > uptime
|
-- problems if force_seconds > uptime
|
||||||
force_seconds = (force_seconds > uptime) and uptime or force_seconds
|
force_seconds = (force_seconds > uptime) and uptime or force_seconds
|
||||||
if pid > 0 and ( lasttime + force_seconds - uptime ) <= 0 then
|
if pid > 0 and ( lasttime + force_seconds - uptime ) <= 0 then
|
||||||
datenext = "_verify_"
|
datenext = "_verify_"
|
||||||
|
@ -103,7 +104,7 @@ local function _get_status()
|
||||||
elseif pid == 0 and enabled == 0 then
|
elseif pid == 0 and enabled == 0 then
|
||||||
datenext = "_disabled_"
|
datenext = "_disabled_"
|
||||||
|
|
||||||
-- no process running and NOT
|
-- no process running and enabled
|
||||||
elseif pid == 0 and enabled ~= 0 then
|
elseif pid == 0 and enabled ~= 0 then
|
||||||
datenext = "_stopped_"
|
datenext = "_stopped_"
|
||||||
end
|
end
|
||||||
|
@ -149,11 +150,11 @@ end
|
||||||
-- called by XHR.get from detail_logview.htm
|
-- called by XHR.get from detail_logview.htm
|
||||||
function logread(section)
|
function logread(section)
|
||||||
-- read application settings
|
-- read application settings
|
||||||
local uci = UCI.cursor()
|
local uci = UCI.cursor()
|
||||||
local log_dir = uci:get("ddns", "global", "log_dir") or "/var/log/ddns"
|
local log_dir = uci:get("ddns", "global", "log_dir") or "/var/log/ddns"
|
||||||
local lfile=log_dir .. "/" .. section .. ".log"
|
local lfile = log_dir .. "/" .. section .. ".log"
|
||||||
|
local ldata = NXFS.readfile(lfile)
|
||||||
|
|
||||||
local ldata=NXFS.readfile(lfile)
|
|
||||||
if not ldata or #ldata == 0 then
|
if not ldata or #ldata == 0 then
|
||||||
ldata="_nodata_"
|
ldata="_nodata_"
|
||||||
end
|
end
|
||||||
|
@ -164,10 +165,10 @@ end
|
||||||
-- called by XHR.get from overview_status.htm
|
-- called by XHR.get from overview_status.htm
|
||||||
function startstop(section, enabled)
|
function startstop(section, enabled)
|
||||||
local uci = UCI.cursor()
|
local uci = UCI.cursor()
|
||||||
|
local pid = DDNS.get_pid(section)
|
||||||
local data = {} -- Array to transfer data to javascript
|
local data = {} -- Array to transfer data to javascript
|
||||||
|
|
||||||
-- if process running we want to stop and return
|
-- if process running we want to stop and return
|
||||||
local pid = DDNS.get_pid(section)
|
|
||||||
if pid > 0 then
|
if pid > 0 then
|
||||||
local tmp = NX.kill(pid, 15) -- terminate
|
local tmp = NX.kill(pid, 15) -- terminate
|
||||||
NX.nanosleep(2) -- 2 second "show time"
|
NX.nanosleep(2) -- 2 second "show time"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
-- Licensed to the public under the Apache License 2.0.
|
-- Licensed to the public under the Apache License 2.0.
|
||||||
|
|
||||||
local NX = require "nixio"
|
local NX = require "nixio"
|
||||||
local FS = require "nixio.fs"
|
local NXFS = require "nixio.fs"
|
||||||
local SYS = require "luci.sys"
|
local SYS = require "luci.sys"
|
||||||
local UTIL = require "luci.util"
|
local UTIL = require "luci.util"
|
||||||
local DISP = require "luci.dispatcher"
|
local DISP = require "luci.dispatcher"
|
||||||
|
@ -14,21 +14,22 @@ local DTYP = require "luci.cbi.datatypes"
|
||||||
local DDNS = require "luci.tools.ddns" -- ddns multiused functions
|
local DDNS = require "luci.tools.ddns" -- ddns multiused functions
|
||||||
|
|
||||||
-- takeover arguments -- #######################################################
|
-- takeover arguments -- #######################################################
|
||||||
section = arg[1]
|
local section = arg[1]
|
||||||
|
|
||||||
-- check supported options -- ##################################################
|
-- check supported options -- ##################################################
|
||||||
-- saved to local vars here because doing multiple os calls slow down the system
|
-- saved to local vars here because doing multiple os calls slow down the system
|
||||||
has_ipv6 = DDNS.check_ipv6() -- IPv6 support
|
local has_ipv6 = DDNS.check_ipv6() -- IPv6 support
|
||||||
has_ssl = DDNS.check_ssl() -- HTTPS support
|
local has_ssl = DDNS.check_ssl() -- HTTPS support
|
||||||
has_proxy = DDNS.check_proxy() -- Proxy support
|
local has_proxy = DDNS.check_proxy() -- Proxy support
|
||||||
has_dnstcp = DDNS.check_bind_host() -- DNS TCP support
|
local has_dnstcp = DDNS.check_bind_host() -- DNS TCP support
|
||||||
has_force = has_ssl and has_dnstcp -- Force IP Protocoll
|
local has_force = has_ssl and has_dnstcp -- Force IP Protocoll
|
||||||
|
|
||||||
-- html constants -- ###########################################################
|
-- html constants -- ###########################################################
|
||||||
font_red = "<font color='red'>"
|
local LFLF = (DDNS.get_theme() == "Bootstrap") and [[<br /><br />]] or [[]]
|
||||||
font_off = "</font>"
|
local font_red = "<font color='red'>"
|
||||||
bold_on = "<strong>"
|
local font_off = "</font>"
|
||||||
bold_off = "</strong>"
|
local bold_on = "<strong>"
|
||||||
|
local bold_off = "</strong>"
|
||||||
|
|
||||||
-- error text constants -- #####################################################
|
-- error text constants -- #####################################################
|
||||||
err_ipv6_plain = translate("IPv6 not supported") .. " - " ..
|
err_ipv6_plain = translate("IPv6 not supported") .. " - " ..
|
||||||
|
@ -136,7 +137,10 @@ log_dir = m.uci:get(m.config, "global", "log_dir") or "/var/log/ddns"
|
||||||
-- cbi-section definition -- ###################################################
|
-- cbi-section definition -- ###################################################
|
||||||
ns = m:section( NamedSection, section, "service",
|
ns = m:section( NamedSection, section, "service",
|
||||||
translate("Details for") .. ([[: <strong>%s</strong>]] % section),
|
translate("Details for") .. ([[: <strong>%s</strong>]] % section),
|
||||||
translate("Configure here the details for selected Dynamic DNS service") )
|
translate("Configure here the details for selected Dynamic DNS service.")
|
||||||
|
.. [[<br /><a href="http://wiki.openwrt.org/doc/uci/ddns#version_1x" target="_blank">]]
|
||||||
|
.. translate("For detailed information about parameter settings look here.")
|
||||||
|
.. [[</a>]] )
|
||||||
ns.instance = section -- arg [1]
|
ns.instance = section -- arg [1]
|
||||||
ns:tab("basic", translate("Basic Settings"), nil )
|
ns:tab("basic", translate("Basic Settings"), nil )
|
||||||
ns:tab("advanced", translate("Advanced Settings"), nil )
|
ns:tab("advanced", translate("Advanced Settings"), nil )
|
||||||
|
@ -344,7 +348,7 @@ function ush.validate(self, value)
|
||||||
end
|
end
|
||||||
elseif (#url > 0) then
|
elseif (#url > 0) then
|
||||||
return nil, err_tab_basic(self) .. translate("either url or script could be set")
|
return nil, err_tab_basic(self) .. translate("either url or script could be set")
|
||||||
elseif not FS.access(value) then
|
elseif not NXFS.access(value) then
|
||||||
return nil, err_tab_basic(self) .. translate("File not found")
|
return nil, err_tab_basic(self) .. translate("File not found")
|
||||||
end
|
end
|
||||||
return value
|
return value
|
||||||
|
@ -765,7 +769,7 @@ function ips.validate(self, value)
|
||||||
if (usev6:formvalue(section) == "0" and src4:formvalue(section) ~= "script")
|
if (usev6:formvalue(section) == "0" and src4:formvalue(section) ~= "script")
|
||||||
or (usev6:formvalue(section) == "1" and src6:formvalue(section) ~= "script") then
|
or (usev6:formvalue(section) == "1" and src6:formvalue(section) ~= "script") then
|
||||||
return ""
|
return ""
|
||||||
elseif not value or not (#value > 0) or not FS.access(split[1], "x") then
|
elseif not value or not (#value > 0) or not NXFS.access(split[1], "x") then
|
||||||
return nil, err_tab_adv(self) ..
|
return nil, err_tab_adv(self) ..
|
||||||
translate("not found or not executable - Sample: '/path/to/script.sh'")
|
translate("not found or not executable - Sample: '/path/to/script.sh'")
|
||||||
else
|
else
|
||||||
|
@ -855,6 +859,34 @@ function eif6.write(self, section, value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- IPv4/IPv6 - bind_network -- #################################################
|
||||||
|
if has_ssl or ( ( m:get(section, "bind_network") or "" ) ~= "" ) then
|
||||||
|
bnet = ns:taboption("advanced", ListValue, "bind_network",
|
||||||
|
translate("Bind Network") )
|
||||||
|
bnet:depends("ipv4_source", "web")
|
||||||
|
bnet:depends("ipv6_source", "web")
|
||||||
|
bnet.rmempty = true
|
||||||
|
bnet.default = ""
|
||||||
|
bnet:value("", translate("-- default --"))
|
||||||
|
WADM.cbi_add_networks(bnet)
|
||||||
|
function bnet.cfgvalue(self, section)
|
||||||
|
local value = AbstractValue.cfgvalue(self, section)
|
||||||
|
if not has_ssl and value ~= "" then
|
||||||
|
self.description = bold_on .. font_red ..
|
||||||
|
translate("Binding to a specific network not supported") .. font_off .. "<br />" ..
|
||||||
|
translate("please set to 'default'") .. " !" .. bold_off
|
||||||
|
else
|
||||||
|
self.description = translate("OPTIONAL: Network to use for communication") ..
|
||||||
|
"<br />" .. translate("Casual users should not change this setting")
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
function bnet.validate(self, value)
|
||||||
|
if (value ~= "" and has_ssl ) or value == "" then return value end
|
||||||
|
return nil, err_tab_adv(self) .. translate("Binding to a specific network not supported") .. " !"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- IPv4 + IPv6 - force_ipversion (NEW) -- ######################################
|
-- IPv4 + IPv6 - force_ipversion (NEW) -- ######################################
|
||||||
-- optional to force wget/curl and host to use only selected IP version
|
-- optional to force wget/curl and host to use only selected IP version
|
||||||
-- command parameter "-4" or "-6"
|
-- command parameter "-4" or "-6"
|
||||||
|
@ -1198,7 +1230,7 @@ lv.inputtitle = translate("Read / Reread log file")
|
||||||
lv.rows = 50
|
lv.rows = 50
|
||||||
function lv.cfgvalue(self, section)
|
function lv.cfgvalue(self, section)
|
||||||
local lfile=log_dir .. "/" .. section .. ".log"
|
local lfile=log_dir .. "/" .. section .. ".log"
|
||||||
if FS.access(lfile) then
|
if NXFS.access(lfile) then
|
||||||
return lfile .. "\n" .. translate("Please press [Read] button")
|
return lfile .. "\n" .. translate("Please press [Read] button")
|
||||||
end
|
end
|
||||||
return lfile .. "\n" .. translate("File not found or empty")
|
return lfile .. "\n" .. translate("File not found or empty")
|
||||||
|
|
159
applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua
Normal file
159
applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
-- Copyright 2014 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
|
||||||
|
-- Licensed to the public under the Apache License 2.0.
|
||||||
|
|
||||||
|
local NX = require "nixio"
|
||||||
|
local NXFS = require "nixio.fs"
|
||||||
|
local DISP = require "luci.dispatcher"
|
||||||
|
local SYS = require "luci.sys"
|
||||||
|
local DDNS = require "luci.tools.ddns" -- ddns multiused functions
|
||||||
|
|
||||||
|
-- Bootstrap theme needs 2 or 3 additional linefeeds for tab description for better optic
|
||||||
|
local LFLF = (DDNS.get_theme() == "Bootstrap") and [[<br /><br />]] or [[]]
|
||||||
|
|
||||||
|
-- cbi-map definition -- #######################################################
|
||||||
|
local m = Map("ddns")
|
||||||
|
|
||||||
|
-- first need to close <a> from cbi map template our <a> closed by template
|
||||||
|
m.title = [[</a><a href="]] .. DISP.build_url("admin", "services", "ddns") .. [[">]]
|
||||||
|
.. translate("Dynamic DNS")
|
||||||
|
|
||||||
|
m.description = translate("Dynamic DNS allows that your router can be reached with " ..
|
||||||
|
"a fixed hostname while having a dynamically changing IP address.")
|
||||||
|
|
||||||
|
m.redirect = DISP.build_url("admin", "services", "ddns")
|
||||||
|
|
||||||
|
function m.commit_handler(self)
|
||||||
|
if self.changed then -- changes ?
|
||||||
|
os.execute("/etc/init.d/ddns reload &") -- reload configuration
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- cbi-section definition -- ###################################################
|
||||||
|
local ns = m:section( NamedSection, "global", "ddns",
|
||||||
|
translate("Global Settings"),
|
||||||
|
translate("Configure here the details for all Dynamic DNS services including this LuCI application.")
|
||||||
|
.. [[<br /><strong>]]
|
||||||
|
.. translate("It is NOT recommended for casual users to change settings on this page.")
|
||||||
|
.. [[</strong><br />]]
|
||||||
|
.. [[<a href="http://wiki.openwrt.org/doc/uci/ddns#version_2x1" target="_blank">]]
|
||||||
|
.. translate("For detailed information about parameter settings look here.")
|
||||||
|
.. [[</a>]]
|
||||||
|
.. LFLF )
|
||||||
|
-- section might not exist
|
||||||
|
function ns.cfgvalue(self, section)
|
||||||
|
if not self.map:get(section) then
|
||||||
|
self.map:set(section, nil, self.sectiontype)
|
||||||
|
end
|
||||||
|
return self.map:get(section)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- allow_local_ip -- ##########################################################
|
||||||
|
local ali = ns:option(Flag, "allow_local_ip")
|
||||||
|
ali.title = translate("Allow non-public IP's")
|
||||||
|
ali.description = translate("Non-public and by default blocked IP's") .. ":"
|
||||||
|
.. [[<br /><strong>IPv4: </strong>]]
|
||||||
|
.. "0/8, 10/8, 100.64/10, 127/8, 169.254/16, 172.16/12, 192.168/16"
|
||||||
|
.. [[<br /><strong>IPv6: </strong>]]
|
||||||
|
.. "::/32, f000::/4"
|
||||||
|
ali.reempty = true
|
||||||
|
ali.default = "0"
|
||||||
|
function ali.parse(self, section)
|
||||||
|
DDNS.flag_parse(self, section)
|
||||||
|
end
|
||||||
|
function ali.validate(self, value)
|
||||||
|
if value == self.default then
|
||||||
|
return "" -- default = empty
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- date_format -- #############################################################
|
||||||
|
local df = ns:option(Value, "date_format")
|
||||||
|
df.title = translate("Date format")
|
||||||
|
df.description = [[<a href="http://www.cplusplus.com/reference/ctime/strftime/" target="_blank">]]
|
||||||
|
.. translate("For supported codes look here")
|
||||||
|
.. [[</a>]]
|
||||||
|
df.template = "ddns/global_value"
|
||||||
|
df.rmempty = true
|
||||||
|
df.default = "%F %R"
|
||||||
|
df.date_string = ""
|
||||||
|
function df.cfgvalue(self, section)
|
||||||
|
local value = AbstractValue.cfgvalue(self, section) or self.default
|
||||||
|
local epoch = os.time()
|
||||||
|
self.date_string = DDNS.epoch2date(epoch, value)
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
function df.validate(self, value)
|
||||||
|
if value == self.default then
|
||||||
|
return "" -- default = empty
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- run_dir -- #################################################################
|
||||||
|
local rd = ns:option(Value, "run_dir")
|
||||||
|
rd.title = translate("Status directory")
|
||||||
|
rd.description = translate("Directory contains PID and other status information for each running section")
|
||||||
|
rd.rmempty = true
|
||||||
|
rd.default = "/var/run/ddns"
|
||||||
|
function rd.validate(self, value)
|
||||||
|
if value == self.default then
|
||||||
|
return "" -- default = empty
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- log_dir -- #################################################################
|
||||||
|
local ld = ns:option(Value, "log_dir")
|
||||||
|
ld.title = translate("Log directory")
|
||||||
|
ld.description = translate("Directory contains Log files for each running section")
|
||||||
|
ld.rmempty = true
|
||||||
|
ld.default = "/var/log/ddns"
|
||||||
|
function ld.validate(self, value)
|
||||||
|
if value == self.default then
|
||||||
|
return "" -- default = empty
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- log_lines -- ###############################################################
|
||||||
|
local ll = ns:option(Value, "log_lines")
|
||||||
|
ll.title = translate("Log length")
|
||||||
|
ll.description = translate("Number of last lines stored in log files")
|
||||||
|
ll.rmempty = true
|
||||||
|
ll.default = "250"
|
||||||
|
ll.datatype = "and(uinteger,min(1))"
|
||||||
|
function ll.validate(self, value)
|
||||||
|
local n = tonumber(value)
|
||||||
|
if not n or math.floor(n) ~= n or n < 1 then
|
||||||
|
return nil, self.title .. ": " .. translate("minimum value '1'")
|
||||||
|
end
|
||||||
|
if value == self.default then
|
||||||
|
return "" -- default = empty
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- use_curl -- ################################################################
|
||||||
|
if (SYS.call([[ grep -i "\+ssl" /usr/bin/wget >/dev/null 2>&1 ]]) == 0)
|
||||||
|
and NXFS.access("/usr/bin/curl") then
|
||||||
|
local pc = ns:option(Flag, "use_curl")
|
||||||
|
pc.title = translate("Use cURL")
|
||||||
|
pc.description = translate("If both cURL and GNU Wget are installed, Wget is used by default.")
|
||||||
|
.. [[<br />]]
|
||||||
|
.. translate("To use cURL activate this option.")
|
||||||
|
pc.orientation = "horizontal"
|
||||||
|
pc.rmempty = true
|
||||||
|
pc.default = "0"
|
||||||
|
function pc.parse(self, section)
|
||||||
|
DDNS.flag_parse(self, section)
|
||||||
|
end
|
||||||
|
function pc.validate(self, value)
|
||||||
|
if value == self.default then
|
||||||
|
return "" -- default = empty
|
||||||
|
end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
|
@ -8,7 +8,7 @@ local DDNS = require "luci.tools.ddns" -- ddns multiused functions
|
||||||
|
|
||||||
-- check supported options -- ##################################################
|
-- check supported options -- ##################################################
|
||||||
-- saved to local vars here because doing multiple os calls slow down the system
|
-- saved to local vars here because doing multiple os calls slow down the system
|
||||||
has_ssl = DDNS.check_ssl() -- HTTPS support
|
has_ssl = DDNS.check_ssl() -- HTTPS support and --bind-network / --interface
|
||||||
has_proxy = DDNS.check_proxy() -- Proxy support
|
has_proxy = DDNS.check_proxy() -- Proxy support
|
||||||
has_dnstcp = DDNS.check_bind_host() -- DNS TCP support
|
has_dnstcp = DDNS.check_bind_host() -- DNS TCP support
|
||||||
-- correct ddns-scripts version
|
-- correct ddns-scripts version
|
||||||
|
@ -88,6 +88,22 @@ if not has_ssl then
|
||||||
translate("In some versions cURL/libcurl in OpenWrt is compiled without proxy support.")
|
translate("In some versions cURL/libcurl in OpenWrt is compiled without proxy support.")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- No bind_network
|
||||||
|
if not has_ssl then
|
||||||
|
local dv = s:option(DummyValue, "_no_bind_network")
|
||||||
|
dv.titleref = DISP.build_url("admin", "system", "packages")
|
||||||
|
dv.rawhtml = true
|
||||||
|
dv.title = bold_on ..
|
||||||
|
translate("Binding to a specific network not supported") .. bold_off
|
||||||
|
dv.value = translate("Neither GNU Wget with SSL nor cURL installed to select a network to use for communication.") ..
|
||||||
|
"<br />- " ..
|
||||||
|
translate("You should install GNU Wget with SSL or cURL package.") ..
|
||||||
|
"<br />- " ..
|
||||||
|
translate("GNU Wget will use the IP of given network, cURL will use the physical interface.") ..
|
||||||
|
"<br />- " ..
|
||||||
|
translate("In some versions cURL/libcurl in OpenWrt is compiled without proxy support.")
|
||||||
|
end
|
||||||
|
|
||||||
-- cURL without proxy support
|
-- cURL without proxy support
|
||||||
if has_ssl and not has_proxy then
|
if has_ssl and not has_proxy then
|
||||||
local dv = s:option(DummyValue, "_no_proxy")
|
local dv = s:option(DummyValue, "_no_proxy")
|
||||||
|
|
|
@ -27,8 +27,6 @@ bold_off = [[</strong>]]
|
||||||
m = Map("ddns")
|
m = Map("ddns")
|
||||||
|
|
||||||
-- first need to close <a> from cbi map template our <a> closed by template
|
-- first need to close <a> from cbi map template our <a> closed by template
|
||||||
--m.title = [[</a><a href="javascript:alert(']] .. CTRL.show_versions() ..[[')">]] ..
|
|
||||||
-- translate("Dynamic DNS")
|
|
||||||
m.title = [[</a><a href="javascript:alert(']]
|
m.title = [[</a><a href="javascript:alert(']]
|
||||||
.. translate("Version Information")
|
.. translate("Version Information")
|
||||||
.. [[\n\nluci-app-ddns]]
|
.. [[\n\nluci-app-ddns]]
|
||||||
|
@ -109,9 +107,13 @@ end
|
||||||
-- TableSection definition -- ##################################################
|
-- TableSection definition -- ##################################################
|
||||||
ts = m:section( TypedSection, "service",
|
ts = m:section( TypedSection, "service",
|
||||||
translate("Overview"),
|
translate("Overview"),
|
||||||
translate("Below is a list of configured DDNS configurations and their current state." .. "<br />" ..
|
translate("Below is a list of configured DDNS configurations and their current state.")
|
||||||
"If you want to send updates for IPv4 and IPv6 you need to define two separate Configurations " ..
|
.. "<br />"
|
||||||
"i.e. 'myddns_ipv4' and 'myddns_ipv6'") )
|
.. translate("If you want to send updates for IPv4 and IPv6 you need to define two separate Configurations "
|
||||||
|
.. "i.e. 'myddns_ipv4' and 'myddns_ipv6'")
|
||||||
|
.. "<br />"
|
||||||
|
.. [[<a href="]] .. DISP.build_url("admin", "services", "ddns", "global") .. [[">]]
|
||||||
|
.. translate("To change global settings click here") .. [[</a>]] )
|
||||||
ts.sectionhead = translate("Configuration")
|
ts.sectionhead = translate("Configuration")
|
||||||
ts.template = "cbi/tblsection"
|
ts.template = "cbi/tblsection"
|
||||||
ts.addremove = true
|
ts.addremove = true
|
||||||
|
|
|
@ -35,7 +35,7 @@ end
|
||||||
|
|
||||||
-- check if Wget with SSL support or cURL installed
|
-- check if Wget with SSL support or cURL installed
|
||||||
function check_ssl()
|
function check_ssl()
|
||||||
if (SYS.call([[ grep -iq "\+ssl" /usr/bin/wget 2>/dev/null ]]) == 0) then
|
if (SYS.call([[ grep -i "\+ssl" /usr/bin/wget >/dev/null 2>&1 ]]) == 0) then
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
return NXFS.access("/usr/bin/curl")
|
return NXFS.access("/usr/bin/curl")
|
||||||
|
@ -45,12 +45,12 @@ end
|
||||||
-- check if Wget with SSL or cURL with proxy support installed
|
-- check if Wget with SSL or cURL with proxy support installed
|
||||||
function check_proxy()
|
function check_proxy()
|
||||||
-- we prefere GNU Wget for communication
|
-- we prefere GNU Wget for communication
|
||||||
if (SYS.call([[ grep -iq "\+ssl" /usr/bin/wget 2>/dev/null ]]) == 0) then
|
if (SYS.call([[ grep -i "\+ssl" /usr/bin/wget >/dev/null 2>&1 ]]) == 0) then
|
||||||
return true
|
return true
|
||||||
|
|
||||||
-- if not installed cURL must support proxy
|
-- if not installed cURL must support proxy
|
||||||
elseif NXFS.access("/usr/bin/curl") then
|
elseif NXFS.access("/usr/bin/curl") then
|
||||||
return (SYS.call([[ grep -iq all_proxy /usr/lib/libcurl.so* 2>/dev/null ]]) == 0)
|
return (SYS.call([[ grep -i all_proxy /usr/lib/libcurl.so* >/dev/null 2>&1 ]]) == 0)
|
||||||
|
|
||||||
-- only BusyBox Wget is installed
|
-- only BusyBox Wget is installed
|
||||||
else
|
else
|
||||||
|
@ -121,6 +121,20 @@ function ipkg_ver_installed(pkg)
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- get the "name" of the current active theme
|
||||||
|
function get_theme()
|
||||||
|
local _uci = UCI.cursor()
|
||||||
|
local _base = _uci:get("luci", "main", "mediaurlbase") -- only pathname
|
||||||
|
_uci:unload("luci")
|
||||||
|
|
||||||
|
for k, v in pairs(luci.config.themes) do
|
||||||
|
if k:sub(1, 1) ~= "." and v == _base then
|
||||||
|
return k
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
-- replacement of build-in read of UCI option
|
-- replacement of build-in read of UCI option
|
||||||
-- modified AbstractValue.cfgvalue(self, section) from cbi.lua
|
-- modified AbstractValue.cfgvalue(self, section) from cbi.lua
|
||||||
-- needed to read from other option then current value definition
|
-- needed to read from other option then current value definition
|
||||||
|
|
34
applications/luci-app-ddns/luasrc/view/ddns/global_value.htm
Normal file
34
applications/luci-app-ddns/luasrc/view/ddns/global_value.htm
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
|
||||||
|
<!-- ++ BEGIN ++ Dynamic DNS ++ global_value.htm ++ -->
|
||||||
|
<%+cbi/valueheader%>
|
||||||
|
<script type="text/javascript">//<![CDATA[
|
||||||
|
// event handler on changed date
|
||||||
|
function onkeyup_date(value) {
|
||||||
|
var obj = document.getElementById("cbid.ddns.global.date_format.help");
|
||||||
|
if ( !obj ) { return; } // security check
|
||||||
|
|
||||||
|
if ( value == "" || value.length == 0 ) { value = "%F %R"; }
|
||||||
|
var now = new Date();
|
||||||
|
var txt = now.toLocaleFormat(value);
|
||||||
|
// handle newline(%n) and tab(%t) needs to be converted to HTML
|
||||||
|
txt = txt.replace(new RegExp('\r?\n','g'), '<br />');
|
||||||
|
txt = txt.replace(new RegExp('\t','g'), ' ');
|
||||||
|
obj.innerHTML = "<%:Current setting%>: <strong>" + txt + "<\/strong>";
|
||||||
|
}
|
||||||
|
//]]></script>
|
||||||
|
|
||||||
|
<input type="text" class="cbi-input-text" onchange="cbi_d_update(this.id)" onkeyup="onkeyup_date(this.value)"
|
||||||
|
<%=
|
||||||
|
attr("name", cbid) .. attr("id", cbid) .. attr("value", self:cfgvalue(section) or self.default) ..
|
||||||
|
ifattr(self.size, "size") .. ifattr(self.placeholder, "placeholder")
|
||||||
|
%>
|
||||||
|
/>
|
||||||
|
<br />
|
||||||
|
<div class="cbi-value-description">
|
||||||
|
<span class="cbi-value-helpicon"><img src="<%=resource%>/cbi/help.gif" alt="<%:help%>" /><%=self.description%></span>
|
||||||
|
<br />
|
||||||
|
<span id="<%=cbid%>.help" class="cbi-value-helpicon"><%:Current setting%>: <strong><%=self.date_string%></strong></span>
|
||||||
|
</div> <!-- div class="cbi-value-description" -->
|
||||||
|
</div> <!-- div class="cbi-value-field" -->
|
||||||
|
</div> <!-- div class="cbi-value cbi-value-last" -->
|
||||||
|
<!-- ++ END ++ Dynamic DNS ++ global_value.htm ++ -->
|
|
@ -146,8 +146,7 @@
|
||||||
} else {
|
} else {
|
||||||
// should have data because status changed
|
// should have data because status changed
|
||||||
// so update screen
|
// so update screen
|
||||||
if (data)
|
if (data) { _data2elements(data); }
|
||||||
_data2elements(data);
|
|
||||||
}
|
}
|
||||||
// make me invisible
|
// make me invisible
|
||||||
obj.parentNode.style.display = "none";
|
obj.parentNode.style.display = "none";
|
||||||
|
@ -155,20 +154,19 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
var ddns_ov_XHR = new XHR();
|
|
||||||
// force to immediate show status on page load (not waiting for XHR.poll)
|
// force to immediate show status on page load (not waiting for XHR.poll)
|
||||||
ddns_ov_XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
||||||
function(x, data) {
|
function(x, data) {
|
||||||
_data2elements(data);
|
if (data) { _data2elements(data); }
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// define only ONE XHR.poll in a page because if one is running it blocks the other one
|
// define only ONE XHR.poll in a page because if one is running it blocks the other one
|
||||||
// optimum is to define on Map or Section Level from here you can reach all elements
|
// optimum is to define on Map or Section Level from here you can reach all elements
|
||||||
// we need update every 15 seconds only
|
// we need update every 15 seconds only
|
||||||
ddns_ov_XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
||||||
function(x, data) {
|
function(x, data) {
|
||||||
_data2elements(data);
|
if (data) { _data2elements(data); }
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -14,53 +14,38 @@
|
||||||
tbl.deleteRow(1);
|
tbl.deleteRow(1);
|
||||||
|
|
||||||
// variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
|
// variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
|
||||||
var x = -1;
|
var i = -1;
|
||||||
var i = 1;
|
var j = 1;
|
||||||
|
|
||||||
// no data => no ddns-scripts Version 2 installed
|
|
||||||
if ( !data ) {
|
|
||||||
var txt = '<br /><strong><font color="red"><%:Old version of ddns-scripts installed%></font>' ;
|
|
||||||
var url = '<a href="' ;
|
|
||||||
url += '<%=luci.dispatcher.build_url("admin", "system", "packages")%>' ;
|
|
||||||
url += '"><%:install update here%></a></strong>' ;
|
|
||||||
var tr = tbl.insertRow(-1);
|
|
||||||
tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
|
|
||||||
var td = tr.insertCell(-1);
|
|
||||||
td.colSpan = 2 ;
|
|
||||||
td.innerHTML = txt + " - " + url
|
|
||||||
tr.insertCell(-1).colSpan = 3 ;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// DDNS Service disabled
|
// DDNS Service disabled
|
||||||
if (data[0].enabled == 0) {
|
if (data[0].enabled == 0) {
|
||||||
var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
|
var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
|
||||||
var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
|
var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
|
||||||
var tr = tbl.insertRow(-1);
|
var tr = tbl.insertRow(-1);
|
||||||
tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
|
tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((j + i) % 2) + 1);
|
||||||
var td = tr.insertCell(-1);
|
var td = tr.insertCell(-1);
|
||||||
td.colSpan = 2 ;
|
td.colSpan = 2 ;
|
||||||
td.innerHTML = txt + " - " + url
|
td.innerHTML = txt + " - " + url
|
||||||
tr.insertCell(-1).colSpan = 3 ;
|
tr.insertCell(-1).colSpan = 3 ;
|
||||||
x++ ;
|
i++ ;
|
||||||
}
|
}
|
||||||
|
|
||||||
for( i = 1; i < data.length; i++ )
|
for( j = 1; j < data.length; j++ )
|
||||||
{
|
{
|
||||||
var tr = tbl.insertRow(-1);
|
var tr = tbl.insertRow(-1);
|
||||||
tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1) ;
|
tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((j + i) % 2) + 1) ;
|
||||||
|
|
||||||
// configuration
|
// configuration
|
||||||
tr.insertCell(-1).innerHTML = '<strong>' + data[i].section + '</strong>' ;
|
tr.insertCell(-1).innerHTML = '<strong>' + data[j].section + '</strong>' ;
|
||||||
|
|
||||||
// pid
|
// pid
|
||||||
// data[i].pid ignored here
|
// data[j].pid ignored here
|
||||||
|
|
||||||
// last update
|
// last update
|
||||||
// data[i].datelast ignored here
|
// data[j].datelast ignored here
|
||||||
|
|
||||||
// next update
|
// next update
|
||||||
switch (data[i].datenext) {
|
switch (data[j].datenext) {
|
||||||
case "_empty_":
|
case "_empty_":
|
||||||
tr.insertCell(-1).innerHTML = '<em><%:Unknown error%></em>' ;
|
tr.insertCell(-1).innerHTML = '<em><%:Unknown error%></em>' ;
|
||||||
break;
|
break;
|
||||||
|
@ -80,18 +65,18 @@
|
||||||
tr.insertCell(-1).innerHTML = '<em><%:Verify%></em>';
|
tr.insertCell(-1).innerHTML = '<em><%:Verify%></em>';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
tr.insertCell(-1).innerHTML = data[i].datenext ;
|
tr.insertCell(-1).innerHTML = data[j].datenext ;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// domain
|
// domain
|
||||||
if (data[i].domain == "_nodomain_")
|
if (data[j].domain == "_nodomain_")
|
||||||
tr.insertCell(-1).innerHTML = '<em><%:config error%></em>';
|
tr.insertCell(-1).innerHTML = '<em><%:config error%></em>';
|
||||||
else
|
else
|
||||||
tr.insertCell(-1).innerHTML = data[i].domain;
|
tr.insertCell(-1).innerHTML = data[j].domain;
|
||||||
|
|
||||||
// registered IP
|
// registered IP
|
||||||
switch (data[i].reg_ip) {
|
switch (data[j].reg_ip) {
|
||||||
case "_nodomain_":
|
case "_nodomain_":
|
||||||
tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
|
tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
|
||||||
break;
|
break;
|
||||||
|
@ -102,15 +87,15 @@
|
||||||
tr.insertCell(-1).innerHTML = '<em><%:IPv6 not supported%></em>';
|
tr.insertCell(-1).innerHTML = '<em><%:IPv6 not supported%></em>';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
tr.insertCell(-1).innerHTML = data[i].reg_ip;
|
tr.insertCell(-1).innerHTML = data[j].reg_ip;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// monitored interface
|
// monitored interface
|
||||||
if (data[i].iface == "_nonet_")
|
if (data[j].iface == "_nonet_")
|
||||||
tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
|
tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
|
||||||
else
|
else
|
||||||
tr.insertCell(-1).innerHTML = data[i].iface;
|
tr.insertCell(-1).innerHTML = data[j].iface;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tbl.rows.length == 1 || (data[0].enabled == 0 && tbl.rows.length == 2) ) {
|
if (tbl.rows.length == 1 || (data[0].enabled == 0 && tbl.rows.length == 2) ) {
|
||||||
|
@ -125,19 +110,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var ddns_status_XHR = new XHR();
|
|
||||||
// force to immediate show status (not waiting for XHR.poll)
|
// force to immediate show status (not waiting for XHR.poll)
|
||||||
ddns_status_XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
||||||
function(x, data) {
|
function(x, data) {
|
||||||
_data2elements(x, data);
|
if (data) { _data2elements(x, data); }
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
ddns_status_XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
|
||||||
function(x, data) {
|
function(x, data) {
|
||||||
_data2elements(x, data);
|
if (data) { _data2elements(x, data); }
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
//]]></script>
|
//]]></script>
|
||||||
|
|
||||||
<fieldset class="cbi-section" id="ddns_status_section">
|
<fieldset class="cbi-section" id="ddns_status_section">
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: luci-app-ddns\n"
|
"Project-Id-Version: luci-app-ddns\n"
|
||||||
"POT-Creation-Date: 2015-01-17 18:28+0100\n"
|
"POT-Creation-Date: 2015-02-08 18:30+0100\n"
|
||||||
"PO-Revision-Date: 2015-01-17 18:36+0100\n"
|
"PO-Revision-Date: 2015-02-08 18:36+0100\n"
|
||||||
"Last-Translator: Christian Schoenebeck <christian.schoenebeck@gmail.com>\n"
|
"Last-Translator: Christian Schoenebeck <christian.schoenebeck@gmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
@ -20,9 +20,15 @@ msgstr "&"
|
||||||
msgid "-- custom --"
|
msgid "-- custom --"
|
||||||
msgstr "-- benutzerdefiniert --"
|
msgstr "-- benutzerdefiniert --"
|
||||||
|
|
||||||
|
msgid "-- default --"
|
||||||
|
msgstr "-- Standard --"
|
||||||
|
|
||||||
msgid "Advanced Settings"
|
msgid "Advanced Settings"
|
||||||
msgstr "Erweiterte Einstellungen"
|
msgstr "Erweiterte Einstellungen"
|
||||||
|
|
||||||
|
msgid "Allow non-public IP's"
|
||||||
|
msgstr "Erlaube Nicht-öffentliche IPs"
|
||||||
|
|
||||||
msgid "Applying changes"
|
msgid "Applying changes"
|
||||||
msgstr "Änderungen anwenden"
|
msgstr "Änderungen anwenden"
|
||||||
|
|
||||||
|
@ -38,12 +44,14 @@ msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Below is a list of configured DDNS configurations and their current state."
|
"Below is a list of configured DDNS configurations and their current state."
|
||||||
"<br />If you want to send updates for IPv4 and IPv6 you need to define two "
|
|
||||||
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Liste der definierten DDNS Konfigurationen und ihr aktueller Status.<br /"
|
"Liste der konfigurierten DDNS Konfigurationen und ihr momentaner Status."
|
||||||
">Wenn Sie Aktualisierungen für IPv4 und IPv6 senden möchten benötigen Sie "
|
|
||||||
"zwei Konfigurationen z.B. 'myddns_ipv4' und 'myddns_ipv6'"
|
msgid "Bind Network"
|
||||||
|
msgstr "Bind-Netzwerk"
|
||||||
|
|
||||||
|
msgid "Binding to a specific network not supported"
|
||||||
|
msgstr "'Bind' an ein bestimmtes Netzwerk wird nicht unterstützt"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
|
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
|
||||||
|
@ -59,6 +67,9 @@ msgstr ""
|
||||||
"BusyBox's nslookup unterstützt es nicht das TCP-Protokoll für DNS Anfragen "
|
"BusyBox's nslookup unterstützt es nicht das TCP-Protokoll für DNS Anfragen "
|
||||||
"anstelle des standardmäßigen UDP-Protokolls."
|
"anstelle des standardmäßigen UDP-Protokolls."
|
||||||
|
|
||||||
|
msgid "Casual users should not change this setting"
|
||||||
|
msgstr "Standard Benutzer sollten diese Einstellung nicht ändern."
|
||||||
|
|
||||||
msgid "Check Interval"
|
msgid "Check Interval"
|
||||||
msgstr "Prüfinterval"
|
msgstr "Prüfinterval"
|
||||||
|
|
||||||
|
@ -71,8 +82,18 @@ msgstr "Konfigurationsfehler"
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr "Einstellungen"
|
msgstr "Einstellungen"
|
||||||
|
|
||||||
msgid "Configure here the details for selected Dynamic DNS service"
|
msgid ""
|
||||||
msgstr "Konfiguriere hier die Details für den gewählten Dynamik DNS Dienst"
|
"Configure here the details for all Dynamic DNS services including this LuCI "
|
||||||
|
"application."
|
||||||
|
msgstr ""
|
||||||
|
"Konfiguriere hier die Details für alle Dynamik DNS Dienste einschließlich "
|
||||||
|
"dieser LuCI Anwendung."
|
||||||
|
|
||||||
|
msgid "Configure here the details for selected Dynamic DNS service."
|
||||||
|
msgstr "Konfiguriere hier die Details für den gewählten Dynamik DNS Dienst."
|
||||||
|
|
||||||
|
msgid "Current setting"
|
||||||
|
msgstr "Aktuelle Einstellung"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Currently DDNS updates are not started at boot or on interface events.<br /"
|
"Currently DDNS updates are not started at boot or on interface events.<br /"
|
||||||
|
@ -113,6 +134,9 @@ msgstr "DNS Anfragen über TCP nicht unterstützt"
|
||||||
msgid "DNS-Server"
|
msgid "DNS-Server"
|
||||||
msgstr "DNS-Server"
|
msgstr "DNS-Server"
|
||||||
|
|
||||||
|
msgid "Date format"
|
||||||
|
msgstr "Datumsformat "
|
||||||
|
|
||||||
msgid "Defines the Web page to read systems IPv4-Address from"
|
msgid "Defines the Web page to read systems IPv4-Address from"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Definiert die Web-Seite von der die aktuelle IPv4-Adresse des System gelesen "
|
"Definiert die Web-Seite von der die aktuelle IPv4-Adresse des System gelesen "
|
||||||
|
@ -159,6 +183,16 @@ msgstr ""
|
||||||
msgid "Details for"
|
msgid "Details for"
|
||||||
msgstr "Details für"
|
msgstr "Details für"
|
||||||
|
|
||||||
|
msgid "Directory contains Log files for each running section"
|
||||||
|
msgstr ""
|
||||||
|
"Das Verzeichnis enthält die Protokolldateien aller laufenden Konfigurationen."
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Directory contains PID and other status information for each running section"
|
||||||
|
msgstr ""
|
||||||
|
"Das Verzeichnis enthält die PID und andere Statusinformationen aller "
|
||||||
|
"laufenden Konfigurationen."
|
||||||
|
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Deaktiviert"
|
msgstr "Deaktiviert"
|
||||||
|
|
||||||
|
@ -206,6 +240,13 @@ msgstr ""
|
||||||
"Folgen Sie dem Link<br />Hier finden Sie weitere Hinweise um Ihr System für "
|
"Folgen Sie dem Link<br />Hier finden Sie weitere Hinweise um Ihr System für "
|
||||||
"die Nutzung aller Optionen der DDNS Skripte zu optimieren."
|
"die Nutzung aller Optionen der DDNS Skripte zu optimieren."
|
||||||
|
|
||||||
|
msgid "For detailed information about parameter settings look here."
|
||||||
|
msgstr ""
|
||||||
|
"Detaillierte Informationen zu den Parametereinstellungen finden Sie hier."
|
||||||
|
|
||||||
|
msgid "For supported codes look here"
|
||||||
|
msgstr "Unterstützte Kodierungen finden Sie hier."
|
||||||
|
|
||||||
msgid "Force IP Version"
|
msgid "Force IP Version"
|
||||||
msgstr "Erzwinge IP-Version"
|
msgstr "Erzwinge IP-Version"
|
||||||
|
|
||||||
|
@ -227,6 +268,16 @@ msgstr "Format"
|
||||||
msgid "Format: IP or FQDN"
|
msgid "Format: IP or FQDN"
|
||||||
msgstr "Format: IP-Adresse oder FQDN"
|
msgstr "Format: IP-Adresse oder FQDN"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"GNU Wget will use the IP of given network, cURL will use the physical "
|
||||||
|
"interface."
|
||||||
|
msgstr ""
|
||||||
|
"GNU Wget verwendet die IP des gewählten Netzwerkes; cURL verwendet die "
|
||||||
|
"physikalische Schnittstelle."
|
||||||
|
|
||||||
|
msgid "Global Settings"
|
||||||
|
msgstr "Globale Einstellungen"
|
||||||
|
|
||||||
msgid "HTTPS not supported"
|
msgid "HTTPS not supported"
|
||||||
msgstr "HTTPS nicht unterstützt"
|
msgstr "HTTPS nicht unterstützt"
|
||||||
|
|
||||||
|
@ -263,6 +314,9 @@ msgstr "IPv6 nicht unterstützt"
|
||||||
msgid "IPv6-Address"
|
msgid "IPv6-Address"
|
||||||
msgstr "IPv6-Adresse"
|
msgstr "IPv6-Adresse"
|
||||||
|
|
||||||
|
msgid "If both cURL and GNU Wget are installed, Wget is used by default."
|
||||||
|
msgstr "Wenn cURL und GNU Wget installiert sind, wird Wget verwendet."
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If this service section is disabled it could not be started.<br />Neither "
|
"If this service section is disabled it could not be started.<br />Neither "
|
||||||
"from LuCI interface nor from console"
|
"from LuCI interface nor from console"
|
||||||
|
@ -270,6 +324,13 @@ msgstr ""
|
||||||
"Wenn deaktiviert kann die Aktualisierung nicht gestartet werden.<br />Weder "
|
"Wenn deaktiviert kann die Aktualisierung nicht gestartet werden.<br />Weder "
|
||||||
"über das LuCI Web Interface noch von der Geräte-Konsole"
|
"über das LuCI Web Interface noch von der Geräte-Konsole"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"If you want to send updates for IPv4 and IPv6 you need to define two "
|
||||||
|
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
|
||||||
|
msgstr ""
|
||||||
|
"Wenn Sie Aktualisierungen für IPv4 und IPv6 senden möchten benötigen Sie "
|
||||||
|
"zwei Konfigurationen z.B. 'myddns_ipv4' und 'myddns_ipv6'"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
|
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -298,6 +359,11 @@ msgstr ""
|
||||||
"werden.<br />Ein Wert von '0' führt das Skript nur einmalig aus. <br />Der "
|
"werden.<br />Ein Wert von '0' führt das Skript nur einmalig aus. <br />Der "
|
||||||
"Wert muss größer als das Prüfintervall sein oder '0'."
|
"Wert muss größer als das Prüfintervall sein oder '0'."
|
||||||
|
|
||||||
|
msgid "It is NOT recommended for casual users to change settings on this page."
|
||||||
|
msgstr ""
|
||||||
|
"Es wird nicht empfohlen, dass Standard Benutzer die Einstellungen auf dieser "
|
||||||
|
"Seite ändern."
|
||||||
|
|
||||||
msgid "Last Update"
|
msgid "Last Update"
|
||||||
msgstr "Letztes Aktualisierung"
|
msgstr "Letztes Aktualisierung"
|
||||||
|
|
||||||
|
@ -307,12 +373,25 @@ msgstr "Lade"
|
||||||
msgid "Log File Viewer"
|
msgid "Log File Viewer"
|
||||||
msgstr "Protokolldatei"
|
msgstr "Protokolldatei"
|
||||||
|
|
||||||
|
msgid "Log directory"
|
||||||
|
msgstr "Protokoll-Verzeichnis"
|
||||||
|
|
||||||
|
msgid "Log length"
|
||||||
|
msgstr "Protokolllänge"
|
||||||
|
|
||||||
msgid "Log to file"
|
msgid "Log to file"
|
||||||
msgstr "Protokoll in Datei schreiben"
|
msgstr "Protokoll in Datei schreiben"
|
||||||
|
|
||||||
msgid "Log to syslog"
|
msgid "Log to syslog"
|
||||||
msgstr "Systemprotokoll verwenden"
|
msgstr "Systemprotokoll verwenden"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Neither GNU Wget with SSL nor cURL installed to select a network to use for "
|
||||||
|
"communication."
|
||||||
|
msgstr ""
|
||||||
|
"Weder GNU Wget mit SSL noch cURL sind installiert um ein Netzwerk zur "
|
||||||
|
"Kommunikation festzulegen."
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS "
|
"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS "
|
||||||
"protocol."
|
"protocol."
|
||||||
|
@ -338,9 +417,16 @@ msgstr "Keine Daten"
|
||||||
msgid "No logging"
|
msgid "No logging"
|
||||||
msgstr "Keine Protokollierung"
|
msgstr "Keine Protokollierung"
|
||||||
|
|
||||||
|
msgid "Non-public and by default blocked IP's"
|
||||||
|
msgstr "Nicht-öffentliche und standardmäßig blockierte IPs."
|
||||||
|
|
||||||
msgid "Notice"
|
msgid "Notice"
|
||||||
msgstr "Notiz"
|
msgstr "Notiz"
|
||||||
|
|
||||||
|
msgid "Number of last lines stored in log files"
|
||||||
|
msgstr ""
|
||||||
|
"Anzahl der letzten Zeilen die in der Protokolldatei gespeichert werden."
|
||||||
|
|
||||||
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
|
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"OPTIONAL: Erzwingt die Verwendung einer reinen IPv4/IPv6 Kommunikation."
|
"OPTIONAL: Erzwingt die Verwendung einer reinen IPv4/IPv6 Kommunikation."
|
||||||
|
@ -349,6 +435,9 @@ msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"OPTIONAL: Erzwingt die Verwendung von TCP anstelle von UDP bei DNS Anfragen."
|
"OPTIONAL: Erzwingt die Verwendung von TCP anstelle von UDP bei DNS Anfragen."
|
||||||
|
|
||||||
|
msgid "OPTIONAL: Network to use for communication"
|
||||||
|
msgstr "OPTIONAL: Netzwerk das zur Kommunikation verwendet werden soll."
|
||||||
|
|
||||||
msgid "OPTIONAL: Proxy-Server for detection and updates."
|
msgid "OPTIONAL: Proxy-Server for detection and updates."
|
||||||
msgstr "OPTIONAL: Proxy-Server für Adresserkennung und Aktualisierungen"
|
msgstr "OPTIONAL: Proxy-Server für Adresserkennung und Aktualisierungen"
|
||||||
|
|
||||||
|
@ -357,9 +446,6 @@ msgstr ""
|
||||||
"OPTIONAL: Ersetzt den voreingestellten DNS-Server um die 'Registrierte IP' "
|
"OPTIONAL: Ersetzt den voreingestellten DNS-Server um die 'Registrierte IP' "
|
||||||
"zu ermitteln."
|
"zu ermitteln."
|
||||||
|
|
||||||
msgid "Old version of ddns-scripts installed"
|
|
||||||
msgstr "Alte Version von ddns-scripts installiert"
|
|
||||||
|
|
||||||
msgid "On Error the script will retry the failed action after given time"
|
msgid "On Error the script will retry the failed action after given time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Bei Fehlern wird das Skript die fehlerhafte Aktion nach der gegebenen Zeit "
|
"Bei Fehlern wird das Skript die fehlerhafte Aktion nach der gegebenen Zeit "
|
||||||
|
@ -428,6 +514,9 @@ msgstr "Start"
|
||||||
msgid "Start / Stop"
|
msgid "Start / Stop"
|
||||||
msgstr "Start / Stopp"
|
msgstr "Start / Stopp"
|
||||||
|
|
||||||
|
msgid "Status directory"
|
||||||
|
msgstr "Status-Verzeichnis"
|
||||||
|
|
||||||
msgid "Stopped"
|
msgid "Stopped"
|
||||||
msgstr "Angehalten"
|
msgstr "Angehalten"
|
||||||
|
|
||||||
|
@ -444,6 +533,12 @@ msgstr "Kein Dienst konfiguriert"
|
||||||
msgid "Timer Settings"
|
msgid "Timer Settings"
|
||||||
msgstr "Zeitgeber Einstellungen"
|
msgstr "Zeitgeber Einstellungen"
|
||||||
|
|
||||||
|
msgid "To change global settings click here"
|
||||||
|
msgstr "Globale Einstellungen können sie hier ändern."
|
||||||
|
|
||||||
|
msgid "To use cURL activate this option."
|
||||||
|
msgstr "Um cURL zu verwenden aktivieren sie diese Einstellung."
|
||||||
|
|
||||||
msgid "URL"
|
msgid "URL"
|
||||||
msgstr "URL"
|
msgstr "URL"
|
||||||
|
|
||||||
|
@ -466,6 +561,9 @@ msgstr "Aktualisierungsfehler"
|
||||||
msgid "Use HTTP Secure"
|
msgid "Use HTTP Secure"
|
||||||
msgstr "Verwende sicheres HTTP"
|
msgstr "Verwende sicheres HTTP"
|
||||||
|
|
||||||
|
msgid "Use cURL"
|
||||||
|
msgstr "Verwende cURL"
|
||||||
|
|
||||||
msgid "User defined script to read systems IP-Address"
|
msgid "User defined script to read systems IP-Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Definiert das Skript mit dem die aktuelle IP-Adresse des System gelesen "
|
"Definiert das Skript mit dem die aktuelle IP-Adresse des System gelesen "
|
||||||
|
@ -511,6 +609,9 @@ msgstr ""
|
||||||
"Sie sollten das Programmpaket GNU Wget mit SSL (bevorzugt) oder cURL "
|
"Sie sollten das Programmpaket GNU Wget mit SSL (bevorzugt) oder cURL "
|
||||||
"installieren."
|
"installieren."
|
||||||
|
|
||||||
|
msgid "You should install GNU Wget with SSL or cURL package."
|
||||||
|
msgstr "Sie sollten das Programmpaket GNU Wget mit SSL oder cURL installieren."
|
||||||
|
|
||||||
msgid "You should install GNU Wget with SSL or replace libcurl."
|
msgid "You should install GNU Wget with SSL or replace libcurl."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Sie sollten das Programmpaket GNU Wget mit SSL installieren oder libcurl "
|
"Sie sollten das Programmpaket GNU Wget mit SSL installieren oder libcurl "
|
||||||
|
@ -548,12 +649,12 @@ msgstr "hier aktivieren"
|
||||||
msgid "file or directory not found or not 'IGNORE'"
|
msgid "file or directory not found or not 'IGNORE'"
|
||||||
msgstr "Datei oder Verzeichnis nicht gefunden oder nicht 'IGNORE'"
|
msgstr "Datei oder Verzeichnis nicht gefunden oder nicht 'IGNORE'"
|
||||||
|
|
||||||
|
msgid "help"
|
||||||
|
msgstr "Hilfe"
|
||||||
|
|
||||||
msgid "hours"
|
msgid "hours"
|
||||||
msgstr "Stunden"
|
msgstr "Stunden"
|
||||||
|
|
||||||
msgid "install update here"
|
|
||||||
msgstr "Aktualisierung hier installieren"
|
|
||||||
|
|
||||||
msgid "installed"
|
msgid "installed"
|
||||||
msgstr "installiert"
|
msgstr "installiert"
|
||||||
|
|
||||||
|
@ -615,6 +716,9 @@ msgstr "Bitte 'IPv4' Adressversion auswählen"
|
||||||
msgid "please select 'IPv4' address version in"
|
msgid "please select 'IPv4' address version in"
|
||||||
msgstr "Bitte 'IPv4' Adressversion auswählen in den"
|
msgstr "Bitte 'IPv4' Adressversion auswählen in den"
|
||||||
|
|
||||||
|
msgid "please set to 'default'"
|
||||||
|
msgstr "Bitte auf 'Standard' setzen"
|
||||||
|
|
||||||
msgid "proxy port missing"
|
msgid "proxy port missing"
|
||||||
msgstr "Proxy-Port fehlt"
|
msgstr "Proxy-Port fehlt"
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,15 @@ msgstr ""
|
||||||
msgid "-- custom --"
|
msgid "-- custom --"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "-- default --"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Advanced Settings"
|
msgid "Advanced Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Allow non-public IP's"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Applying changes"
|
msgid "Applying changes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -23,8 +29,12 @@ msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Below is a list of configured DDNS configurations and their current state."
|
"Below is a list of configured DDNS configurations and their current state."
|
||||||
"<br />If you want to send updates for IPv4 and IPv6 you need to define two "
|
msgstr ""
|
||||||
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
|
|
||||||
|
msgid "Bind Network"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Binding to a specific network not supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -37,6 +47,9 @@ msgid ""
|
||||||
"UDP when requesting DNS server"
|
"UDP when requesting DNS server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Casual users should not change this setting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Check Interval"
|
msgid "Check Interval"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -49,7 +62,15 @@ msgstr ""
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Configure here the details for selected Dynamic DNS service"
|
msgid ""
|
||||||
|
"Configure here the details for all Dynamic DNS services including this LuCI "
|
||||||
|
"application."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Configure here the details for selected Dynamic DNS service."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Current setting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -84,6 +105,9 @@ msgstr ""
|
||||||
msgid "DNS-Server"
|
msgid "DNS-Server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Date format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Defines the Web page to read systems IPv4-Address from"
|
msgid "Defines the Web page to read systems IPv4-Address from"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -115,6 +139,13 @@ msgstr ""
|
||||||
msgid "Details for"
|
msgid "Details for"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Directory contains Log files for each running section"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Directory contains PID and other status information for each running section"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -158,6 +189,12 @@ msgid ""
|
||||||
"run DDNS scripts with all options"
|
"run DDNS scripts with all options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "For detailed information about parameter settings look here."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "For supported codes look here"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Force IP Version"
|
msgid "Force IP Version"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -179,6 +216,14 @@ msgstr ""
|
||||||
msgid "Format: IP or FQDN"
|
msgid "Format: IP or FQDN"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"GNU Wget will use the IP of given network, cURL will use the physical "
|
||||||
|
"interface."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Global Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "HTTPS not supported"
|
msgid "HTTPS not supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -212,11 +257,19 @@ msgstr ""
|
||||||
msgid "IPv6-Address"
|
msgid "IPv6-Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "If both cURL and GNU Wget are installed, Wget is used by default."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If this service section is disabled it could not be started.<br />Neither "
|
"If this service section is disabled it could not be started.<br />Neither "
|
||||||
"from LuCI interface nor from console"
|
"from LuCI interface nor from console"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"If you want to send updates for IPv4 and IPv6 you need to define two "
|
||||||
|
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
|
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -238,6 +291,9 @@ msgid ""
|
||||||
"Interval' except '0' are not supported"
|
"Interval' except '0' are not supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "It is NOT recommended for casual users to change settings on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Last Update"
|
msgid "Last Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -247,12 +303,23 @@ msgstr ""
|
||||||
msgid "Log File Viewer"
|
msgid "Log File Viewer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Log directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Log length"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Log to file"
|
msgid "Log to file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Log to syslog"
|
msgid "Log to syslog"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Neither GNU Wget with SSL nor cURL installed to select a network to use for "
|
||||||
|
"communication."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS "
|
"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS "
|
||||||
"protocol."
|
"protocol."
|
||||||
|
@ -276,24 +343,30 @@ msgstr ""
|
||||||
msgid "No logging"
|
msgid "No logging"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-public and by default blocked IP's"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Notice"
|
msgid "Notice"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Number of last lines stored in log files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
|
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
|
msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "OPTIONAL: Network to use for communication"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "OPTIONAL: Proxy-Server for detection and updates."
|
msgid "OPTIONAL: Proxy-Server for detection and updates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
|
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Old version of ddns-scripts installed"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "On Error the script will retry the failed action after given time"
|
msgid "On Error the script will retry the failed action after given time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -360,6 +433,9 @@ msgstr ""
|
||||||
msgid "Start / Stop"
|
msgid "Start / Stop"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Status directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Stopped"
|
msgid "Stopped"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -374,6 +450,12 @@ msgstr ""
|
||||||
msgid "Timer Settings"
|
msgid "Timer Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "To change global settings click here"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "To use cURL activate this option."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "URL"
|
msgid "URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -394,6 +476,9 @@ msgstr ""
|
||||||
msgid "Use HTTP Secure"
|
msgid "Use HTTP Secure"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Use cURL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "User defined script to read systems IP-Address"
|
msgid "User defined script to read systems IP-Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -430,6 +515,9 @@ msgstr ""
|
||||||
msgid "You should install GNU Wget with SSL (prefered) or cURL package."
|
msgid "You should install GNU Wget with SSL (prefered) or cURL package."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "You should install GNU Wget with SSL or cURL package."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "You should install GNU Wget with SSL or replace libcurl."
|
msgid "You should install GNU Wget with SSL or replace libcurl."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -463,10 +551,10 @@ msgstr ""
|
||||||
msgid "file or directory not found or not 'IGNORE'"
|
msgid "file or directory not found or not 'IGNORE'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "hours"
|
msgid "help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "install update here"
|
msgid "hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "installed"
|
msgid "installed"
|
||||||
|
@ -529,6 +617,9 @@ msgstr ""
|
||||||
msgid "please select 'IPv4' address version in"
|
msgid "please select 'IPv4' address version in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "please set to 'default'"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "proxy port missing"
|
msgid "proxy port missing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue