diff options
Diffstat (limited to 'applications')
7 files changed, 202 insertions, 39 deletions
diff --git a/applications/luci-app-ddns/po/es/ddns.po b/applications/luci-app-ddns/po/es/ddns.po index 1e2598f382..ae2262084a 100644 --- a/applications/luci-app-ddns/po/es/ddns.po +++ b/applications/luci-app-ddns/po/es/ddns.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: luci-app-ddns 2.4.0-1\n" "POT-Creation-Date: 2016-01-30 11:07+0100\n" -"PO-Revision-Date: 2019-02-21 17:24-0300\n" +"PO-Revision-Date: 2019-04-20 20:11-0300\n" "Last-Translator: José Vicente <josevteg@gmail.com>\n" "Language-Team: \n" "Language: es\n" @@ -282,7 +282,7 @@ msgstr "" #: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:609 msgid "Enable secure communication with DDNS provider" -msgstr "Habilitar la comunicación segura con el proveedor de DDNS" +msgstr "Habilita la comunicación segura con el proveedor de DDNS" #: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:271 #: applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua:153 @@ -444,8 +444,8 @@ msgid "" "If this service section is disabled it could not be started.<br />Neither " "from LuCI interface nor from console" msgstr "" -"Si esta sección de servicio está deshabilitada, no se pudo iniciar.<br />Ni " -"desde la interfaz de LuCI ni desde la consola" +"Si no se habilita esta opción, no se iniciará el servicio.<br />Ni desde la " +"interfaz de LuCI ni desde la consola" #: applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua:160 msgid "If using secure communication you should verify server certificates!" @@ -837,7 +837,7 @@ msgstr "" #: applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua:600 msgid "Use HTTP Secure" -msgstr "Usar HTTP seguro" +msgstr "Usar HTTP seguro (HTTPS)" #: applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua:113 msgid "Use cURL" diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po index 67d93ac408..7020f85541 100644 --- a/applications/luci-app-firewall/po/es/firewall.po +++ b/applications/luci-app-firewall/po/es/firewall.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2019-03-27 14:22-0300\n" +"PO-Revision-Date: 2019-04-20 20:26-0300\n" "Last-Translator: José Vicente <josevteg@gmail.com>\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -697,11 +697,12 @@ msgid "" "<em>not</em> imply a permission to forward from wan to lan as well." msgstr "" "Estas opciones controlan las políticas de reenvío entre esta zona (%s) y " -"otras. <em>Las zonas origen</em> cubren el tráfico reenviado <strong>desde " -"%q</strong>. <em>Las zonas origen</em> coinciden con el tráfico reenviado " -"desde otras zonas <strong>dirigido a %q</strong>. La regla de reenvío es " -"<em>unidireccional</em>, por ejemplo una regla de reenvío desde la LAN a la " -"WAN <em>no</em> implica permiso para reenviar desde la WAN a la LAN también." +"otras. <em>Las zonas de origen</em> cubren el tráfico reenviado desde " +"<strong>%q</strong>. <em>Las zonas origen</em> coinciden con el tráfico " +"reenviado desde otras zonas dirigido a <strong>%q</strong>. La regla de " +"reenvío es <em>unidireccional</em>, por ejemplo una regla de reenvío desde " +"la LAN a la WAN <em>no</em> implica permiso para reenviar desde la WAN a la " +"LAN también." #: applications/luci-app-firewall/luasrc/model/cbi/firewall/forward-details.lua:14 msgid "" @@ -893,7 +894,7 @@ msgstr "No seguir" #: applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua:32 #: applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua:97 msgid "drop" -msgstr "descartar" +msgstr "Descartar" #: applications/luci-app-firewall/luasrc/tools/firewall.lua:187 msgid "hour" diff --git a/applications/luci-app-rosy-file-server/Makefile b/applications/luci-app-rosy-file-server/Makefile new file mode 100644 index 0000000000..93d9a3a669 --- /dev/null +++ b/applications/luci-app-rosy-file-server/Makefile @@ -0,0 +1,15 @@ +# +# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org> +# Copyright (C) 2018 Rosy Song <rosysong@rosinson.com> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI Support for Rosy File Server +LUCI_DEPENDS:=+luci-base +rosy-file-server + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-rosy-file-server/luasrc/controller/rosy-file-server/rosy-file-server.lua b/applications/luci-app-rosy-file-server/luasrc/controller/rosy-file-server/rosy-file-server.lua new file mode 100644 index 0000000000..dd5598a689 --- /dev/null +++ b/applications/luci-app-rosy-file-server/luasrc/controller/rosy-file-server/rosy-file-server.lua @@ -0,0 +1,37 @@ +-- Copyright 2018 Rosy Song <rosysong@rosinson.com> +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.rosy-file-server.rosy-file-server", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/rosyfs") then + return + end + + local root = node() + if not root.target then + root.target = alias("httpfs") + root.index = true + end + + page = node() + page.lock = true + page.target = alias("httpfs") + page.subindex = true + page.index = false + + page = node("httpfs") + page.title = _("Rosy File Server") + page.target = alias("httpfs", "rosy-file-server") + page.order = 5 + page.setuser = "root" + page.setgroup = "root" + page.index = true + + entry({"httpfs", "rosy-file-server"}, + form("rosy-file-server/rosy-file-server"), _("Rosy File Server"), 10) + + entry({"admin", "services", "rosyfs"}, + cbi("rosy-file-server/rosyfs"), _("Rosy File Server"), 61) +end + diff --git a/applications/luci-app-rosy-file-server/luasrc/model/cbi/rosy-file-server/rosy-file-server.lua b/applications/luci-app-rosy-file-server/luasrc/model/cbi/rosy-file-server/rosy-file-server.lua new file mode 100644 index 0000000000..703b4defc0 --- /dev/null +++ b/applications/luci-app-rosy-file-server/luasrc/model/cbi/rosy-file-server/rosy-file-server.lua @@ -0,0 +1,72 @@ +-- Copyright 2018 Rosy Song <rosysong@rosinson.com> +-- Licensed to the public under the Apache License 2.0. + +local uci = require "luci.model.uci".cursor() +local dis = uci:get("rosyfs", "default", "disabled") + +local targets = {} +local server_root = luci.http.formvalue("server_root") or "/www/rosyfs-share/" +local buffer = io.popen("/bin/busybox ls -ahLlp %s" % server_root) +if dis ~= '1' and buffer then + for l in buffer:lines() do + local _p, i, u, g, sz, mm, dd, tt, nm = l:match( + "^([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+(.+)" + ) + local p = _p and string.sub(_p, 1, 1) or nil + if p and (p == '-' or p == 'd') and nm and (nm ~= "./") and + not (server_root == "/www/rosyfs-share/" and nm == "../") and + not (server_root == "/www/rosyfs-share/" and nm == "rosyfs-share/") then + targets[nm] = { + ['type'] = p, + ['size'] = sz, + ['last'] = "%s %s %s" % { mm, dd, tt }, + ['name'] = nm + } + end + end +end + +local title = uci:get("rosyfs", "default", "title") or nil + +m = SimpleForm("rosyfs", title or translate("Rosy File Server"), translate("This is rosy file server for luci.<br /><strong>Note: targets will be mapped at /www/rosyfs-share !</strong>")) +m.reset = false +m.submit = false + + +s = m:section(Table, targets) + +t = s:option(DummyValue, "type", translate("Type")) + +n = s:option(DummyValue, "name", translate("Name")) +n.rawhtml = true + +function n.cfgvalue(self, section) + local v = DummyValue.cfgvalue(self, section) + local hv = (v == "../") and "Parent Directory" or v + local t = targets[v]['type'] + + if t and t ~='d' then + -- File + return translatef("<a href='%s%s'>%s</a>", + string.sub(server_root, 5, #server_root), hv, hv); + elseif t then + -- Directory + if v == "../" then + local dir = luci.util.trim(luci.util.exec("dirname " .. server_root)) + + if dir ~= "/" then dir = dir .. "/" end + + return translatef("<a href='%s?server_root=%s'>%s</a>", + luci.dispatcher.build_url("httpfs/rosy-file-server"), dir, hv) + else + return translatef("<a href='%s?server_root=%s%s'>%s</a>", + luci.dispatcher.build_url("httpfs/rosy-file-server"), + server_root, hv, hv) + end + end +end + +l = s:option(DummyValue, "last", translate("Last Modified")) +sz = s:option(DummyValue, "size", translate("Size")) + +return m diff --git a/applications/luci-app-rosy-file-server/luasrc/model/cbi/rosy-file-server/rosyfs.lua b/applications/luci-app-rosy-file-server/luasrc/model/cbi/rosy-file-server/rosyfs.lua new file mode 100644 index 0000000000..51efa9e814 --- /dev/null +++ b/applications/luci-app-rosy-file-server/luasrc/model/cbi/rosy-file-server/rosyfs.lua @@ -0,0 +1,26 @@ +-- Copyright 2019 Rosy Song <rosysong@rosinson.com> +-- Licensed to the public under the Apache License 2.0. + +local uci = require("luci.model.uci").cursor() +local dis = uci:get("rosyfs", "default", "disabled") +local tgt = uci:get("rosyfs", "default", "target") +local tlt = uci:get("rosyfs", "default", "title") + +m = Map("rosyfs", translate("Rosy File Server Settings")) + +s = m:section(TypedSection, "rosyfs", nil) +s.addremove = false +s.anonymous = true + +e = s:option(Flag, "disabled", translate("Disable"), translate("Disable Rosy File Server")) +e.default = dis or e.disabled +e.rmempty = false + +a = s:option(Value, "target", translate("Target"), translate("Specify path to be mapped")) +a.default = tgt or "/www" +a.datatype = "directory" + +t = s:option(Value, "title", translate("Title"), translate("Title to be shown")) +t.default = tlt or "Rosy File Server" + +return m diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua index 7fe5f23a47..827a39b8cf 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua @@ -60,24 +60,30 @@ o2 = s:option(Flag, "trm_captive", translate("Captive Portal Detection"), o2.default = o2.enabled o2.rmempty = false -o3 = s:option(Flag, "trm_proactive", translate("ProActive Uplink Switch"), - translate("Proactively scan and switch to a higher prioritized uplink, despite of an already existing connection.")) -o3.default = o3.enabled +o3 = s:option(Flag, "trm_netcheck", translate("Net Error Check"), + translate("Treat missing internet availability as an error.")) +o3:depends("trm_captive", 1) +o3.default = o3.disabled o3.rmempty = false -o4 = s:option(ListValue, "trm_iface", translate("Uplink / Trigger interface"), +o4 = s:option(Flag, "trm_proactive", translate("ProActive Uplink Switch"), + translate("Proactively scan and switch to a higher prioritized uplink, despite of an already existing connection.")) +o4.default = o4.enabled +o4.rmempty = false + +o5 = s:option(ListValue, "trm_iface", translate("Uplink / Trigger interface"), translate("Name of the used uplink interface.")) if dump then local i, v for i, v in ipairs(dump.interface) do if v.interface ~= "loopback" and v.interface ~= "lan" then local device = v.l3_device or v.device or "-" - o4:value(v.interface, v.interface.. " (" ..device.. ")") + o5:value(v.interface, v.interface.. " (" ..device.. ")") end end end -o4.default = trmiface -o4.rmempty = false +o5.default = trmiface +o5.rmempty = false -- Runtime information @@ -97,34 +103,40 @@ e2 = e:option(Value, "trm_radio", translate("Radio Selection / Order"), translate("Restrict travelmate to a single radio (e.g. 'radio1') or change the overall scanning order (e.g. 'radio1 radio2 radio0').")) e2.rmempty = true -e3 = e:option(Value, "trm_triggerdelay", translate("Trigger Delay"), - translate("Additional trigger delay in seconds before travelmate processing begins.")) -e3.datatype = "range(1,60)" -e3.default = 2 +e3 = e:option(Value, "trm_listexpiry", translate("List Auto Expiry"), + translate("Automatically resets the 'Faulty Stations' list after n minutes. Default is '0' which means no expiry.")) +e3.datatype = "range(0,300)" +e3.default = 0 e3.rmempty = false -e4 = e:option(Value, "trm_maxretry", translate("Connection Limit"), - translate("Retry limit to connect to an uplink.")) -e4.default = 3 -e4.datatype = "range(1,10)" +e4 = e:option(Value, "trm_triggerdelay", translate("Trigger Delay"), + translate("Additional trigger delay in seconds before travelmate processing begins.")) +e4.datatype = "range(1,60)" +e4.default = 2 e4.rmempty = false -e5 = e:option(Value, "trm_minquality", translate("Signal Quality Threshold"), - translate("Minimum signal quality threshold as percent for conditional uplink (dis-) connections.")) -e5.default = 35 -e5.datatype = "range(20,80)" +e5 = e:option(Value, "trm_maxretry", translate("Connection Limit"), + translate("Retry limit to connect to an uplink.")) +e5.default = 5 +e5.datatype = "range(1,10)" e5.rmempty = false -e6 = e:option(Value, "trm_maxwait", translate("Interface Timeout"), - translate("How long should travelmate wait for a successful wlan uplink connection.")) -e6.default = 30 -e6.datatype = "range(20,40)" +e6 = e:option(Value, "trm_minquality", translate("Signal Quality Threshold"), + translate("Minimum signal quality threshold as percent for conditional uplink (dis-) connections.")) +e6.default = 35 +e6.datatype = "range(20,80)" e6.rmempty = false -e7 = e:option(Value, "trm_timeout", translate("Overall Timeout"), - translate("Overall retry timeout in seconds.")) -e7.default = 60 -e7.datatype = "range(30,300)" +e7 = e:option(Value, "trm_maxwait", translate("Interface Timeout"), + translate("How long should travelmate wait for a successful wlan uplink connection.")) +e7.default = 30 +e7.datatype = "range(20,40)" e7.rmempty = false +e8 = e:option(Value, "trm_timeout", translate("Overall Timeout"), + translate("Overall retry timeout in seconds.")) +e8.default = 60 +e8.datatype = "range(30,300)" +e8.rmempty = false + return m |