summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-splash
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-splash')
-rw-r--r--applications/luci-app-splash/Makefile14
-rw-r--r--applications/luci-app-splash/README5
-rwxr-xr-xapplications/luci-app-splash/htdocs/cgi-bin/splash/splash.sh35
-rw-r--r--applications/luci-app-splash/htdocs/luci/splash/index.html10
-rwxr-xr-xapplications/luci-app-splash/ipkg/postinst6
-rw-r--r--applications/luci-app-splash/luasrc/controller/splash/splash.lua151
-rw-r--r--applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua87
-rw-r--r--applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua66
-rw-r--r--applications/luci-app-splash/luasrc/view/admin_status/splash.htm294
-rw-r--r--applications/luci-app-splash/luasrc/view/splash/blocked.htm25
-rw-r--r--applications/luci-app-splash/luasrc/view/splash/splash.htm139
-rw-r--r--applications/luci-app-splash/luasrc/view/splash_splash/index.htm16
-rw-r--r--applications/luci-app-splash/luasrc/view/splash_splash/splash.htm25
-rw-r--r--applications/luci-app-splash/po/ca/splash.po330
-rw-r--r--applications/luci-app-splash/po/cs/splash.po340
-rw-r--r--applications/luci-app-splash/po/de/splash.po383
-rw-r--r--applications/luci-app-splash/po/el/splash.po307
-rw-r--r--applications/luci-app-splash/po/en/splash.po292
-rw-r--r--applications/luci-app-splash/po/es/splash.po376
-rw-r--r--applications/luci-app-splash/po/fr/splash.po337
-rw-r--r--applications/luci-app-splash/po/he/splash.po325
-rw-r--r--applications/luci-app-splash/po/hu/splash.po303
-rw-r--r--applications/luci-app-splash/po/it/splash.po361
-rw-r--r--applications/luci-app-splash/po/ja/splash.po292
-rw-r--r--applications/luci-app-splash/po/ms/splash.po292
-rw-r--r--applications/luci-app-splash/po/no/splash.po292
-rw-r--r--applications/luci-app-splash/po/pl/splash.po385
-rw-r--r--applications/luci-app-splash/po/pt-br/splash.po402
-rw-r--r--applications/luci-app-splash/po/pt/splash.po309
-rw-r--r--applications/luci-app-splash/po/ro/splash.po292
-rw-r--r--applications/luci-app-splash/po/ru/splash.po362
-rw-r--r--applications/luci-app-splash/po/sk/splash.po303
-rw-r--r--applications/luci-app-splash/po/sv/splash.po303
-rw-r--r--applications/luci-app-splash/po/templates/splash.pot295
-rw-r--r--applications/luci-app-splash/po/tr/splash.po303
-rw-r--r--applications/luci-app-splash/po/uk/splash.po304
-rw-r--r--applications/luci-app-splash/po/vi/splash.po292
-rw-r--r--applications/luci-app-splash/po/zh-cn/splash.po321
-rw-r--r--applications/luci-app-splash/po/zh-tw/splash.po302
-rw-r--r--applications/luci-app-splash/root/etc/config/luci_splash2
-rw-r--r--applications/luci-app-splash/root/etc/config/luci_splash_leases1
-rw-r--r--applications/luci-app-splash/root/etc/hotplug.d/iface/25-splash17
-rwxr-xr-xapplications/luci-app-splash/root/etc/init.d/luci_splash362
-rwxr-xr-xapplications/luci-app-splash/root/usr/sbin/luci-splash751
44 files changed, 10409 insertions, 0 deletions
diff --git a/applications/luci-app-splash/Makefile b/applications/luci-app-splash/Makefile
new file mode 100644
index 000000000..345f8910f
--- /dev/null
+++ b/applications/luci-app-splash/Makefile
@@ -0,0 +1,14 @@
+#
+# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
+#
+# This is free software, licensed under the Apache License, Version 2.0 .
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Freifunk DHCP-Splash application
+LUCI_DEPENDS:=+luci-lib-nixio +tc +kmod-sched +iptables-mod-nat-extra +iptables-mod-ipopt
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-splash/README b/applications/luci-app-splash/README
new file mode 100644
index 000000000..5a7af14c2
--- /dev/null
+++ b/applications/luci-app-splash/README
@@ -0,0 +1,5 @@
+
+* IPv6 support is only partial:
+ - will only work when used together with IPv4 (Dual stack)
+ - No bandwidth limiting
+
diff --git a/applications/luci-app-splash/htdocs/cgi-bin/splash/splash.sh b/applications/luci-app-splash/htdocs/cgi-bin/splash/splash.sh
new file mode 100755
index 000000000..76f6d4d3e
--- /dev/null
+++ b/applications/luci-app-splash/htdocs/cgi-bin/splash/splash.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+$(uci -q get luci_splash.general.redirect_url) || {
+ set -x
+ touch /var/state/luci_splash_locations
+ touch /etc/config/luci_splash_locations
+ MAC=$(grep "$REMOTE_HOST" /proc/net/arp | awk '{print $4}')
+ uci -P /var/state set luci_splash_locations.${MAC//:/}=redirect
+ uci -P /var/state set luci_splash_locations.${MAC//:/}.location="http://${HTTP_HOST}${REQUEST_URI}"
+ set +x
+}
+
+echo -en "Cache-Control: no-cache, max-age=0, no-store, must-revalidate\r\n"
+echo -en "Pragma: no-cache\r\n"
+echo -en "Expires: -1\r\n"
+echo -en "Status: 307 Temporary Redirect\r\n"
+echo -en "Location: http://$SERVER_ADDR/cgi-bin/luci/splash\r\n"
+echo -en "\r\n"
+
+cat <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<WISPAccessGatewayParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.wballiance.net/wispr_2_0.xsd">
+ <Redirect>
+ <MessageType>100</MessageType>
+ <ResponseCode>0</ResponseCode>
+ <AccessProcedure>1.0</AccessProcedure>
+ <AccessLocation>12</AccessLocation>
+ <LocationName>$SERVER_ADDR</LocationName>
+ <LoginURL>http://$SERVER_ADDR/cgi-bin/luci/splash?wispr=1</LoginURL>
+ <AbortLoginURL>http://$SERVER_ADDR/</AbortLoginURL>
+ </Redirect>
+</WISPAccessGatewayParam>
+EOT
+
+
diff --git a/applications/luci-app-splash/htdocs/luci/splash/index.html b/applications/luci-app-splash/htdocs/luci/splash/index.html
new file mode 100644
index 000000000..486409a2e
--- /dev/null
+++ b/applications/luci-app-splash/htdocs/luci/splash/index.html
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci/splash" />
+</head>
+<body style="background-color: black">
+<a style="color: white; text-decoration: none" href="/cgi-bin/luci/splash">LuCI - Lua Configuration Interface</a>
+</body>
+</html>
diff --git a/applications/luci-app-splash/ipkg/postinst b/applications/luci-app-splash/ipkg/postinst
new file mode 100755
index 000000000..a87729e43
--- /dev/null
+++ b/applications/luci-app-splash/ipkg/postinst
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+[ -n "${IPKG_INSTROOT}" ] || {
+ /etc/init.d/luci_splash enabled || /etc/init.d/luci_splash enable
+ exit 0
+}
diff --git a/applications/luci-app-splash/luasrc/controller/splash/splash.lua b/applications/luci-app-splash/luasrc/controller/splash/splash.lua
new file mode 100644
index 000000000..97d040082
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/controller/splash/splash.lua
@@ -0,0 +1,151 @@
+module("luci.controller.splash.splash", package.seeall)
+
+local uci = luci.model.uci.cursor()
+local util = require "luci.util"
+
+function index()
+ entry({"admin", "services", "splash"}, cbi("splash/splash"), _("Client-Splash"), 90)
+ entry({"admin", "services", "splash", "splashtext" }, form("splash/splashtext"), _("Splashtext"), 10)
+
+ local e
+
+ e = node("splash")
+ e.target = call("action_dispatch")
+
+ node("splash", "activate").target = call("action_activate")
+ node("splash", "splash").target = template("splash_splash/splash")
+ node("splash", "blocked").target = template("splash/blocked")
+
+ entry({"admin", "status", "splash"}, call("action_status_admin"), _("Client-Splash"))
+
+ local page = node("splash", "publicstatus")
+ page.target = call("action_status_public")
+ page.leaf = true
+end
+
+function action_dispatch()
+ local uci = luci.model.uci.cursor_state()
+ local mac = luci.sys.net.ip4mac(luci.http.getenv("REMOTE_ADDR")) or ""
+ local access = false
+
+ uci:foreach("luci_splash", "lease", function(s)
+ if s.mac and s.mac:lower() == mac then access = true end
+ end)
+ uci:foreach("luci_splash", "whitelist", function(s)
+ if s.mac and s.mac:lower() == mac then access = true end
+ end)
+
+ if #mac > 0 and access then
+ luci.http.redirect(luci.dispatcher.build_url())
+ else
+ luci.http.redirect(luci.dispatcher.build_url("splash", "splash"))
+ end
+end
+
+function blacklist()
+ leased_macs = { }
+ uci:foreach("luci_splash", "blacklist",
+ function(s) leased_macs[s.mac:lower()] = true
+ end)
+ return leased_macs
+end
+
+function action_activate()
+ local ip = luci.http.getenv("REMOTE_ADDR") or "127.0.0.1"
+ local mac = luci.sys.net.ip4mac(ip:match("^[\[::ffff:]*(%d+.%d+%.%d+%.%d+)\]*$"))
+ local uci_state = require "luci.model.uci".cursor_state()
+ local blacklisted = false
+ if mac and luci.http.formvalue("accept") then
+ uci:foreach("luci_splash", "blacklist",
+ function(s) if s.mac:lower() == mac or s.mac == mac then blacklisted = true end
+ end)
+ if blacklisted then
+ luci.http.redirect(luci.dispatcher.build_url("splash" ,"blocked"))
+ else
+ local redirect_url = uci:get("luci_splash", "general", "redirect_url")
+ if not redirect_url then
+ redirect_url = uci_state:get("luci_splash_locations", mac:gsub(':', ''):lower(), "location")
+ end
+ if not redirect_url then
+ redirect_url = luci.model.uci.cursor():get("freifunk", "community", "homepage") or 'http://www.freifunk.net'
+ end
+ remove_redirect(mac:gsub(':', ''):lower())
+ os.execute("luci-splash lease "..mac.." >/dev/null 2>&1")
+ luci.http.redirect(redirect_url)
+ end
+ else
+ luci.http.redirect(luci.dispatcher.build_url())
+ end
+end
+
+function action_status_admin()
+ local uci = luci.model.uci.cursor_state()
+ local macs = luci.http.formvaluetable("save")
+
+ local changes = {
+ whitelist = { },
+ blacklist = { },
+ lease = { },
+ remove = { }
+ }
+
+ for key, _ in pairs(macs) do
+ local policy = luci.http.formvalue("policy.%s" % key)
+ local mac = luci.http.protocol.urldecode(key)
+
+ if policy == "whitelist" or policy == "blacklist" then
+ changes[policy][#changes[policy]+1] = mac
+ elseif policy == "normal" then
+ changes["lease"][#changes["lease"]+1] = mac
+ elseif policy == "kicked" then
+ changes["remove"][#changes["remove"]+1] = mac
+ end
+ end
+
+ if #changes.whitelist > 0 then
+ os.execute("luci-splash whitelist %s >/dev/null"
+ % table.concat(changes.whitelist))
+ end
+
+ if #changes.blacklist > 0 then
+ os.execute("luci-splash blacklist %s >/dev/null"
+ % table.concat(changes.blacklist))
+ end
+
+ if #changes.lease > 0 then
+ os.execute("luci-splash lease %s >/dev/null"
+ % table.concat(changes.lease))
+ end
+
+ if #changes.remove > 0 then
+ os.execute("luci-splash remove %s >/dev/null"
+ % table.concat(changes.remove))
+ end
+
+ luci.template.render("admin_status/splash", { is_admin = true })
+end
+
+function action_status_public()
+ luci.template.render("admin_status/splash", { is_admin = false })
+end
+
+function remove_redirect(mac)
+ local mac = mac:lower()
+ mac = mac:gsub(":", "")
+ local uci = require "luci.model.uci".cursor_state()
+ local redirects = uci:get_all("luci_splash_locations")
+ --uci:load("luci_splash_locations")
+ uci:revert("luci_splash_locations")
+ -- For all redirects
+ for k, v in pairs(redirects) do
+ if v[".type"] == "redirect" then
+ if v[".name"] ~= mac then
+ -- Rewrite state
+ uci:section("luci_splash_locations", "redirect", v[".name"], {
+ location = v.location
+ })
+ end
+ end
+ end
+ uci:save("luci_splash_redirects")
+end
diff --git a/applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua b/applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua
new file mode 100644
index 000000000..206ef7053
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/model/cbi/splash/splash.lua
@@ -0,0 +1,87 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+require("luci.model.uci")
+
+m = Map("luci_splash", translate("Client-Splash"), translate("Client-Splash is a hotspot authentification system for wireless mesh networks."))
+
+s = m:section(NamedSection, "general", "core", translate("General"))
+s.addremove = false
+
+s:option(Value, "leasetime", translate("Clearance time"), translate("Clients that have accepted the splash are allowed to use the network for that many hours."))
+local redir = s:option(Value, "redirect_url", translate("Redirect target"), translate("Clients are redirected to this page after they have accepted the splash. If this is left empty they are redirected to the page they had requested."))
+redir.rmempty = true
+
+s:option(Value, "limit_up", translate("Upload limit"), translate("Clients upload speed is limited to this value (kbyte/s)"))
+s:option(Value, "limit_down", translate("Download limit"), translate("Clients download speed is limited to this value (kbyte/s)"))
+
+s:option(DummyValue, "_tmp", "",
+ translate("Bandwidth limit for clients is only activated when both up- and download limit are set. " ..
+ "Use a value of 0 here to completely disable this limitation. Whitelisted clients are not limited."))
+
+s = m:section(TypedSection, "iface", translate("Interfaces"), translate("Interfaces that are used for Splash."))
+
+s.template = "cbi/tblsection"
+s.addremove = true
+s.anonymous = true
+
+local uci = luci.model.uci.cursor()
+
+zone = s:option(ListValue, "zone", translate("Firewall zone"),
+ translate("Splash rules are integrated in this firewall zone"))
+
+uci:foreach("firewall", "zone",
+ function (section)
+ zone:value(section.name)
+ end)
+
+iface = s:option(ListValue, "network", translate("Network"),
+ translate("Intercept client traffic on this Interface"))
+
+uci:foreach("network", "interface",
+ function (section)
+ if section[".name"] ~= "loopback" then
+ iface:value(section[".name"])
+ end
+ end)
+
+uci:foreach("network", "alias",
+ function (section)
+ iface:value(section[".name"])
+ end)
+
+
+s = m:section(TypedSection, "whitelist", translate("Whitelist"),
+ translate("MAC addresses of whitelisted clients. These do not need to accept the splash and are not bandwidth limited."))
+
+s.template = "cbi/tblsection"
+s.addremove = true
+s.anonymous = true
+s:option(Value, "mac", translate ("MAC Address"))
+
+
+s = m:section(TypedSection, "blacklist", translate("Blacklist"),
+ translate("MAC addresses in this list are blocked."))
+
+s.template = "cbi/tblsection"
+s.addremove = true
+s.anonymous = true
+s:option(Value, "mac", translate ("MAC Address"))
+
+s = m:section(TypedSection, "subnet", translate("Allowed hosts/subnets"),
+ translate("Destination hosts and networks that are excluded from splashing, i.e. they are always allowed."))
+
+s.template = "cbi/tblsection"
+s.addremove = true
+s.anonymous = true
+s:option(Value, "ipaddr", translate("IP Address"))
+s:option(Value, "netmask", translate("Netmask"), translate("optional when using host addresses")).rmempty = true
+
+return m
diff --git a/applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua b/applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua
new file mode 100644
index 000000000..00c5aba94
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/model/cbi/splash/splashtext.lua
@@ -0,0 +1,66 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright 2010 Manuel Munz <freifunk@somakoma.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+local fs = require "nixio.fs"
+
+local splashtextfile = "/usr/lib/luci-splash/splashtext.html"
+local splashtextinclude = "/usr/lib/luci-splash/splashtextinclude.html"
+
+
+f = SimpleForm("splashtext", translate("Edit the complete splash text"),
+ translate("You can enter your own text that is displayed to clients here.<br />" ..
+ "It is possible to use the following markers: " ..
+ "###COMMUNITY###, ###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."))
+
+t = f:field(TextValue, "text")
+t.rmempty = true
+t.rows = 30
+function t.cfgvalue()
+ return fs.readfile(splashtextfile) or ""
+end
+
+function f.handle(self, state, data)
+ if state == FORM_VALID then
+ if data.text then
+ fs.writefile(splashtextfile, data.text:gsub("\r\n", "\n"))
+ else
+ fs.unlink(splashtextfile)
+ end
+ end
+ return true
+end
+
+g = SimpleForm("splashtextinclude", translate("Include your own text in the default splash"),
+ translate("As an alternative to editing the complete splash text you can also just include some custom text in the default splash page by entering it here."))
+
+t = g:field(TextValue, "text")
+t.rmempty = true
+t.rows = 30
+function t.cfgvalue()
+ return fs.readfile(splashtextinclude) or ""
+end
+
+function g.handle(self, state, data)
+ if state == FORM_VALID then
+ if data.text then
+ fs.writefile(splashtextinclude, data.text:gsub("\r\n", "\n"))
+ else
+ fs.unlink(splashtextinclude)
+ end
+ end
+ return true
+end
+
+
+return f, g
diff --git a/applications/luci-app-splash/luasrc/view/admin_status/splash.htm b/applications/luci-app-splash/luasrc/view/admin_status/splash.htm
new file mode 100644
index 000000000..61b32bab9
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/view/admin_status/splash.htm
@@ -0,0 +1,294 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2009 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+
+<%-
+
+local utl = require "luci.util"
+local ipt = require "luci.sys.iptparser".IptParser()
+local uci = require "luci.model.uci".cursor_state()
+local wat = require "luci.tools.webadmin"
+local fs = require "nixio.fs"
+
+local clients = { }
+local leasetime = tonumber(uci:get("luci_splash", "general", "leasetime") or 1) * 60 * 60
+local leasefile = "/tmp/dhcp.leases"
+
+uci:foreach("dhcp", "dnsmasq",
+ function(s)
+ if s.leasefile then leasefile = s.leasefile end
+ end)
+
+
+uci:foreach("luci_splash_leases", "lease",
+ function(s)
+ if s.start and s.mac then
+ clients[s.mac:lower()] = {
+ start = tonumber(s.start),
+ limit = ( tonumber(s.start) + leasetime ),
+ mac = s.mac:upper(),
+ ipaddr = s.ipaddr,
+ policy = "normal",
+ packets = 0,
+ bytes = 0,
+ }
+ end
+ end)
+
+for _, r in ipairs(ipt:find({table="nat", chain="luci_splash_leases"})) do
+ if r.options and #r.options >= 2 and r.options[1] == "MAC" then
+ if not clients[r.options[2]:lower()] then
+ clients[r.options[2]:lower()] = {
+ start = 0,
+ limit = 0,
+ mac = r.options[2]:upper(),
+ policy = ( r.target == "RETURN" ) and "whitelist" or "blacklist",
+ packets = 0,
+ bytes = 0
+ }
+ end
+ end
+end
+
+for mac, client in pairs(clients) do
+ client.bytes_in = 0
+ client.bytes_out = 0
+ client.packets_in = 0
+ client.packets_out = 0
+
+ if client.ipaddr then
+ local rin = ipt:find({table="mangle", chain="luci_splash_mark_in", destination=client.ipaddr})
+ local rout = ipt:find({table="mangle", chain="luci_splash_mark_out", options={"MAC", client.mac:upper()}})
+
+ if rin and #rin > 0 then
+ client.bytes_in = rin[1].bytes
+ client.packets_in = rin[1].packets
+ end
+
+ if rout and #rout > 0 then
+ client.bytes_out = rout[1].bytes
+ client.packets_out = rout[1].packets
+ end
+ end
+end
+
+uci:foreach("luci_splash", "whitelist",
+ function(s)
+ if s.mac and clients[s.mac:lower()] then
+ clients[s.mac:lower()].policy="whitelist"
+ end
+ end)
+
+uci:foreach("luci_splash", "blacklist",
+ function(s)
+ if s.mac and clients[s.mac:lower()] then
+ clients[s.mac:lower()].policy=(s.kicked and "kicked" or "blacklist")
+ end
+ end)
+
+if fs.access(leasefile) then
+ for l in io.lines(leasefile) do
+ local time, mac, ip, name = l:match("^(%d+) (%S+) (%S+) (%S+)")
+ if time and mac and ip then
+ local c = clients[mac:lower()]
+ if c then
+ c.ip = ip
+ c.hostname = ( name ~= "*" ) and name or nil
+ end
+ end
+ end
+end
+
+for i, a in ipairs(luci.sys.net.arptable()) do
+ local c = clients[a["HW address"]:lower()]
+ if c and not c.ip then
+ c.ip = a["IP address"]
+ end
+end
+
+local function showmac(mac)
+ if not is_admin then
+ mac = mac:gsub("(%S%S:%S%S):%S%S:%S%S:(%S%S:%S%S)", "%1:XX:XX:%2")
+ end
+ return mac
+end
+
+if luci.http.formvalue("status") == "1" then
+ local rv = {}
+ for _, c in utl.spairs(clients,
+ function(a,b) if clients[a].policy == clients[b].policy then
+ return (clients[a].start > clients[b].start)
+ else
+ return (clients[a].policy > clients[b].policy)
+ end
+ end)
+ do
+ if c.ip then
+ rv[#rv+1] = {
+ hostname = c.hostname or "?",
+ ip = c.ip or "?",
+ mac = showmac(c.mac) or "?",
+ timeleft = (c.limit >= os.time()) and wat.date_format(c.limit-os.time()) or (c.policy ~= "normal") and "-" or "expired",
+ trafficin = wat.byte_format(c.bytes_in) or "?",
+ trafficout = wat.byte_format(c.bytes_out) or "?",
+ policy = c.policy or "?"
+ }
+ end
+ end
+ luci.http.prepare_content("application/json")
+ luci.http.write_json(rv)
+ return
+end
+-%>
+
+
+
+<%+header%>
+
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+<script type="text/javascript">//<![CDATA[
+
+ XHR.poll(10 , '<%=REQUEST_URI%>', { status: 1 },
+ function(x, info)
+ {
+ var tbody = document.getElementById('splash_table');
+ if (tbody)
+ {
+ var s = '';
+ if (info.length == undefined) {
+ s += '<tr class="cbi-section-table-row"><td colspan="7" class="cbi-section-table-cell"><br /><em><%:No clients connected%></em><br /></td></tr>'
+ };
+ for (var idx = 0; idx < info.length; idx++)
+ {
+ var splash = info[idx];
+ s += String.format(
+ '<tr class="cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+'">' +
+ '<td class="cbi-section-table-cell">%s</td>' +
+ '<td class="cbi-section-table-cell">%s</td>' +
+ '<td class="cbi-section-table-cell">%s</td>' +
+ '<td class="cbi-section-table-cell">%s</td>' +
+ '<td class="cbi-section-table-cell">%s/%s</td>' +
+ '<td class="cbi-section-table-cell">',
+ splash.hostname, splash.ip, splash.mac, splash.timeleft, splash.trafficin, splash.trafficout);
+
+ <% if is_admin then %>
+ s += String.format('<select name="policy.%s" style="width:200px">', splash.mac.toLowerCase());
+ if (splash.policy == 'whitelist') {
+ s += '<option value="whitelist" selected="selected"><%:whitelisted%></option>'
+ } else {
+ s += '<option value="whitelist"><%:whitelisted%></option>'
+ };
+ if (splash.policy == 'normal') {
+ s += '<option value="normal" selected="selected"><%:splashed%></option>';
+ s += '<option value="kicked"><%:temporarily blocked%></option>'
+ } else {
+ s += '<option value="normal"><%:splashed%></option>'
+ };
+ if (splash.policy == 'blacklist') {
+ s+= '<option value="blacklist" selected="selected"><%:blacklisted%></option>'
+ } else {
+ s += '<option value="blacklist"><%:blacklisted%></option>'
+ };
+ s += String.format(
+ '</select>' +
+ '<input type="submit" class="cbi-button cbi-button-save" name="save.%s" value="<%:Save%>" />',
+ splash.mac.toLowerCase());
+ <% else %>
+ s += String.format('%s', splash.policy);
+ <% end %>
+ s += '</td></tr>'
+ }
+ tbody.innerHTML = s;
+ }
+ }
+ );
+//]]></script>
+
+
+<div id="cbi-splash-leases" class="cbi-map">
+ <h2><a id="content" name="content"><%:Client-Splash%></a></h2>
+ <fieldset id="cbi-table-table" class="cbi-section">
+ <legend><%:Active Clients%></legend>
+ <div class="cbi-section-node">
+ <% if is_admin then %><form action="<%=REQUEST_URI%>" method="post"><% end %>
+ <table class="cbi-section-table">
+ <thead>
+ <tr class="cbi-section-table-titles">
+ <th class="cbi-section-table-cell"><%:Hostname%></th>
+ <th class="cbi-section-table-cell"><%:IP Address%></th>
+ <th class="cbi-section-table-cell"><%:MAC Address%></th>
+ <th class="cbi-section-table-cell"><%:Time remaining%></th>
+ <th class="cbi-section-table-cell"><%:Traffic in/out%></th>
+ <th class="cbi-section-table-cell"><%:Policy%></th>
+ </tr>
+ </thead>
+ <tbody id="splash_table">
+
+ <%-
+ local count = 0
+ for _, c in utl.spairs(clients,
+ function(a,b)
+ if clients[a].policy == clients[b].policy then
+ return (clients[a].start > clients[b].start)
+ else
+ return (clients[a].policy > clients[b].policy)
+ end
+ end)
+ do
+ if c.ip then
+ count = count + 1
+ -%>
+ <tr class="cbi-section-table-row cbi-rowstyle-<%=2-(count%2)%>">
+ <td class="cbi-section-table-cell"><%=c.hostname or "<em>" .. translate("unknown") .. "</em>"%></td>
+ <td class="cbi-section-table-cell"><%=c.ip or "<em>" .. translate("unknown") .. "</em>"%></td>
+ <td class="cbi-section-table-cell"><%=showmac(c.mac)%></td>
+ <td class="cbi-section-table-cell"><%=
+ (c.limit >= os.time()) and wat.date_format(c.limit-os.time()) or
+ (c.policy ~= "normal") and "-" or "<em>" .. translate("expired") .. "</em>"
+ %></td>
+ <td class="cbi-section-table-cell"><%=wat.byte_format(c.bytes_in)%> / <%=wat.byte_format(c.bytes_out)%></td>
+ <td class="cbi-section-table-cell">
+ <% if is_admin then %>
+ <select name="policy.<%=c.mac:lower()%>" style="width:200px">
+ <option value="whitelist"<%=c.policy=="whitelist" and ' selected="selected"'%>><%:whitelisted%></option>
+ <option value="normal"<%=c.policy=="normal" and not c.kicked and ' selected="selected"'%>><%:splashed%></option>
+ <option value="blacklist"<%=c.policy=="blacklist" and ' selected="selected"'%>><%:blacklisted%></option>
+ <% if c.policy == "normal" then -%>
+ <option value="kicked"><%:temporarily blocked%></option>
+ <%- end %>
+ </select>
+ <input type="submit" class="cbi-button cbi-button-save" name="save.<%=c.mac:lower()%>" value="<%:Save%>" />
+ <% else %>
+ <%=c.policy%>
+ <% end %>
+ </td>
+ </tr>
+ <%-
+ end
+ end
+ if count == 0 then
+ -%>
+ <tr class="cbi-section-table-row">
+ <td colspan="7" class="cbi-section-table-cell">
+ <br /><em><%:No clients connected%></em><br />
+ </td>
+ </tr>
+ <%- end -%>
+ </tbody>
+ </table>
+ <% if is_admin then %></form><% end %>
+ </div>
+ </fieldset>
+</div>
+
+<%+footer%>
diff --git a/applications/luci-app-splash/luasrc/view/splash/blocked.htm b/applications/luci-app-splash/luasrc/view/splash/blocked.htm
new file mode 100644
index 000000000..de61ecf01
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/view/splash/blocked.htm
@@ -0,0 +1,25 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+-%>
+<%
+local contacturl = luci.dispatcher.build_url("freifunk", "contact")
+%>
+
+<%+header%>
+
+<h2><a id="content" name="content"><%:Blocked%></a></h2>
+
+<p><%:Your access to this network has been blocked, most likely because you did something that our rules explicitly forbid.%></p>
+<p><%:To ask for the reason why you have been blocked or ask for access again you can try to contact the owner of this access point:%> <a href="<%=contacturl%>"><%:Contact%></a></p>
+
+<%+footer%>
+
+
+
diff --git a/applications/luci-app-splash/luasrc/view/splash/splash.htm b/applications/luci-app-splash/luasrc/view/splash/splash.htm
new file mode 100644
index 000000000..2ebee273b
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/view/splash/splash.htm
@@ -0,0 +1,139 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+-%>
+<%
+local fs = require "luci.fs"
+local has_custom_splash = fs.access("/usr/lib/luci-splash/splashtext.html")
+local has_custom_splashinclude = fs.access("/usr/lib/luci-splash/splashtextinclude.html")
+
+function expand (e, R)
+ return (string.gsub(e, "###([A-Z_]+)###", R))
+end
+
+local community, homepage, leasetime, limit_up, limit_down
+
+local contacturl = luci.dispatcher.build_url("freifunk", "contact")
+
+local c = luci.model.uci.cursor():get_all("freifunk", "community")
+if c and c.name then
+ name = luci.model.uci.cursor():get('profile_' .. c.name, 'profile', 'name')
+ if name then
+ community = name
+ else
+ community = c.name
+ end
+else
+ community = "Freifunk"
+end
+
+if c and c.homepage then
+ homepage = c.homepage
+else
+ homepage = "http://freifunk.net"
+end
+
+local s = luci.model.uci.cursor():get_all("luci_splash", "general")
+if s then
+ leasetime = s.leasetime or ""
+ limit_up = s.limit_up or nil
+ limit_down = s.limit_down or nil
+end
+
+local limit_text = ""
+if limit_up and limit_down then
+ limit_text = "<p>" .. translate("Your bandwidth is limited to") .. " " .. limit_down .. "/" .. limit_up ..
+ " " .. translate("KB/s (Download/Upload). You may be able to remove this limit by actively contributing " ..
+ "to this project.") .. "</p>"
+end
+
+local contact = translate('Get in %s with the operator of this access point.')
+contact = contact % ('<a href="' .. contacturl .. '">' .. translatef('Contact') .. '</a>')
+
+local accepttext = translate('By accepting these rules you can use this network for %s hour(s). After this time you need to accept these rules again.')
+accepttext = accepttext % leasetime
+
+
+if has_custom_splash then
+ local R = {
+ COMMUNITY = community,
+ COMMUNITY_URL = homepage,
+ LEASETIME = leasetime,
+ ACCEPT = tostring(translate("Accept")),
+ LIMIT = limit_text,
+ CONTACTURL = contacturl
+ }
+ local splashtext = expand(fs.readfile("/usr/lib/luci-splash/splashtext.html"), R)
+ %>
+ <%=splashtext%>
+
+<% else %>
+
+ <h2><a id="content" name="content"><%:Welcome%></a></h2>
+
+ <p><%:You are now connected to the free wireless mesh network%> <a href="<%=homepage%>"><%=community%></a>.
+ <%:Please note that we are not an internet service provider but an experimental community network.%></p>
+ <p><%:Access to the internet might be possible nevertheless, because some activists of this project share their
+ private internet connections. These few connections are shared between all users. That means available bandwidth
+ is limited and because of this we ask you not to do any of the following:%></p>
+ <ul>
+ <li><%:use filesharing applications on this network%></li>
+ <li><%:waste bandwidth with unneccesary downloads or streams%></li>
+ <li><%:perform any kind of illegal activities%></li>
+ </ul>
+ <br />
+
+ <% if limit_up and limit_down then %>
+ <%=limit_text%>
+ <% end %>
+
+ <p><%:If you use this network on a regular basis we ask for your support:%></p>
+ <ul>
+ <li><a href="<%=homepage%>"><%:Become an active member of this community and help by operating your own node%></a></li>
+ <li><%=contact%></li>
+ <li><%:Donate some money to help us keep this project alive.%></li>
+ <li><%:If you operate your own wifi equipment use channels different from ours.%></li>
+ </ul>
+
+ <%
+ if has_custom_splashinclude then
+ local splashtextinclude = fs.readfile("/usr/lib/luci-splash/splashtextinclude.html")
+ %>
+ <%=splashtextinclude%>
+ <% end %>
+
+ <h2><%:Usage Agreement%></h2>
+ <p>
+ <%:The open and free wireless network of volunteers ("Operators") provides the necessary equipment and Internet connections ("Infrastructure") at their own expense.%>
+ <%:These Terms of Use govern the use of the network by its participants' computer, PDA, or similar device ("Devices") within the network.%>
+ <%:Access to the network is not guaranteed. It can be interrupted at any time without notice for any reason, for certain devices, and/or may be blocked for certain users.%>
+ </p>
+
+ <h3><%:Legally Prohibited Activities%></h3>
+ <p><%:The participant agrees to not perform any action and refrain from acts which may violate the law or infringe upon the rights of third parties.%></p>
+
+ <h3><%:Legally Prohibited content%></h3>
+ <p><%:The participant agrees to not transfer content over the network which violates the law.%></p>
+
+ <h3><%:Fair Use Policy%></h3>
+ <p><%:The participant agrees to not use the network in any way which will harm the infrastructure, the network itself, its operators or other participants.%></p>
+
+ <h3><%:Safety%></h3>
+ <p><%:The network, like the Internet, is unencrypted and open. Each participant is responsible for the safety of their own connections and devices.%></p>
+
+ <h3>Disclaimer</h3>
+ <p><%:The operator claims no liability for loss of data, unauthorized access/damage to devices, or financial losses that participants may suffer from the use of the network.%></p>
+
+ <br /><p><b><%=accepttext%></b></p>
+<% end %>
+
+
+
diff --git a/applications/luci-app-splash/luasrc/view/splash_splash/index.htm b/applications/luci-app-splash/luasrc/view/splash_splash/index.htm
new file mode 100644
index 000000000..ab754913d
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/view/splash_splash/index.htm
@@ -0,0 +1,16 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+<%+header%>
+<%+footer%> \ No newline at end of file
diff --git a/applications/luci-app-splash/luasrc/view/splash_splash/splash.htm b/applications/luci-app-splash/luasrc/view/splash_splash/splash.htm
new file mode 100644
index 000000000..8554913cd
--- /dev/null
+++ b/applications/luci-app-splash/luasrc/view/splash_splash/splash.htm
@@ -0,0 +1,25 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
+<%+header%>
+<%+splash/splash%>
+
+<form method="get" action="<%=controller%>/splash/activate">
+ <p>
+ <input type="submit" value="<%:Decline%>" />
+ <input type="submit" name="accept" value="<%:Accept%>" />
+ </p>
+</form>
+
+<%+footer%>
diff --git a/applications/luci-app-splash/po/ca/splash.po b/applications/luci-app-splash/po/ca/splash.po
new file mode 100644
index 000000000..3afef1a7b
--- /dev/null
+++ b/applications/luci-app-splash/po/ca/splash.po
@@ -0,0 +1,330 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-01 23:10+0200\n"
+"PO-Revision-Date: 2014-07-02 21:20+0200\n"
+"Last-Translator: Alex <alexhenrie24@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Accepta"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+"Accés a la xarxa no està garantit. Pot ser interromput en qualsevol moment "
+"sense notificació per qualsevol motiu, en certs dispositius, i pot ser "
+"bloquejat a certs usuaris."
+
+msgid "Active Clients"
+msgstr "Clients actius"
+
+msgid "Allowed hosts/subnets"
+msgstr "Hosts/subxarxes permets"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr "Llista negra"
+
+msgid "Blocked"
+msgstr "Bloquejat"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr "Declina"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Dona una mica de diners per a ajudar-nos a mantenir aquest project viu."
+
+msgid "Download limit"
+msgstr "Límit de baixada"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr "Política d'ús just"
+
+msgid "Firewall zone"
+msgstr "Zona de tallafocs"
+
+msgid "General"
+msgstr "General"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "Nom de host"
+
+msgid "IP Address"
+msgstr "Adreça IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+"Si opereu el vostre propi equip WiFi, utilitzeu canals distints dels "
+"nostres."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "Si utilitzeu aquesta xarxa regularment, us demanem el vostre suport:"
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Intercepta trànsit de clients en aquesta interfície"
+
+msgid "Interfaces"
+msgstr "Interfícies"
+
+msgid "Interfaces that are used for Splash."
+msgstr "interfícies que s'utilitzen pel Splash."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr "Activitats legalment prohibits"
+
+msgid "Legally Prohibited content"
+msgstr "Contingut legalment prohibit"
+
+msgid "MAC Address"
+msgstr "Adreça MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "Les adreces MAC en aquesta llista estan bloquejades."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr "Màscara de xarxa"
+
+msgid "Network"
+msgstr "Xarxa"
+
+msgid "No clients connected"
+msgstr "Cap client connectat"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Si us plau, noteu que no som proveïdor de servei de Internet sinó una xarxa "
+"comunitària experimental."
+
+msgid "Policy"
+msgstr "Política"
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr "Seguretat"
+
+msgid "Save"
+msgstr "Desa"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+"La xarxa, com a la Internet, no és xifrada i és oberta. Cada partícip és "
+"responsable de la seguretat dels seus propis connexions i dispositius."
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+"El partícip consent a no transferir contingut sobre la xarxa que violi la "
+"llei."
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+"El partícip consent a no utilitzar la xarxa de qualsevol manera que danyi la "
+"infraestructura, la xarxa en si, els seus operadors o altres partícips."
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+"Aquestes condicions d'ús governen l'ús de la xarxa pels ordinadors, "
+"organitzadors personals o dispositius similars (\"Dispositius\") dels seus "
+"partícips dins de la xarxa."
+
+msgid "Time remaining"
+msgstr "Temps restant"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Per demanar el motiu perquè s'us ha bloquejat o per demanar l'accés de nou, "
+"podeu intentar contactar al propietari d'aquest punt d'accés:"
+
+msgid "Traffic in/out"
+msgstr "Trànsit entrant/sortint"
+
+msgid "Upload limit"
+msgstr "Límit de pujada"
+
+msgid "Usage Agreement"
+msgstr "Acord d'ús"
+
+msgid "Welcome"
+msgstr "Benvingut"
+
+msgid "Whitelist"
+msgstr "Llista blanca"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Ja esteu connectat a la xarxa en malla sense fil gratis"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Podeu introduir aquí el vostre propi text que es mostra als clients.<br />Es "
+"pot utilitzar els següents marcadors: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME### ###LIMIT### i ###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"S'us ha bloquejat el accés a aquesta xarxa, probablement perquè heu fet "
+"alguna cosa que les nostres regles explícitament prohibeixen."
+
+msgid "Your bandwidth is limited to"
+msgstr "La vostra amplada de banda està limitat a"
+
+msgid "blacklisted"
+msgstr "prohibit"
+
+msgid "expired"
+msgstr "caducat"
+
+msgid "optional when using host addresses"
+msgstr "opcional quan s'utilitza adreces de host"
+
+msgid "perform any kind of illegal activities"
+msgstr "realitza qualsevol tipus d'activitat il·legal"
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr "bloquejat temporalment"
+
+msgid "unknown"
+msgstr "desconegut"
+
+msgid "use filesharing applications on this network"
+msgstr "utilitza aplicacions de compartició de fitxers en aquesta xarxa"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "malgasta l'amplada de banda amb baixades o corrents innecessaris"
+
+msgid "whitelisted"
+msgstr "en llista blanca"
diff --git a/applications/luci-app-splash/po/cs/splash.po b/applications/luci-app-splash/po/cs/splash.po
new file mode 100644
index 000000000..671afd79e
--- /dev/null
+++ b/applications/luci-app-splash/po/cs/splash.po
@@ -0,0 +1,340 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2014-08-04 19:05+0200\n"
+"Last-Translator: KubaCZ <kuba.turek@centrum.cz>\n"
+"Language-Team: none\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Přijmout"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"Přístup k Internetu může být možný, nicméně pouze proto, že někteří "
+"aktivisté tohoto projektu sdílí jejich soukromé Internetové připojení. "
+"Těchto několik spojení je sdíleno mezi všemi uživateli. Z toho plyne, že "
+"dostupná šířka pásma je omezená a z tohoto důvodu vás žádáme, abyste "
+"nedělali žádné z následujících věcí:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr "Aktivní klienti"
+
+msgid "Allowed hosts/subnets"
+msgstr "Povolení hostitelé/podsítě"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+"Kromě možnosti vytvořit celý vlastní text místo textu výše také můžete jen "
+"jako doplněk připojit svůj text jeho napsáním sem."
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"Limit šířky pásma pro klienty je aktivován pouze v případě, že oba limity "
+"(upload a download) jsou nastaveny. Hodnotou 0 úplně vypnete toto omezení. "
+"Klienti na whitelistu nejsou omezeni."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Staňte se aktivním členem této komunity a přispějte provozováním vlastního "
+"uzlu"
+
+msgid "Blacklist"
+msgstr "Blacklist"
+
+msgid "Blocked"
+msgstr "Zablokovaný"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+#, fuzzy
+msgid "Client-Splash"
+msgstr "Client-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr "Rychlost stahování je pro klienty omezena na tuto hodnotu (kbyte/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "Rychlost nahrávání je pro klienty omezena na tuto hodnotu (kbyte/s)"
+
+msgid "Contact"
+msgstr "Kontakt"
+
+msgid "Decline"
+msgstr "Odmítnout"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Darováním peněz nám pomůžete udržet tento projekt naživu"
+
+msgid "Download limit"
+msgstr "Limit stahování"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr "Fair Use Policy"
+
+msgid "Firewall zone"
+msgstr "Zóna firewallu"
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "Hostname"
+
+msgid "IP Address"
+msgstr "IP adresa"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr "Rozhraní"
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (Stahování/Nahrávání). Aktivním přispíváním tomuto projektu můžete moci "
+"odebrat tento limit."
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr "MAC adresa"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "MAC adresy v tomto seznamu jsou blokovány"
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"Mac adresy klientů na whitelistu. Tito nemusí přijímat splash a nejsou "
+"omezeni šířkou pásma."
+
+msgid "Netmask"
+msgstr "Síťová maska"
+
+msgid "Network"
+msgstr "Síť"
+
+msgid "No clients connected"
+msgstr "Žádní klienti nejsou připojeni"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Vezměte prosím na vědomí, že nejsme žádní ISP, ale experimentální komunitní "
+"síť."
+
+msgid "Policy"
+msgstr "Politika"
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr "Bezpečnost"
+
+msgid "Save"
+msgstr "Uložit"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr "Zbývající čas"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Pokud se chcete zeptat, proč jste byli zablokováni nebo jak získat zpět "
+"přístup, můžete se pokusit kontaktovat vlastníka tohoto přístupového bodu:"
+
+msgid "Traffic in/out"
+msgstr "Provoz dovnitř/ven"
+
+msgid "Upload limit"
+msgstr "Limit nahrávání"
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr "Vítejte"
+
+msgid "Whitelist"
+msgstr "Whitelist"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Sem můžete vložit text, který se zobrazí klientům.<br />Můžete použít tyto "
+"značky: ###COMMUNITY###, ###COMMUNITY_URL###, ###CONTACTURL###, "
+"###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Váš přístup do této sítě byl zablokován, nejspíše jste udělal něco, co naše "
+"pravidla výslovně zakazují."
+
+msgid "Your bandwidth is limited to"
+msgstr "Vaše šířka pásma je omezena na"
+
+msgid "blacklisted"
+msgstr "na černé listině"
+
+msgid "expired"
+msgstr "prošlý"
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr "provádět nějaký z druhů nelegálních činností"
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr "dočasně zablokován"
+
+msgid "unknown"
+msgstr "neznámý"
+
+msgid "use filesharing applications on this network"
+msgstr "používat aplikace na sdílení souborů v této síti"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "plýtvat šířkou pásma nepotřebným stahováním nebo streamy"
+
+msgid "whitelisted"
+msgstr "na bílé listině"
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "Přijmutím těchto pravidel můžete začít používat tuto síť pro"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr "hodin. Po uplynutí této doby musíte přijmout pravidla znovu."
+
+#~ msgid "the owner of this access point."
+#~ msgstr "vlastník tohoto přístupového bodu."
diff --git a/applications/luci-app-splash/po/de/splash.po b/applications/luci-app-splash/po/de/splash.po
new file mode 100644
index 000000000..8b1cd9a5e
--- /dev/null
+++ b/applications/luci-app-splash/po/de/splash.po
@@ -0,0 +1,383 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2013-08-19 13:53+0200\n"
+"Last-Translator: Manuel <freifunk@somakoma.de>\n"
+"Language-Team: \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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Akzeptieren"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"Zugang zum Internet ist unter Umständen dennoch möglich, da einige "
+"Teilnehmer dieses Netzes ihren eigenen Internetzugang teilen. Da alle Nutzer "
+"sich diese wenigen Zugänge teilen müssen bitten wir darum, folgende "
+"Aktivitäten zu unterlassen:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+"Der Zugang zum Netzwerk wird nicht garantiert. Er kann jederzeit und ohne "
+"Angabe von Gründen unterbrochen oder für bestimmte Endgeräte und Teilnehmer "
+"gesperrt werden."
+
+msgid "Active Clients"
+msgstr "verbundene Clients"
+
+msgid "Allowed hosts/subnets"
+msgstr "Erlaubte Rechner/Netzwerke"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+"Als Alternative zum Bearbeiten des kompletten Splash-Textes (oben) kann auch "
+"nur eigener Text in die Default-Splashseite eingebunden werden. Dazu im "
+"folgenden Feld den eigenen Text eingeben."
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"Die Bandbreitenlimitierung für Clients wird nur aktiviert, wenn sowohl für "
+"Up- als auch für Download Limits eingegeben wurden. Ein Wert von 0 "
+"deaktiviert die Bandbreitenbeschränkung komplett. Rechner/Netze aus der "
+"Whitelist werden nicht limitiert."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Werde ein aktives Mitglied unserer Community und hilf, indem du selber einen "
+"Access Point betreibst."
+
+msgid "Blacklist"
+msgstr "Blacklist "
+
+msgid "Blocked"
+msgstr "Gesperrt"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+"Durch das Akzeptieren dieser Regeln kannst du unser Netzwerk für %s Stunde"
+"(n) benutzen. Danach wirst du aufgefordert diese Bedingungen erneut zu "
+"akzeptieren."
+
+msgid "Clearance time"
+msgstr "Freigabezeit"
+
+msgid "Client-Splash"
+msgstr "Client-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+"Client-Splash ist ein Hotspot-Authentifizierungssystem für Freifunk und "
+"andere Meshnetzwerke."
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+"Wird hier eine URL angegeben dann werden Clients zu dieser Seite "
+"weitergeleitet nachdem sie die Nutzungsbedingungen akzeptiert haben. Wird "
+"keine URL angegeben dann werden Clients zu der ursprünglich angeforderten "
+"Seite weitergeleitet."
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+"Downloadgeschwindigkeit von Clients auf diesen Wert limitieren (kbyte/s) "
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+"Clients die den Splash akzeptiert haben dürfen das Netzwerk für so viele "
+"Stunden benutzen."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+"Uploadgeschwindigkeit von Clients auf diesen Wert limitieren (kbyte/s) "
+
+msgid "Contact"
+msgstr "Kontakt"
+
+msgid "Decline"
+msgstr "Ablehnen"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+"Ziel-Rechner und Ziel-Netzwerke die hier aufgeführt sind werden vom "
+"Splashvorgang ausgenommen, d.h. sie können von Clients immer und ohne "
+"Authentifizierung erreicht werden."
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+"Hilf durch eine Spende dieses Projekt aufrechzuerhalten oder weiter "
+"auszubauen."
+
+msgid "Download limit"
+msgstr "Downloadbegrenzung"
+
+msgid "Edit the complete splash text"
+msgstr "Bearbeiten des kompletten Splash-Textes."
+
+msgid "Fair Use Policy"
+msgstr "Fair Use Policy"
+
+msgid "Firewall zone"
+msgstr "Firewallzone"
+
+msgid "General"
+msgstr "Allgemein"
+
+msgid "Get in %s with the operator of this access point."
+msgstr "Nimm %s mit dem Betreiber dieses Access Points auf."
+
+msgid "Hostname"
+msgstr "Rechnername"
+
+msgid "IP Address"
+msgstr "IP-Adresse"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr "Betreibe deine eigenen WLAN-Geräte auf anderen Kanälen als wir."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "Wenn du unser Netzwerk regelmässig benutzt dann hilf uns bitte, z.B.:"
+
+msgid "Include your own text in the default splash"
+msgstr "Einbinden von eigenem Text in die Default-Splashseite"
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Clientverkehr auf dieser Schnittstelle abfangen"
+
+msgid "Interfaces"
+msgstr "Schnittstellen"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Schnittstellen die für Splash benutzt werden."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (Download/Upload). Durch die aktive Teilnahme an unserem Netzwerks "
+"kannst du dieses Bandbreitenlimit deaktivieren."
+
+msgid "Legally Prohibited Activities"
+msgstr "Verbotene Handlungen"
+
+msgid "Legally Prohibited content"
+msgstr "Verbotene Inhalte"
+
+msgid "MAC Address"
+msgstr "MAC-Adresse"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "MAC-Adressen in dieser Liste werden geblockt."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"MAC-Adressen von Clients in der Whitelist. Diese müssen den Splash nicht "
+"akzeptieren und unterliegen keinen Bandbreitenbegrenzungen."
+
+msgid "Netmask"
+msgstr "Netzmaske"
+
+msgid "Network"
+msgstr "Netzwerk"
+
+msgid "No clients connected"
+msgstr "Keine Clients verbunden."
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Bitte sei dir darüber bewusst, dass wir kein Internetanbieter sondern ein "
+"experimentelles Gemeinschaftsnetzwerk sind."
+
+msgid "Policy"
+msgstr "Richtlinie"
+
+msgid "Redirect target"
+msgstr "Ziel für Weiterleitung"
+
+msgid "Safety"
+msgstr "Sicherheit"
+
+msgid "Save"
+msgstr "Speichern"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr "Splashregeln werden in diese Firewallzone eingegliedert"
+
+msgid "Splashtext"
+msgstr "Splash-Text"
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+"Das Netzwerk ist, wie das Internet auch, unverschlüsselt und offen. Jeder "
+"Teilnehmer ist selbst für die Sicherheit seiner Verbindungen und seiner "
+"Endgeräte verantwortlich."
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+"Das offene und freie drahtlose Netzwerk wird von Freiwilligen betrieben "
+"(\"Betreiber\"), die die nötigen Geräte und Internet-Anschlüsse "
+"(\"Infrastruktur\") auf eigene Kosten zur Verfügung stellen."
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+"Die Betreiber lehnen jede Haftung für Datenverlust, unbefugten Zugriff auf "
+"Endgeräte, Schäden an Endgeräten oder finanzielle Verluste, die ein "
+"Teilnehmer durch die Nutzung des Netzwerks erleidet ab."
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+"Der Teilnehmer verpflichtet sich, keine Handlungen vorzunehmen bzw. "
+"Handlungen zu unterlassen, welche gesetzliche Bestimmungen oder die Rechte "
+"Dritter verletzen."
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+"Der Teilnehmer verpflichtet sich, keine Inhalte über das Netzwerk zu "
+"übertragen, welche gegen geltendes Recht verstoßen."
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+"Der Teilnehmer verpflichtet sich, das Netzwerk nicht in einer Weise zu "
+"beanspruchen, welche die Infrastruktur, das Netzwerk selbst, dessen "
+"Betreiber oder andere Teilnehmer beeinträchtigt."
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+"Diese Nutzungsbestimmungen regeln die Inanspruchnahme des Netzwerks durch "
+"die Teilnehmer, welche sich mittels Computer, Handheld o.ä (\"Endgerät\") "
+"mit dem Netzwerk verbinden."
+
+msgid "Time remaining"
+msgstr "Verbleibende Zeit"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Um nach dem Grund der Sperrung zu fragen oder um deren Aufhebung zu bitten "
+"wende dich an den Administrator dieses Access Points:"
+
+msgid "Traffic in/out"
+msgstr "Ein-/Ausgehender Verkehr"
+
+msgid "Upload limit"
+msgstr "Upload-Begrenzung"
+
+msgid "Usage Agreement"
+msgstr "Nutzungsbestimmungen"
+
+msgid "Welcome"
+msgstr "Willkommen"
+
+msgid "Whitelist"
+msgstr "Whitelist"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Du bist jetzt verbunden mit dem freien Funknetzwerk"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Hier kann ein eigener Text eingegeben werden, der Clients angezeigt wird."
+"<br />Folgende Marker können dabei verwendet werden: ###COMMUNITY###, "
+"###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### und "
+"###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Der Zugang zu diesem Netzwerk wurde vom Administrator blockiert. Das kann "
+"verschiedene Gründe haben, sehr wahrscheinlich hast du jedoch die Regeln "
+"dieses Netzwerks nicht beachtet und dadurch Probleme verursacht."
+
+msgid "Your bandwidth is limited to"
+msgstr "Deine Bandbreite ist limitiert auf"
+
+msgid "blacklisted"
+msgstr "gesperrt"
+
+msgid "expired"
+msgstr "abgelaufen"
+
+msgid "optional when using host addresses"
+msgstr "Die Angabe ist optional wenn nur einzelne Rechner/IPs verwendet werden"
+
+msgid "perform any kind of illegal activities"
+msgstr "Illegale Aktivitäten"
+
+msgid "splashed"
+msgstr "gesplasht"
+
+msgid "temporarily blocked"
+msgstr "Vorübergehend geblockt"
+
+msgid "unknown"
+msgstr "Unbekannt"
+
+msgid "use filesharing applications on this network"
+msgstr "Filesharing betreiben"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "Bandbreite durch unnötige Downloads oder Streams zu verschwenden."
+
+msgid "whitelisted"
+msgstr "erlaubt"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "Rechner und Netzwerke die hier aufgeführt sind werden vom Splashvorgang "
+#~ "ausgenommen, d.h. sie dürfen das Netzwerk immer und ohne Authentifizierung "
+#~ "benutzen."
diff --git a/applications/luci-app-splash/po/el/splash.po b/applications/luci-app-splash/po/el/splash.po
new file mode 100644
index 000000000..df90478f7
--- /dev/null
+++ b/applications/luci-app-splash/po/el/splash.po
@@ -0,0 +1,307 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-18 15:31+0200\n"
+"PO-Revision-Date: 2012-03-18 15:31+0200\n"
+"Last-Translator: Vasilis <acinonyx@openwrt.gr>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\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"
+"X-Generator: Pootle 2.0.4\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr "Διεύθυνση IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr "Διεπαφές"
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr "Διεύθυνση MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr "Δίκτυο"
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr "Αποθήκευση"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/en/splash.po b/applications/luci-app-splash/po/en/splash.po
new file mode 100644
index 000000000..615be16b2
--- /dev/null
+++ b/applications/luci-app-splash/po/en/splash.po
@@ -0,0 +1,292 @@
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/es/splash.po b/applications/luci-app-splash/po/es/splash.po
new file mode 100644
index 000000000..836352ea9
--- /dev/null
+++ b/applications/luci-app-splash/po/es/splash.po
@@ -0,0 +1,376 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-08-24 18:30+0200\n"
+"PO-Revision-Date: 2014-06-15 13:17+0200\n"
+"Last-Translator: José Vicente <josevteg@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Aceptar"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"El acceso a internet puede ser posible, sin embargo, porque otros miembros "
+"del proyecto comparten sus conexiones a internet privadas y estas pocas "
+"conexiones se comparten entre todos los usuarios. Por este motivo el ancho "
+"de banda está limitado y le pedimos que no haga:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+"No se puede garantizar el acceso a la red. Podría interrumpirse en cualquier "
+"momento, sin aviso y por cualquier motivo, para ciertos dispositivos y/o es "
+"posible bloquearlo para ciertos usuarios."
+
+msgid "Active Clients"
+msgstr "Clientes activos"
+
+msgid "Allowed hosts/subnets"
+msgstr "Máquinas y subredes permitidas"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+"En vez de editar el splash entero puede introducir aquí un texto que se "
+"mostrará en el splash por defecto."
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"La limitación de ancho de banda sólo se activa cuando se establecen tanto el "
+"límite de subida como el de bajada. Ponga 0 para desactivarla. A los "
+"clientes en lista blanca no se les limita."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Conviértase en un miembro activo de esta comunidad y ayude gestionando su "
+"propio nodo"
+
+msgid "Blacklist"
+msgstr "Lista negra"
+
+msgid "Blocked"
+msgstr "Bloqueado"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+"Aceptar estas reglas le permite usar esta red durante %s hora(s). Tras este "
+"tiempo tendrá que aceptarlas de nuevo."
+
+msgid "Clearance time"
+msgstr "Tiempo de autorización"
+
+msgid "Client-Splash"
+msgstr "Cliente-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr "Cliente-Splash es un sistema de autentificación para redes mesh."
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+"Se redirigirá a los clientes a esta página tras haber aceptado el splash. Si "
+"se deja vacío se les redirigirá a la página que habían pedido."
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr "La velocidad de descarga de los clientes está limitada a (Kbytes/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+"Horas a las que se permitirá usar la red a los clientes que acepten la "
+"presentación."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "La velocidad de subida de los clientes está limitada a (Kbytes/s)"
+
+msgid "Contact"
+msgstr "Contacto"
+
+msgid "Decline"
+msgstr "Rechazar"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+"Redes y hosts destino excluidos de splash, es decir, que siempre son "
+"admitidos."
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Haga una aportación para ayudarnos a mantener este proyecto vivo."
+
+msgid "Download limit"
+msgstr "Límite de descarga"
+
+msgid "Edit the complete splash text"
+msgstr "Editar el texto completo del splash"
+
+msgid "Fair Use Policy"
+msgstr "Política de uso adecuado"
+
+msgid "Firewall zone"
+msgstr "Zona del cortafuegos"
+
+msgid "General"
+msgstr "General"
+
+msgid "Get in %s with the operator of this access point."
+msgstr "Conecte %s con el operador de este punto de acceso."
+
+msgid "Hostname"
+msgstr "Nombre de máquina"
+
+msgid "IP Address"
+msgstr "Dirección IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr "Si maneja su propio wi-fi use canales diferentes de los nuestros."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "Si es usuario habitual de esta red le pedimos apoyo:"
+
+msgid "Include your own text in the default splash"
+msgstr "Incluir su propio texto en el splash por defecto"
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Interceptar el tráfico cliente en esta interfaz"
+
+msgid "Interfaces"
+msgstr "Interfaces"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Interfaces usados para Splash."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (Descarga/Subida). Puede evitar este límite contribuyendo activamente a "
+"este proyecto."
+
+msgid "Legally Prohibited Activities"
+msgstr "Actividades prohibidas por ley"
+
+msgid "Legally Prohibited content"
+msgstr "Contenido prohibido por ley"
+
+msgid "MAC Address"
+msgstr "Dirección MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "Direcciones MAC bloqueadas."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"Direcciones MAC de clientes en lista blanca. Estos no tendrán que aceptar la "
+"presentación ni tendrán limitado el ancho de banda."
+
+msgid "Netmask"
+msgstr "Máscara de red"
+
+msgid "Network"
+msgstr "Red"
+
+msgid "No clients connected"
+msgstr "Sin clientes conectados"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Tenga presente que no somos un proveedor de acceso a internet sino una red "
+"comunitaria experimental."
+
+msgid "Policy"
+msgstr "Politica"
+
+msgid "Redirect target"
+msgstr "Redirige objetivo"
+
+msgid "Safety"
+msgstr "Seguridad"
+
+msgid "Save"
+msgstr "Guardar"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr "Zona del cortafuegos en la que está integradas las reglas del Splash"
+
+msgid "Splashtext"
+msgstr "Mensaje de presentación"
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+"La red, como internet, no está encriptada y es abierta. Cada participante es "
+"responsable de la seguridad de sus propias conexiones y dispositivos."
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+"La red abierta y libre de voluntarios (\"operadores\") proporciona el equipo "
+"necesario y conexiones a internet (\"infraestructura\") de su propio "
+"bolsillo."
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+"El operador no será responsable por la pérdida de datos, acceso/daño no "
+"autorizado a dispositivos o pérdidas financieras que los participantes "
+"pudiesen incurrir por el uso de la red."
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+"El participante acepta no llevar a cabo ninguna acción y evitará acciones "
+"que pudiese violar las leyes o infringir los derechos de terceros."
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+"El participante acepta no transferir contenido que viole la ley por la red."
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+"El participante acepta no usar la red de ninguna manera que dañe la "
+"infraestructura, la propia red, sus operadores u otros participantes."
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+"Estos términos cubren el uso de la red por los ordenadores de sus "
+"participantes, PDAs o dispositivos similares."
+
+msgid "Time remaining"
+msgstr "Tiempo restante"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Para preguntar porqué se le ha bloqueado o pedir acceso de nuevo intente "
+"contactar con el propietario de este punto de acceso:"
+
+msgid "Traffic in/out"
+msgstr "Tráfico entrante/saliente"
+
+msgid "Upload limit"
+msgstr "Límite de subida"
+
+msgid "Usage Agreement"
+msgstr "Acuerdo de uso"
+
+msgid "Welcome"
+msgstr "Bienvenido"
+
+msgid "Whitelist"
+msgstr "Lista blanca"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Se ha conectado a la red libre mesh inalámbrica"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Introduzca aquí el texto que se mostrará a los clientes.<br />Es posible "
+"usar las siguientes etiquetas: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### y ###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Se le ha bloqueado el acceso a esta red, probablemente porque hizo algo "
+"prohibido explícitamente en sus reglas."
+
+msgid "Your bandwidth is limited to"
+msgstr "Su ancho de banda está limitado a"
+
+msgid "blacklisted"
+msgstr "en lista negra"
+
+msgid "expired"
+msgstr "caducado"
+
+msgid "optional when using host addresses"
+msgstr "opcional si usa direcciones de máquina"
+
+msgid "perform any kind of illegal activities"
+msgstr "llevar a cabo cualquier tipo de actividades ilegales"
+
+msgid "splashed"
+msgstr "Recibido"
+
+msgid "temporarily blocked"
+msgstr "bloqueado temporalmente"
+
+msgid "unknown"
+msgstr "desconocido"
+
+msgid "use filesharing applications on this network"
+msgstr "usar aplicaciones de compartición de ficheros en esta red"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "malgastar ancho de banda con descargas innecesarias o multimedia"
+
+msgid "whitelisted"
+msgstr "en lista blanca"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "A estas máquinas y redes no se les mostrará la presentación y siempre serán "
+#~ "bienvenidas."
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "Si acepta estas reglas pordrá usar esta red para"
+
+#~ msgid "Edit Splash text"
+#~ msgstr "Editar la página de bienvenida"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr "hora/horas. Tras este tiempo deberá aceptar las reglas de nuevo."
+
+#~ msgid "the owner of this access point."
+#~ msgstr "el propietario de este punto de acceso."
diff --git a/applications/luci-app-splash/po/fr/splash.po b/applications/luci-app-splash/po/fr/splash.po
new file mode 100644
index 000000000..e525ab316
--- /dev/null
+++ b/applications/luci-app-splash/po/fr/splash.po
@@ -0,0 +1,337 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Manuel Munz <freifunk@somakoma.de>\n"
+"Language-Team: \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Accept"
+msgstr "Accepter"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr "Clients actifs"
+
+msgid "Allowed hosts/subnets"
+msgstr "Hôtes/sous-réseaux autorisés"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"La limitation de bande-passante des clients est activée seulement quand les "
+"limites montante et descendante sont données. Utilisez ici une valeur de 0 "
+"pour complètement désactiver cette limitation. Les clients autorisés (liste-"
+"blanche) ne sont pas limités."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr "interdire (liste-noire)"
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr "Durée d'autorisation"
+
+msgid "Client-Splash"
+msgstr "Client-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+"Client-Splash est un système d'authentification de HotSpot pour des réseaux "
+"sans-fil maillés."
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+"La vitesse de téléchargement des clients est limitée à cette valeur (en ko/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+"Les clients qui auront passé la page d'accueil seront autorisés à utiliser "
+"le réseau pendant ce nombre d'heures donné."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "La vitesse montante des clients sera limitée à cette valeur (en ko/s)"
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr "Refuser"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr "Limite en télé-chargement"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr "Zone du pare-feu"
+
+msgid "General"
+msgstr "Général"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "Hôte"
+
+msgid "IP Address"
+msgstr "Adresse IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Intercepter le trafic-client sur cette interface"
+
+msgid "Interfaces"
+msgstr "Interfaces"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Interfaces utilisés pour l'accueil."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr "Adresse MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "Les adresses MAC de cette liste sont bloquées."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"Adresses MAC des clients autorisés d'office. Ils n'ont pas à accepter la "
+"page d'accueil et ne sont pas limités en bande-passante."
+
+msgid "Netmask"
+msgstr "Masque"
+
+msgid "Network"
+msgstr "Réseau"
+
+msgid "No clients connected"
+msgstr "Aucun client connecté"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr "Politique"
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr "Sauvegarder"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr "Les règles du HotSpot sont intégrés dans cette zone du pare-feu"
+
+msgid "Splashtext"
+msgstr "Texte de la page d'accueil"
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr "Temps restant"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr "Trafic entrant/sortant"
+
+msgid "Upload limit"
+msgstr "Limite du trafic montant"
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr "Liste-blanche"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr "interdit (par liste-noire)"
+
+msgid "expired"
+msgstr "terminé"
+
+msgid "optional when using host addresses"
+msgstr "optionnel quand on utilise des adresses d'hôtes"
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr "À l'accueil"
+
+msgid "temporarily blocked"
+msgstr "bloqué(s) temporairement"
+
+msgid "unknown"
+msgstr "inconnu"
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr "autorisés par liste blanche"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "Les hôtes et réseaux listés ici sont exclus de l'accueil du HotSpot, ils ne "
+#~ "seront jamais autorisés."
+
+#~ msgid "Edit Splash text"
+#~ msgstr "Modifier le texte de la page d'accueil"
+
+#~ msgid ""
+#~ "You can change the text that is displayed to clients here.<br /> It is "
+#~ "possible to use the following markers: ###COMMUNITY###, "
+#~ "###COMMUNITY_URL###, ###LEASETIME### and ###ACCEPT###.<br />Click here to "
+#~ "<a href='/luci/splash/'>test the splash page</a> after you saved it."
+#~ msgstr ""
+#~ "Vous pouvez changer ici le texte qui sera présenté aux clients.<br /> Il "
+#~ "est possible d'y inclure les marqueurs suivants : ###COMMUNITY###, "
+#~ "###COMMUNITY_URL###, ###LEASETIME### et ###ACCEPT###.<br />Cliquez ici <a "
+#~ "href=\\'/luci/splash/\\'>tester la page d'accueil</a> une fois celle-ci "
+#~ "sauvegardée."
diff --git a/applications/luci-app-splash/po/he/splash.po b/applications/luci-app-splash/po/he/splash.po
new file mode 100644
index 000000000..bf7e2f074
--- /dev/null
+++ b/applications/luci-app-splash/po/he/splash.po
@@ -0,0 +1,325 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-09-10 04:38+0200\n"
+"PO-Revision-Date: 2012-09-10 04:58+0200\n"
+"Last-Translator: Snoof <sagim9@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"החיבור לאינטרנט יכול להתאפשר בגלל שכמה פעילים של הפרוייקט משתפים את חיבור "
+"האינטרנט האישי שלהם. אותם חיבורים מעטים משותפים בין כל המשתמשים. משמע רוחב "
+"הפס הזמין מוגבל ולכן אנו מבקשים מכם לא לעשות את הדברים הבאים:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr "הפוך לחבר פעיל של הקהילה ועזור ע\"י תפעול נקודה של עצמך"
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr "חסומים"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr "דחה"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "תרום כסף על מנת שנוכל לשמור על הפרוייקט הזה חי."
+
+msgid "Download limit"
+msgstr "הגבלת הורדה"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr "כללי"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr "כתובת IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr "אם הנך מפעיל מכשירי wifi של עצמך השתמש בערוצים שונים משלנו."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "אם הנך משתמש ברשת זו על בסיס קבוע אנו מבקשים את תמיכתך:"
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr "ממשקים"
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (הורדה/העלאה). הנך יכול להוריד מגבלה זו ע\"י תרומה פעילה לפרוייקט זה."
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr "כתובת MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "כתובות MAC ברשימה זו הינם חסומים."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr "רשת"
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr "שים לב שאנו לא ספק אינטרנט אלא רשת חברתית נסיונית."
+
+msgid "Policy"
+msgstr "מדיניות"
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr "שמור"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr "זמן שנותר"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"על מנת לשאול לסיבה שבגגלה נחסמת או לבקש גישה מחדש הנך יכול לנסות ליצור קשר "
+"עם הבעלים של נקודת גישה זו:"
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr "הגבלת העלאה"
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr "ברוכים הבאים"
+
+msgid "Whitelist"
+msgstr ""
+
+#, fuzzy
+msgid "You are now connected to the free wireless mesh network"
+msgstr "הנך מחובר כעת לרשת האלחוטית החינמית"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"הגישה שלך לרשת זו נחסמה, ככל הנראה בגלל שעשית משהו שהחוקים שלנו אוסרים "
+"במפורש."
+
+msgid "Your bandwidth is limited to"
+msgstr "רוחב הפס שלך מוגבל ל"
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr "פג תוקף"
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr "בצע פעילות בלתי חוקית מכל סוג שהוא"
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr "חסום זמנית"
+
+msgid "unknown"
+msgstr "לא ידוע"
+
+msgid "use filesharing applications on this network"
+msgstr "השתמש בתוכנות לשיתוף קבצים ברשת זו."
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "לבזבז רוחב פס עם הורדות או שידורים מיותרים"
+
+msgid "whitelisted"
+msgstr ""
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "ע\"י הסכמתך לחוקים האלו הנך יכול להשתמש ברשת זו בשביל"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr "שעה(ות). לאחר זמן זה תצטרך לקבל את החוקים האלו שוב."
+
+#~ msgid "the owner of this access point."
+#~ msgstr "הבעלים של נקודת גישה זו."
diff --git a/applications/luci-app-splash/po/hu/splash.po b/applications/luci-app-splash/po/hu/splash.po
new file mode 100644
index 000000000..f2c7da14a
--- /dev/null
+++ b/applications/luci-app-splash/po/hu/splash.po
@@ -0,0 +1,303 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: \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 "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/it/splash.po b/applications/luci-app-splash/po/it/splash.po
new file mode 100644
index 000000000..8964b6c3f
--- /dev/null
+++ b/applications/luci-app-splash/po/it/splash.po
@@ -0,0 +1,361 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-10 18:43+0200\n"
+"PO-Revision-Date: 2013-02-10 19:08+0200\n"
+"Last-Translator: Francesco <3gasas@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: it\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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Accetta"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"L'accesso a Internet potrebbe essere possibile, perché alcuni attivisti di "
+"questo progetto condividono le loro connessioni internet private​​. Queste "
+"poche connessioni sono condivise tra tutti gli utenti. Ciò significa che la "
+"larghezza di banda a disposizione è limitato e per questo vi chiediamo di "
+"non fare una delle seguenti operazioni:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr "Attiva Clienti"
+
+msgid "Allowed hosts/subnets"
+msgstr "Hosts/Sottoreti Consentite"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"Il limite della larghezza di banda per i clienti viene attivato solo quando "
+"entrambi i limiti di upload e download sono impostati. Utilizzare un valore "
+"pari a 0 qui per disattivare completamente questa limitazione. I client "
+"inseriti nell'elenco dei consentiti non sono limitati."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Diventare un membro attivo di questa comunità e aiutaci nell'utilizzo del "
+"proprio nodo"
+
+msgid "Blacklist"
+msgstr "Lista Nera"
+
+msgid "Blocked"
+msgstr "Bloccato"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr "Spazio tempo"
+
+msgid "Client-Splash"
+msgstr "Client-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+"Client-Splash è un sistema di autenticazione hotspot per le reti mesh "
+"wireless."
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr "La velocità di download dei clienti è limitata a tale valore (kbyte/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+"I clienti che hanno accettato lo splash sono autorizzati ad utilizzare la "
+"rete anche per molte ore."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "La velocità di upload dei clienti è limitata a questo valore (kbyte/s)"
+
+msgid "Contact"
+msgstr "Contatto"
+
+msgid "Decline"
+msgstr "Rifiuta"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+"Effettua una donazione per aiutare a mantenere in attività questo progetto."
+
+msgid "Download limit"
+msgstr "Limite di download"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr "Zona Firewall"
+
+msgid "General"
+msgstr "Generale"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "Nome Host"
+
+msgid "IP Address"
+msgstr "Indirizzo IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+"Se si utilizza una propria apparecchiatura wifi utilizzare canali differenti "
+"dalle nostre."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+"Se si utilizza questa rete su base regolare vi chiediamo il vostro sostegno:"
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Intercettare il traffico cliente su questa interfaccia"
+
+msgid "Interfaces"
+msgstr "Interfacce"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Interfacce usate per lo Splash."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (Download/Upload). Si può essere in grado di rimuovere questo limite, "
+"contribuendo attivamente a questo progetto."
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr "Indirizzo MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "gli indirizzi MAC in questo elenco sono bloccati."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"Gli indirizzi MAC dei clienti dell'elenco consentito. Questi non hanno "
+"bisogno di accettare lo splash e non hanno la larghezza di banda limitata."
+
+msgid "Netmask"
+msgstr "Maschera Rete"
+
+msgid "Network"
+msgstr "Rete"
+
+msgid "No clients connected"
+msgstr "Nessun cliente connesso"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Si prega di notare che non siamo un provider di servizi internet, ma una "
+"rete di comunità sperimentale."
+
+msgid "Policy"
+msgstr "Politica"
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr "Salva"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr "Le regole Splash sono integrate in questa zona firewall"
+
+msgid "Splashtext"
+msgstr "Splashtext"
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr "Tempo restante"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Per richiedere il motivo per cui sono state bloccate o chiedere l'accesso di "
+"nuovo si può provare a contattare il proprietario di questo punto di accesso:"
+
+msgid "Traffic in/out"
+msgstr "Traffico ingresso/uscita"
+
+msgid "Upload limit"
+msgstr "Limite di upload"
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr "Benvenuti"
+
+msgid "Whitelist"
+msgstr "Elenco Consentiti"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Ora si è connessi alla rete mesh wireless gratuita"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"È possibile inserire il proprio testo che viene visualizzato ai clienti qui "
+"<br/> È possibile utilizzare i seguenti marcatori.: ###COMMUNITY###, "
+"###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### and "
+"###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"L'accesso a questa rete è stata bloccata, molto probabilmente perché hai "
+"fatto qualcosa che le nostre regole vietano espressamente."
+
+msgid "Your bandwidth is limited to"
+msgstr "La tua larghezza di banda è limitata a"
+
+msgid "blacklisted"
+msgstr "Lista Nera"
+
+msgid "expired"
+msgstr "scaduto"
+
+msgid "optional when using host addresses"
+msgstr "opzionale quando si utilizza indirizzi host"
+
+msgid "perform any kind of illegal activities"
+msgstr "eseguire qualsiasi tipo di attività illegali"
+
+msgid "splashed"
+msgstr "splashed"
+
+msgid "temporarily blocked"
+msgstr "temporaneamente bloccato"
+
+msgid "unknown"
+msgstr "sconosciuto"
+
+msgid "use filesharing applications on this network"
+msgstr "utilizzare le applicazioni di filesharing su questa rete"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "sprecate banda con download o flussi inutili"
+
+msgid "whitelisted"
+msgstr "Elenco contensiti"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "Le reti e gli host che sono elencate qui sono esclusi dallo splashing, cio* "
+#~ "sono sempre ammessi."
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "Accettando queste regole è possibile utilizzare questa rete per"
+
+#~ msgid "Edit Splash text"
+#~ msgstr "Modifica il testo Splash"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr ""
+#~ "ora(e). Trascorso questo tempo è necessario accettare queste regole di "
+#~ "nuovo."
+
+#~ msgid "the owner of this access point."
+#~ msgstr "il proprietario di questo punto di accesso."
diff --git a/applications/luci-app-splash/po/ja/splash.po b/applications/luci-app-splash/po/ja/splash.po
new file mode 100644
index 000000000..615be16b2
--- /dev/null
+++ b/applications/luci-app-splash/po/ja/splash.po
@@ -0,0 +1,292 @@
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/ms/splash.po b/applications/luci-app-splash/po/ms/splash.po
new file mode 100644
index 000000000..615be16b2
--- /dev/null
+++ b/applications/luci-app-splash/po/ms/splash.po
@@ -0,0 +1,292 @@
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/no/splash.po b/applications/luci-app-splash/po/no/splash.po
new file mode 100644
index 000000000..615be16b2
--- /dev/null
+++ b/applications/luci-app-splash/po/no/splash.po
@@ -0,0 +1,292 @@
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/pl/splash.po b/applications/luci-app-splash/po/pl/splash.po
new file mode 100644
index 000000000..68568848f
--- /dev/null
+++ b/applications/luci-app-splash/po/pl/splash.po
@@ -0,0 +1,385 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-08-24 06:17+0200\n"
+"PO-Revision-Date: 2014-05-05 04:17+0200\n"
+"Last-Translator: piosl <sleczek.piotr@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Akceptuj"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"Dostęp do internetu może być mimo wszystko możliwy, ponieważ niektórzy "
+"aktywiści tego projektu dzielą się swoimi prywatnymi łączami. Te kilka łącz "
+"jest rozdzielanych między wszystkich użytkowników. Oznacza to, że transfer "
+"jest ograniczony. Z tego powodu prosimy, abyś nie:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+"Dostęp do sieci nie jest gwarantowany. Może być przerwany w każdej chwili i "
+"bez podawania jakiegokolwiek powodu, dla niektórych urządzeń i/lub "
+"niektórych użytkowników."
+
+msgid "Active Clients"
+msgstr "Aktywni klienci"
+
+msgid "Allowed hosts/subnets"
+msgstr "Dozwolone hosty/podsieci"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+"Jako alternatywę do edycji pełnego tekstu powitalnego możesz po prostu "
+"zawrzeć własny tekst wpisując go tutaj."
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"Limit transferu dla klientów jest aktywny tylko jeśli aktywne są oba limity "
+"- pobierania i wysyłania. Ustaw 0, aby całkowicie wyłączyć to ograniczenie. "
+"Nie dotyczy ono klientów z białej listy."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Zostań aktywnym członkiem tej społeczności i pomóż, zakładając własny węzeł"
+
+msgid "Blacklist"
+msgstr "Czarna lista"
+
+msgid "Blocked"
+msgstr "Zablokowane"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+"Akceptując te zasady można korzystać z tej sieci na %s godzin(y). Po tym "
+"czasie należy zaakceptować te zasady ponownie."
+
+# z niemieckiego tłumaczenia
+#, fuzzy
+msgid "Clearance time"
+msgstr "Czas wyzwalacza"
+
+msgid "Client-Splash"
+msgstr "Splash kliencki"
+
+# nie ma słowa "autentykacja" - to brzydka kalka z angielskiego.
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+"Klient Splash - sposób uwierzytelniania użytkowników dla sieci WiFi oparty o "
+"wyświetlanie komunikatów."
+
+#, fuzzy
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+"Klienci są przekierowywani do tej strony po tym, jak zaakceptują powitanie. "
+"Jeśli to miejsce jest puste zostaną przekierowani do strony którą wybrali."
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr "Prędkość pobierania dla klienta jest ograniczona do wartości (kb/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr "Klienci, którzy zaakceptowali okienko mogą korzystać z sieci przez."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "Prędkość pobierania dla klienta jest ograniczona do wartości (kb/s)"
+
+msgid "Contact"
+msgstr "Kontakt"
+
+msgid "Decline"
+msgstr "Odrzuć"
+
+#, fuzzy
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+"Hosty przeznaczenia i sieci, które są wykluczone z powitania, tzn. są zawsze "
+"dozwolone."
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Możesz zasposorować ten projekt aby utrzymać go przy życiu"
+
+msgid "Download limit"
+msgstr "Limit ściągania"
+
+msgid "Edit the complete splash text"
+msgstr "Edit the complete splash text"
+
+msgid "Fair Use Policy"
+msgstr "Zasady dozwolonego użytku"
+
+msgid "Firewall zone"
+msgstr "Strefa firewall"
+
+msgid "General"
+msgstr "Ogólne"
+
+msgid "Get in %s with the operator of this access point."
+msgstr "Uzyskaj %s z operatorem tego punktu dostępu."
+
+msgid "Hostname"
+msgstr "Nazwa hosta"
+
+msgid "IP Address"
+msgstr "Adres IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+"Jeśli używasz własnych urządzeń WiFi korzystaj z innych kanałów niż nasze."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "Jeśli korzystasz z tej sieci regularnie prosimy cię o wsparcie."
+
+msgid "Include your own text in the default splash"
+msgstr "Zamieść własny tekst w miejscu domyślnego powitania"
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Przechwytuj ruchu klienta w tym interfejsie"
+
+msgid "Interfaces"
+msgstr "Interfejs"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Interfejsy wykorzystywane przez komunikat (Splash)"
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (Download/Upload). Będziesz w stanie usunąć ten limit jeśli aktywnie "
+"przyłączysz się do tego projektu."
+
+msgid "Legally Prohibited Activities"
+msgstr "Działania zabronione prawnie"
+
+msgid "Legally Prohibited content"
+msgstr "Treści zabronione prawnie"
+
+msgid "MAC Address"
+msgstr "Adres MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "Adresy MAC z tej listy są zablokowane."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"Biała lista adresów MAC, wszyscy z tej listy nie muszą akceptować komunikatu "
+"(Splash) i nie mają ograniczanego połączenia"
+
+msgid "Netmask"
+msgstr "Maska sieci"
+
+msgid "Network"
+msgstr "Sieć"
+
+msgid "No clients connected"
+msgstr "Nie ma podłączonych klientów"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Zwróć uwagę na to że nie jesteśmy providerem internetowym ale "
+"eksperymentalną siecią"
+
+msgid "Policy"
+msgstr "Zasady"
+
+msgid "Redirect target"
+msgstr "przekierować cel"
+
+msgid "Safety"
+msgstr "Bezpieczeństwo"
+
+msgid "Save"
+msgstr "Zachowaj"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+"Reguły komunikatu (Splash) są integrowane z ustawieniami firewalla tej strefy"
+
+msgid "Splashtext"
+msgstr "Tekst komunikatu (Splash)"
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+"Sieci, takie jak Internet, są otwarte i nieszyfrowane. Każdy uczestnik jest "
+"odpowiedzialny za bezpieczeństwo swoich połączeń i urządzeń."
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+"Właściciel sieci nie ponosi odpowiedzialności za utratę danych, "
+"nieautoryzowanego dostępu / uszkodzenia urządzeń lub strat finansowych, "
+"które uczestnicy mogą ponieść podczas korzystania z sieci."
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+"Uczestnik zobowiązuje się nie wykonywać żadnych działań, i powstrzymać się "
+"od działań, które naruszają prawo lub naruszające prawa osób trzecich."
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+"Uczestnik zobowiązuje się do nie przesyłania w sieci treści, które naruszają "
+"prawo."
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+"Uczestnik zobowiązuje się nie korzystać z sieci w sposób, który zagraża "
+"infrastrukturze, samej sieci, jej podmiotom lub innym uczestnikom."
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+"Niniejszy Regulamin reguluje wykorzystanie komputera w sieci przez swoich "
+"uczestników, PDA, lub podobnego urządzenia (\"Urządzeń\") w ramach sieci."
+
+msgid "Time remaining"
+msgstr "Pozostały czas"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Aby poznać z jakiego powodu zostałeś zablokowany lub prosić o ponowne "
+"odblokowanie możesz spróbować skontaktować się z właścicielem tego Access "
+"Point'a:"
+
+msgid "Traffic in/out"
+msgstr "Ruch do/od"
+
+msgid "Upload limit"
+msgstr "Limit wysyłania"
+
+msgid "Usage Agreement"
+msgstr "Umowa użytkowania"
+
+msgid "Welcome"
+msgstr "Witamy"
+
+msgid "Whitelist"
+msgstr "Biała lista"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Jesteś teraz podłączony do darmowej sieci"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Możesz umieścić tutaj własny tekst wyświetlany dla klientów.<br /> "
+"Dopuszczalne jest używanie następujących znaków: ###COMMUNITY###, "
+"###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### and "
+"###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Twój dostęp do sieci został zablokowany, najprawdopodobniej dlatego że "
+"wykonałeś jedną z akcji zabronionych przez nasze reguły."
+
+msgid "Your bandwidth is limited to"
+msgstr "Twój transfer jest ograniczony do"
+
+msgid "blacklisted"
+msgstr "czarna lista"
+
+msgid "expired"
+msgstr "wygasło"
+
+msgid "optional when using host addresses"
+msgstr "opcjonalne w przypadku używania adresów hostów"
+
+msgid "perform any kind of illegal activities"
+msgstr "wykonywał którąkolwiek z zakazanych akcji"
+
+msgid "splashed"
+msgstr "Powitanie"
+
+msgid "temporarily blocked"
+msgstr "tymczasowo zablokowane"
+
+msgid "unknown"
+msgstr "nieznane"
+
+# Zgaduję, że to jest wyświetlane tuż po komunikacie nr 2, więc tak powinno pasować.
+msgid "use filesharing applications on this network"
+msgstr "używał programów do dzielenia się plikami w tej sieci"
+
+# j.w.
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "marnował transfer na niepotrzebne pobieranie plików i strumieni"
+
+msgid "whitelisted"
+msgstr "biała lista"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "Hosty i sieci wylistowane tutaj są wyłączone z konieczności klikania "
+#~ "komunikatu, zawsze mogą połączyć się do sieci."
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "Akceptując te reguły możesz używać sieci do:"
+
+#~ msgid "Edit Splash text"
+#~ msgstr "Edytuj tekst Komunikatu (Splash)"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr "Czas po jakim musisz zaakceptować te reguły (w godzinach)"
+
+#~ msgid "the owner of this access point."
+#~ msgstr "Właściciel tego Access Point'a"
diff --git a/applications/luci-app-splash/po/pt-br/splash.po b/applications/luci-app-splash/po/pt-br/splash.po
new file mode 100644
index 000000000..cbdc8016c
--- /dev/null
+++ b/applications/luci-app-splash/po/pt-br/splash.po
@@ -0,0 +1,402 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-11-02 05:36+0200\n"
+"PO-Revision-Date: 2014-06-21 19:10+0200\n"
+"Last-Translator: Éder <eder.grigorio@openmailbox.org>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt_BR\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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Aceitar"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"O acesso à internet, no entanto, pode ser possível porque alguns ativistas "
+"deste projeto compartilham duas conexões privadas com a internet. Estas "
+"poucas conexões são compartilhadas entre todos os usuários. Isto significa "
+"que a banda disponível é limitada e, por este motivo, pedimos que você não "
+"faça qualquer uma destas coisas:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+"O acesso à rede não é garantido. Ele pode ser interrompido a qualquer "
+"momento sem aviso e por qualquer motivo, para alguns equipamentos e/ou pode "
+"bloquear alguns usuários."
+
+msgid "Active Clients"
+msgstr "Clientes Ativos"
+
+msgid "Allowed hosts/subnets"
+msgstr "Subredes/equipamentos permitidos"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+"Como uma alternativa a edição completa do texto do termo de uso, você pode "
+"também entrar aqui algum texto personalizado para incluir na página padrão."
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"O limite da taxa de transferência somente é ativado quando ambos os limites, "
+"para subir e baixar, estão definidos. Use o valor 0 para desabilitar "
+"completamente esta limitação. Clientes na lista branca não são limitados."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Torne-se um membro ativo desta comunidade e ajude operando seu próprio nó."
+
+msgid "Blacklist"
+msgstr "Lista negra"
+
+msgid "Blocked"
+msgstr "Bloqueado"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+"Aceitando estas regras, você pode usar esta rede por %s hora(s). Depois "
+"deste prazo, você terá que aceitar estas regras novamente."
+
+msgid "Clearance time"
+msgstr "Tempo de eliminação"
+
+msgid "Client-Splash"
+msgstr "Client-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+"Client-Splash é um sistema de autenticação de ponto de acesso para redes sem "
+"fio em malha."
+
+# 20140621: edersg: tradução
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+"Os clientes são redirecionados para esta página depois de terem aceitado a "
+"*splash* Se esta for deixada em branco, eles são redirecionados para a "
+"página que haviam solicitado."
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+"A velocidade para baixar dos clientes é limitada por este valor (kbytes/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+"Os clientes que aceitarem o termo de uso estarão autorizados a usar a rede "
+"por esta quantidade de horas."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+"A velocidade para subir dos clientes é limitada por este valor (kbytes/s)"
+
+msgid "Contact"
+msgstr "Contato"
+
+msgid "Decline"
+msgstr "Rejeitar"
+
+# 20140621: edersg: tradução
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+"As redes e as máquinas de destino que são excluídas a partir da *splashing*, "
+" são sempre permitidas."
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Doar algum dinheiro para ajudar a manter este projeto vivo."
+
+msgid "Download limit"
+msgstr "Limite para baixar"
+
+msgid "Edit the complete splash text"
+msgstr "Edite todo o termo de uso"
+
+msgid "Fair Use Policy"
+msgstr "Política de uso adequado"
+
+msgid "Firewall zone"
+msgstr "Zona do Firewall"
+
+msgid "General"
+msgstr "Geral"
+
+# Very strange text... Used at http://luci.subsignal.org/trac/browser/luci/trunk/applications/luci-splash/luasrc/view/splash/splash.htm:58
+msgid "Get in %s with the operator of this access point."
+msgstr "Entre em %s com o operador deste ponto de acesso."
+
+msgid "Hostname"
+msgstr "Nome do Equipamento"
+
+msgid "IP Address"
+msgstr "Endereço IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+"Se você opera seu próprio equipamento WiFi, use canais diferentes dos nossos."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "Se você usa esta rede regularmente, nós pedimos a sua ajuda:"
+
+msgid "Include your own text in the default splash"
+msgstr "Inclua seu próprio texto no termo de uso padrão"
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Interceptar o tráfego do cliente nesta interface"
+
+msgid "Interfaces"
+msgstr "Interfaces"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Interfaces usadas pelo Splash."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"KB/s (Baixando/Subindo). Você pode remover esta limitação contribuindo "
+"ativamente para este projeto."
+
+msgid "Legally Prohibited Activities"
+msgstr "Atividades Proibidas por Lei"
+
+msgid "Legally Prohibited content"
+msgstr "Conteúdo Proibido por Lei"
+
+msgid "MAC Address"
+msgstr "Endereço MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "Os endereços MAC nesta lista serão bloqueados."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"Endereços MAC dos clientes na lista branca. Estes não precisam aceitar o "
+"termo de uso e não possuem limitação na sua taxa de transferência."
+
+msgid "Netmask"
+msgstr "Máscara de Rede"
+
+msgid "Network"
+msgstr "Rede"
+
+msgid "No clients connected"
+msgstr "Nenhum cliente conectado"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Observe que nós não somos um provedor de internet mas uma rede comunitária "
+"experimental."
+
+msgid "Policy"
+msgstr "Política"
+
+# 20140621: edersg: tradução
+msgid "Redirect target"
+msgstr "Redirecionar alvo"
+
+msgid "Safety"
+msgstr "Segurança"
+
+msgid "Save"
+msgstr "Salvar"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr "As regras do Slapsh estão integradas a esta zona do firewall"
+
+msgid "Splashtext"
+msgstr "Texto do termo de uso"
+
+# 20140621: edersg: tradução
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+"Uma rede como a Internet não é criptografada e aberta. Cada usuário é "
+"responsável pela segurança de suas próprias conexões e dispositivos."
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+"A rede sem fio aberta e livre dos voluntários (\"Operadores\") provê o "
+"equipamento necessário e conexão com a Internet (\"Infraestrutura\") do seu "
+"próprio bolso."
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+"O operador não se responsabiliza por perda de dados, acesso não autorizado "
+"ou dano aos dispositivos, ou perdas financeiras que os participantes possam "
+"sofrer pelo o uso da rede."
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+"O participante concorda que não realizará nenhuma atividade e se absterá de "
+"atos que possam violar a lei ou infringir os direitos de terceiros."
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+"O participante concorda em não transferir conteúdo pela rede que viole a lei."
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+"O participante concorda em não usar a rede de qualquer maneira que possa "
+"prejudicar a infraestrutura, a própria rede, seus operadores ou outros "
+"participantes."
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+"Estes \"Termos de Uso\" regem o uso da rede por equipamentos dos "
+"participantes em uso desta rede."
+
+msgid "Time remaining"
+msgstr "Tempo restante"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Para perguntar por qual razão você foi bloqueado ou para solicitar novamente "
+"seu acesso, você pode tentar contatar o dono deste ponto de acesso:"
+
+msgid "Traffic in/out"
+msgstr "Tráfego de entrada/saída"
+
+msgid "Upload limit"
+msgstr "Limite de subida"
+
+msgid "Usage Agreement"
+msgstr "Acordo de Uso"
+
+msgid "Welcome"
+msgstr "Bem-vindo"
+
+msgid "Whitelist"
+msgstr "Lista branca"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Você está agora conectado à rede livre em malha sem fio"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Vocẽ pode entrar aqui com seu próprio texto que será mostrado para os "
+"clientes.<br />É possível usar os seguintes marcadores: ###COMMUNITY###, "
+"###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### and "
+"###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Seu acesso para esta rede foi bloqueado, provavelmente porque você fez algo "
+"que as regras explicitamente proibiam."
+
+msgid "Your bandwidth is limited to"
+msgstr "Sua banda está limitada à"
+
+msgid "blacklisted"
+msgstr "na lista negra"
+
+msgid "expired"
+msgstr "expirado"
+
+msgid "optional when using host addresses"
+msgstr "opcional quando é usado o endereço do equipamento"
+
+msgid "perform any kind of illegal activities"
+msgstr "realizar qualquer tipo de atividades ilegais"
+
+msgid "splashed"
+msgstr "termo mostrado"
+
+msgid "temporarily blocked"
+msgstr "bloqueado temporariamente"
+
+msgid "unknown"
+msgstr "desconhecido"
+
+msgid "use filesharing applications on this network"
+msgstr "usar aplicativos de compartilhamento de arquivos nesta rede"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "usar banda com fluxos ou arquivos baixados não necessários"
+
+msgid "whitelisted"
+msgstr "na lista branca"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "Equipamentos ou Redes listadas aqui estarão excluídas do termo de uso. Eles "
+#~ "estarão sempre autorizados."
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "Aceitando estas regras, você pode usar esta rede para"
+
+#~ msgid "Edit Splash text"
+#~ msgstr "Editar texto do termo de uso"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr ""
+#~ "horas(s). Depois deste tempo, você terá que aceitar as regras novamente."
+
+#~ msgid "the owner of this access point."
+#~ msgstr "o dono deste ponto de acesso."
+
+#~ msgid ""
+#~ "You can change the text that is displayed to clients here.<br /> It is "
+#~ "possible to use the following markers: ###COMMUNITY###, "
+#~ "###COMMUNITY_URL###, ###LEASETIME### and ###ACCEPT###.<br />Click here to "
+#~ "<a href='/luci/splash/'>test the splash page</a> after you saved it."
+#~ msgstr ""
+#~ "Aqui você pode mudar o texto do termo de uso que é mostrado aos clientes."
+#~ "<br /> É possível usar as seguintes marcações: ###COMMUNITY###, "
+#~ "###COMMUNITY_URL###, ###LEASETIME### e ###ACCEPT###.<br />Clique aqui "
+#~ "para <a href='/luci/splash/'>testar a página de termo de uso</a> depois "
+#~ "que você salvá-la."
diff --git a/applications/luci-app-splash/po/pt/splash.po b/applications/luci-app-splash/po/pt/splash.po
new file mode 100644
index 000000000..05bee4f32
--- /dev/null
+++ b/applications/luci-app-splash/po/pt/splash.po
@@ -0,0 +1,309 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-05-31 22:29+0200\n"
+"PO-Revision-Date: 2013-06-03 12:17+0200\n"
+"Last-Translator: joao.f.vieira <joao.f.vieira@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt\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"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "Aceitar"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr "Clientes Activos"
+
+msgid "Allowed hosts/subnets"
+msgstr "Hosts/Subnets permitidos"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr "Bloqueado"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr "Aceitando estas regras só pode usar esta regra para"
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "A velocidade de upload está limitado a (kbyte/s)"
+
+msgid "Contact"
+msgstr "Contacto"
+
+msgid "Decline"
+msgstr "Declinar"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Doe algum dinheiro para nos ajudar a manter este projeto vivo."
+
+msgid "Download limit"
+msgstr "Limite de Download"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr "Zona de Firewall"
+
+msgid "General"
+msgstr "Geral"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "Nome de Host"
+
+msgid "IP Address"
+msgstr "Endereço IP"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+"Se tem o seu próprio equipamento de rede wireless, use canais diferentes dos "
+"nossos."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr "Interfaces"
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr "Endereço MAC"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "Endereços MAC nesta lista estão bloqueados."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr "Mascara de Rede"
+
+msgid "Network"
+msgstr "Rede"
+
+msgid "No clients connected"
+msgstr "Não há clientes ligados"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr "Gravar"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr "Limite de Upload"
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr "Bem-vindo"
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr "A largura de banda está limitada a"
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr "desconhecido"
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/ro/splash.po b/applications/luci-app-splash/po/ro/splash.po
new file mode 100644
index 000000000..615be16b2
--- /dev/null
+++ b/applications/luci-app-splash/po/ro/splash.po
@@ -0,0 +1,292 @@
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/ru/splash.po b/applications/luci-app-splash/po/ru/splash.po
new file mode 100644
index 000000000..3f470dba0
--- /dev/null
+++ b/applications/luci-app-splash/po/ru/splash.po
@@ -0,0 +1,362 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: LuCI: splash\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-01-26 15:10+0200\n"
+"PO-Revision-Date: 2013-11-13 18:52+0200\n"
+"Last-Translator: Роман <x.wserfer@gmail.com>\n"
+"Language-Team: Russian <x12ozmouse@ya.ru>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Pootle 2.0.6\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+msgid "Accept"
+msgstr "Принять"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+"Доступ к интернету возможен благодаря некоторым активистам данного проекта, "
+"которые делают общедоступным своё личное подключение к интернету. Эти "
+"немногие подключения разделяются среди всех пользователей. Это означает, что "
+"доступная пропускная способность ограничена и поэтому мы просим вас не "
+"делать следующего:"
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr "Активные клиенты"
+
+msgid "Allowed hosts/subnets"
+msgstr "Разрешённые хосты/подсети"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"Ограничение полосы для клиентов активируется только при указанных лимитах "
+"нисходящего и восходящего каналов. Значение 0 полностью отключает "
+"ограничение. Клиенты из \"белого\" списка не имеют ограничений."
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+"Станьте активным участником данного сообщества и окажите содействие, "
+"запустив свой узел сети"
+
+msgid "Blacklist"
+msgstr "Чёрный список"
+
+msgid "Blocked"
+msgstr "Заблокирован"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr "Разрешённое время"
+
+msgid "Client-Splash"
+msgstr "Client-Splash"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+"Client-Splash - это система аутентификации точек доступа для беспроводных "
+"ячеистых сетей."
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+"Скорость нисходящего канала для клиентов ограничена этим значением (КБ/c)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+"Клиенты, принявшие приглашение splash-экрана, могут использовать сеть данное "
+"количество часов."
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+"Скорость восходящего канала для клиентов ограничена этим значением (КБ/c)"
+
+msgid "Contact"
+msgstr "Связаться"
+
+msgid "Decline"
+msgstr "Отклонить"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "Пожертвовать деньги на поддержку этого проекта."
+
+msgid "Download limit"
+msgstr "Лимит загрузки"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr "Политика добровольного использования"
+
+msgid "Firewall zone"
+msgstr "Зона межсетевого экрана"
+
+msgid "General"
+msgstr "Общие"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "Имя хоста"
+
+msgid "IP Address"
+msgstr "IP-адрес"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+"Если вы используете собственное оборудование Wi-Fi, используйте каналы, "
+"отличающиеся от наших."
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "Если вы используете эту сеть регулярно, мы просим вашей поддержки:"
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr "Перехватывать клиентский трафик на этом интерфейсе"
+
+msgid "Interfaces"
+msgstr "Интерфейсы"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Интерфейсы, используемые для Splash."
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+"КБ/с (загрузка/отдача). Данное ограничение может быть снято при активном "
+"участии в этом проекте."
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr "Юридически запрещенный контент"
+
+msgid "MAC Address"
+msgstr "MAC-адрес"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "MAC-адреса из этого списка заблокированы."
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+"MAC-адреса клиентов из \"белого\" списка. Данные клиенты не имеют "
+"ограничений пропускной способности."
+
+msgid "Netmask"
+msgstr "Маска сети"
+
+msgid "Network"
+msgstr "Сеть"
+
+msgid "No clients connected"
+msgstr "Клиенты не подключены"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+"Пожалуйста, обратите внимание, что мы не интернет-провайдер, а "
+"экспериментальная сеть сообщества."
+
+msgid "Policy"
+msgstr "Политика"
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr "Безопасный"
+
+msgid "Save"
+msgstr "Сохранить"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr "Правила Splash интегрированы в зону этого межсетевого экрана"
+
+msgid "Splashtext"
+msgstr "Текст splash-экрана"
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr "Оставшееся время"
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Чтобы узнать причину, по которой вас заблокировали, или снова получить "
+"доступ, свяжитесь с владельцем данной точки доступа:"
+
+msgid "Traffic in/out"
+msgstr "Трафик вх/исх"
+
+msgid "Upload limit"
+msgstr "Лимит отдачи"
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr "Добро пожаловать"
+
+msgid "Whitelist"
+msgstr "\"Белый\" список"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr "Теперь вы подключены к бесплатной беспроводной ячеистой сети"
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+"Здесь вы можете указать свой текст, который будет отображаться клиентам.<br /"
+">Возможно использовать следующие маркеры: ###COMMUNITY###, "
+"###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### and "
+"###ACCEPT###."
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Доступ к этой сети был заблокирован, скорее всего, потому, что вы сделали "
+"что-то, что наши правила явно запрещают."
+
+msgid "Your bandwidth is limited to"
+msgstr "Ваша полоса пропускания ограничена значением"
+
+msgid "blacklisted"
+msgstr "в \"чёрном\" списке"
+
+msgid "expired"
+msgstr "истёк"
+
+msgid "optional when using host addresses"
+msgstr "опционально при использовании хост-адресов"
+
+msgid "perform any kind of illegal activities"
+msgstr "выполнять любые незаконные действия"
+
+msgid "splashed"
+msgstr "уже в splash"
+
+msgid "temporarily blocked"
+msgstr "временно заблокирован"
+
+msgid "unknown"
+msgstr "неизвестный"
+
+msgid "use filesharing applications on this network"
+msgstr "использование файлообменных приложений в этой сети"
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr "тратить пропускную способность на ненужные загрузки или потоки"
+
+msgid "whitelisted"
+msgstr "в \"белом\" списке"
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr ""
+#~ "Перечисленные хосты и сети не получают приглашения splash-экрана, т.е. они "
+#~ "всегда разрешены."
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "Принимая эти правила, вы можете использовать данную сеть для"
+
+#~ msgid "Edit Splash text"
+#~ msgstr "Редактировать текст splash-экрана"
+
+#~ msgid "hour(s). After this time you need to accept these rules again."
+#~ msgstr ""
+#~ "час(ы). После указанного времени Вы должны вновь принять эти правила."
+
+# Здесь наверняка нужно склонить в другом падеже, надо смотреть по контексту
+#~ msgid "the owner of this access point."
+#~ msgstr "с владельцем этой точки доступа."
diff --git a/applications/luci-app-splash/po/sk/splash.po b/applications/luci-app-splash/po/sk/splash.po
new file mode 100644
index 000000000..e9dd448ec
--- /dev/null
+++ b/applications/luci-app-splash/po/sk/splash.po
@@ -0,0 +1,303 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/sv/splash.po b/applications/luci-app-splash/po/sv/splash.po
new file mode 100644
index 000000000..cd573b212
--- /dev/null
+++ b/applications/luci-app-splash/po/sv/splash.po
@@ -0,0 +1,303 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/templates/splash.pot b/applications/luci-app-splash/po/templates/splash.pot
new file mode 100644
index 000000000..f29b73691
--- /dev/null
+++ b/applications/luci-app-splash/po/templates/splash.pot
@@ -0,0 +1,295 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/tr/splash.po b/applications/luci-app-splash/po/tr/splash.po
new file mode 100644
index 000000000..03fa7b3b7
--- /dev/null
+++ b/applications/luci-app-splash/po/tr/splash.po
@@ -0,0 +1,303 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/uk/splash.po b/applications/luci-app-splash/po/uk/splash.po
new file mode 100644
index 000000000..2364c63d4
--- /dev/null
+++ b/applications/luci-app-splash/po/uk/splash.po
@@ -0,0 +1,304 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/vi/splash.po b/applications/luci-app-splash/po/vi/splash.po
new file mode 100644
index 000000000..615be16b2
--- /dev/null
+++ b/applications/luci-app-splash/po/vi/splash.po
@@ -0,0 +1,292 @@
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/po/zh-cn/splash.po b/applications/luci-app-splash/po/zh-cn/splash.po
new file mode 100644
index 000000000..439b774e6
--- /dev/null
+++ b/applications/luci-app-splash/po/zh-cn/splash.po
@@ -0,0 +1,321 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-06-28 08:58+0200\n"
+"PO-Revision-Date: 2014-07-23 02:07+0200\n"
+"Last-Translator: Tanyingyu <Tanyingyu@163.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Pootle 2.0.6\n"
+
+msgid "Accept"
+msgstr "接收"
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr "活动的客户端"
+
+msgid "Allowed hosts/subnets"
+msgstr "允许的 主机/掩码"
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+"只有当 上传和下载的限制都设置的时候对客户端的带宽限制才会生效。在这里使用0 可"
+"以完全禁用此限制。白名单客户端不受限制。"
+
+# Something wwrong?
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr "成为这个社区的一个活跃成员并且运营你自己的节点以帮助别人。"
+
+msgid "Blacklist"
+msgstr "黑名单"
+
+msgid "Blocked"
+msgstr "锁定"
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr "清理时间"
+
+msgid "Client-Splash"
+msgstr "客户端弹窗"
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr "Client-Splash是无线MESH网络的一个热点认证系统"
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr "客户端下载速度限制为此值(kbyte/s)"
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr "已接受Splash的客户端允许使用这个网络N小时"
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr "客户端上传速度限制为此值(kbyte/s)"
+
+msgid "Contact"
+msgstr "联系"
+
+msgid "Decline"
+msgstr "下降"
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr "捐助我们一些钱以帮助我们维护这个项目。"
+
+msgid "Download limit"
+msgstr "下载限制"
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr "防火墙区域"
+
+msgid "General"
+msgstr "概述"
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr "主机名"
+
+msgid "IP Address"
+msgstr "IP地址"
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr "如果你操作你自有的wifi设备,使用与我们不同的频道"
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr "如果你经常使用这个网络,我们需要你的支持"
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr "在这个接口上拦截客户端通信流量"
+
+msgid "Interfaces"
+msgstr "接口"
+
+msgid "Interfaces that are used for Splash."
+msgstr "Splash使用的接口"
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr "法律禁止行为"
+
+msgid "Legally Prohibited content"
+msgstr "法律禁止内容"
+
+msgid "MAC Address"
+msgstr "MAC地址"
+
+msgid "MAC addresses in this list are blocked."
+msgstr "在本列表中的MAC地址将被阻挡"
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr "白名单中的MAC地址,可不用接受splash,同时没有带宽限制。"
+
+msgid "Netmask"
+msgstr "网络掩码"
+
+msgid "Network"
+msgstr "网络"
+
+msgid "No clients connected"
+msgstr "无客户端连接"
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr "我们不是ISP(互联网运行商),仅仅只是一个实验性的社区网络。"
+
+msgid "Policy"
+msgstr "策略"
+
+msgid "Redirect target"
+msgstr "重定向目标"
+
+msgid "Safety"
+msgstr "安全"
+
+msgid "Save"
+msgstr "保存"
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr "流量 入/出"
+
+msgid "Upload limit"
+msgstr "上传限制"
+
+msgid "Usage Agreement"
+msgstr "使用协议"
+
+msgid "Welcome"
+msgstr "欢迎"
+
+msgid "Whitelist"
+msgstr "白名单"
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr "你的带宽限制为"
+
+msgid "blacklisted"
+msgstr "黑名单"
+
+msgid "expired"
+msgstr "过期"
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
+
+#~ msgid ""
+#~ "Hosts and Networks that are listed here are excluded from splashing, i.e. "
+#~ "they are always allowed."
+#~ msgstr "列在这里的主机和网络都排除在Splashing之外,例如:一直被允许访问。"
+
+#~ msgid "By accepting these rules you can use this network for"
+#~ msgstr "接受这些条款以便使用这个网络"
+
+#~ msgid "Edit Splash text"
+#~ msgstr "编辑Splash文本"
diff --git a/applications/luci-app-splash/po/zh-tw/splash.po b/applications/luci-app-splash/po/zh-tw/splash.po
new file mode 100644
index 000000000..1125abfed
--- /dev/null
+++ b/applications/luci-app-splash/po/zh-tw/splash.po
@@ -0,0 +1,302 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "Accept"
+msgstr ""
+
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
+msgid ""
+"Access to the network is not guaranteed. It can be interrupted at any time "
+"without notice for any reason, for certain devices, and/or may be blocked "
+"for certain users."
+msgstr ""
+
+msgid "Active Clients"
+msgstr ""
+
+msgid "Allowed hosts/subnets"
+msgstr ""
+
+msgid ""
+"As an alternative to editing the complete splash text you can also just "
+"include some custom text in the default splash page by entering it here."
+msgstr ""
+
+msgid ""
+"Bandwidth limit for clients is only activated when both up- and download "
+"limit are set. Use a value of 0 here to completely disable this limitation. "
+"Whitelisted clients are not limited."
+msgstr ""
+
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
+msgid "Blacklist"
+msgstr ""
+
+msgid "Blocked"
+msgstr ""
+
+msgid ""
+"By accepting these rules you can use this network for %s hour(s). After this "
+"time you need to accept these rules again."
+msgstr ""
+
+msgid "Clearance time"
+msgstr ""
+
+msgid "Client-Splash"
+msgstr ""
+
+msgid ""
+"Client-Splash is a hotspot authentification system for wireless mesh "
+"networks."
+msgstr ""
+
+msgid ""
+"Clients are redirected to this page after they have accepted the splash. If "
+"this is left empty they are redirected to the page they had requested."
+msgstr ""
+
+msgid "Clients download speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid ""
+"Clients that have accepted the splash are allowed to use the network for "
+"that many hours."
+msgstr ""
+
+msgid "Clients upload speed is limited to this value (kbyte/s)"
+msgstr ""
+
+msgid "Contact"
+msgstr ""
+
+msgid "Decline"
+msgstr ""
+
+msgid ""
+"Destination hosts and networks that are excluded from splashing, i.e. they "
+"are always allowed."
+msgstr ""
+
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
+msgid "Download limit"
+msgstr ""
+
+msgid "Edit the complete splash text"
+msgstr ""
+
+msgid "Fair Use Policy"
+msgstr ""
+
+msgid "Firewall zone"
+msgstr ""
+
+msgid "General"
+msgstr ""
+
+msgid "Get in %s with the operator of this access point."
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "IP Address"
+msgstr ""
+
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
+msgid "Include your own text in the default splash"
+msgstr ""
+
+msgid "Intercept client traffic on this Interface"
+msgstr ""
+
+msgid "Interfaces"
+msgstr ""
+
+msgid "Interfaces that are used for Splash."
+msgstr ""
+
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
+msgid "Legally Prohibited Activities"
+msgstr ""
+
+msgid "Legally Prohibited content"
+msgstr ""
+
+msgid "MAC Address"
+msgstr ""
+
+msgid "MAC addresses in this list are blocked."
+msgstr ""
+
+msgid ""
+"MAC addresses of whitelisted clients. These do not need to accept the splash "
+"and are not bandwidth limited."
+msgstr ""
+
+msgid "Netmask"
+msgstr ""
+
+msgid "Network"
+msgstr ""
+
+msgid "No clients connected"
+msgstr ""
+
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
+msgid "Policy"
+msgstr ""
+
+msgid "Redirect target"
+msgstr ""
+
+msgid "Safety"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Splash rules are integrated in this firewall zone"
+msgstr ""
+
+msgid "Splashtext"
+msgstr ""
+
+msgid ""
+"The network, like the Internet, is unencrypted and open. Each participant is "
+"responsible for the safety of their own connections and devices."
+msgstr ""
+
+msgid ""
+"The open and free wireless network of volunteers (\"Operators\") provides "
+"the necessary equipment and Internet connections (\"Infrastructure\") at "
+"their own expense."
+msgstr ""
+
+msgid ""
+"The operator claims no liability for loss of data, unauthorized access/"
+"damage to devices, or financial losses that participants may suffer from the "
+"use of the network."
+msgstr ""
+
+msgid ""
+"The participant agrees to not perform any action and refrain from acts which "
+"may violate the law or infringe upon the rights of third parties."
+msgstr ""
+
+msgid ""
+"The participant agrees to not transfer content over the network which "
+"violates the law."
+msgstr ""
+
+msgid ""
+"The participant agrees to not use the network in any way which will harm the "
+"infrastructure, the network itself, its operators or other participants."
+msgstr ""
+
+msgid ""
+"These Terms of Use govern the use of the network by its participants' "
+"computer, PDA, or similar device (\"Devices\") within the network."
+msgstr ""
+
+msgid "Time remaining"
+msgstr ""
+
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
+msgid "Traffic in/out"
+msgstr ""
+
+msgid "Upload limit"
+msgstr ""
+
+msgid "Usage Agreement"
+msgstr ""
+
+msgid "Welcome"
+msgstr ""
+
+msgid "Whitelist"
+msgstr ""
+
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
+msgid ""
+"You can enter your own text that is displayed to clients here.<br />It is "
+"possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
+msgstr ""
+
+msgid "blacklisted"
+msgstr ""
+
+msgid "expired"
+msgstr ""
+
+msgid "optional when using host addresses"
+msgstr ""
+
+msgid "perform any kind of illegal activities"
+msgstr ""
+
+msgid "splashed"
+msgstr ""
+
+msgid "temporarily blocked"
+msgstr ""
+
+msgid "unknown"
+msgstr ""
+
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
+msgid "whitelisted"
+msgstr ""
diff --git a/applications/luci-app-splash/root/etc/config/luci_splash b/applications/luci-app-splash/root/etc/config/luci_splash
new file mode 100644
index 000000000..c4cfef5dd
--- /dev/null
+++ b/applications/luci-app-splash/root/etc/config/luci_splash
@@ -0,0 +1,2 @@
+config core general
+ option leasetime 1 \ No newline at end of file
diff --git a/applications/luci-app-splash/root/etc/config/luci_splash_leases b/applications/luci-app-splash/root/etc/config/luci_splash_leases
new file mode 100644
index 000000000..6afdd90ed
--- /dev/null
+++ b/applications/luci-app-splash/root/etc/config/luci_splash_leases
@@ -0,0 +1 @@
+# This file should always stay empty and is just needed to be able to use this config in /var/state!
diff --git a/applications/luci-app-splash/root/etc/hotplug.d/iface/25-splash b/applications/luci-app-splash/root/etc/hotplug.d/iface/25-splash
new file mode 100644
index 000000000..045e908c7
--- /dev/null
+++ b/applications/luci-app-splash/root/etc/hotplug.d/iface/25-splash
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+[ "$ACTION" = ifup ] || exit 0
+
+/etc/init.d/firewall enabled || exit 0
+
+if [ -x /etc/init.d/luci_splash ]; then
+ restart_splash() {
+ local net="$1"
+ if [ "$INTERFACE" = "$net" ]; then
+ logger -t splash "Reloading splash firewall rules due to ifup of $INTERFACE ($DEVICE)"
+ /etc/init.d/luci_splash restart
+ fi
+ }
+ config_load luci_splash
+ config_foreach restart_splash iface
+fi
diff --git a/applications/luci-app-splash/root/etc/init.d/luci_splash b/applications/luci-app-splash/root/etc/init.d/luci_splash
new file mode 100755
index 000000000..feefabd81
--- /dev/null
+++ b/applications/luci-app-splash/root/etc/init.d/luci_splash
@@ -0,0 +1,362 @@
+#!/bin/sh /etc/rc.common
+
+START=70
+EXTRA_COMMANDS=clear_leases
+LIMIT_DOWN=0
+LIMIT_DOWN_BURST=0
+LIMIT_UP=0
+TC=/usr/sbin/tc
+IPT=/usr/sbin/iptables
+IPT6=/usr/sbin/ip6tables
+
+IPT_REPLAY=/var/run/luci_splash.iptlog
+LOCK=/var/run/luci_splash.lock
+[ -x $IPT6 ] && [ -f /proc/net/ipv6_route ] && HAS_IPV6=1
+
+silent() {
+ "$@" 2>/dev/null
+}
+
+ipt_log() {
+ $IPT -I "$@"
+ echo $IPT -D "$@" >> $IPT_REPLAY
+}
+
+ipt6_log() {
+ [ "$HAS_IPV6" = 1 ] || return
+ $IPT6 -I "$@"
+ echo $IPT6 -D "$@" >> $IPT_REPLAY
+}
+
+
+iface_add() {
+ local cfg="$1"
+
+ config_get zone "$cfg" zone
+ [ -n "$zone" ] || return 0
+
+ config_get net "$cfg" network
+ [ -n "$net" ] || return 0
+
+ config_get ifname "$net" ifname
+ [ -n "$ifname" ] || return 0
+
+ config_get ipaddr "$net" ipaddr
+ [ -n "$ipaddr" ] || return 0
+
+ config_get netmask "$net" netmask
+ [ -n "$netmask" ] || return 0
+
+ config_get ip6addr "$net" ip6addr
+
+ config_get type "$net" type
+
+ parentiface="$(uci -q get network.${net}.ifname)"
+
+ [ -n "$parentiface" ] && [ ! "$type" = "bridge" ] && {
+ parentiface=${parentiface#@}
+ config_get parentproto "$parentiface" proto
+ config_get parentipaddr "$parentiface" ipaddr
+ config_get parentnetmask "$parentiface" netmask
+ }
+
+ eval "$(ipcalc.sh $ipaddr $netmask)"
+
+ logger -s -p info -t splash "Add $NETWORK/$PREFIX ($ifname) to splashed networks."
+
+ ### Add interface specific chain entry rules
+ ipt_log "prerouting_${zone}_rule" -i "${ifname%:*}" -s "$NETWORK/$PREFIX" -j luci_splash_prerouting -t nat
+ ipt_log "forwarding_${zone}_rule" -i "${ifname%:*}" -s "$NETWORK/$PREFIX" -j luci_splash_forwarding -t filter
+
+ if [ "$HAS_IPV6" = 1 ] && [ -n "$ip6addr" ]; then
+ ipt6_log "forwarding_${zone}_rule" -i "${ifname%:*}" -s "$ip6addr" -j luci_splash_forwarding -t filter
+ fi
+
+ ### Allow traffic to the same subnet
+ $IPT -t nat -I luci_splash_prerouting -d "$ipaddr/${netmask:-32}" -j RETURN
+ $IPT -t filter -I luci_splash_forwarding -d "$ipaddr/${netmask:-32}" -j RETURN
+
+ ### Allow traffic to the mesh subnet
+ [ "$parentproto" = "static" -a -n "$parentipaddr" ] && {
+ $IPT -t nat -I luci_splash_prerouting -d "$parentipaddr/${parentnetmask:-32}" -j RETURN
+ $IPT -t filter -I luci_splash_forwarding -d "$parentipaddr/${parentnetmask:-32}" -j RETURN
+ }
+
+ qos_iface_add "$ifname" "$NETWORK" "$PREFIX"
+}
+
+iface_del() {
+ config_get zone "$1" zone
+ [ -n "$zone" ] || return 0
+
+ config_get net "$1" network
+ [ -n "$net" ] || return 0
+
+ config_get ifname "$net" ifname
+ [ -n "$ifname" ] || return 0
+
+ # Clear interface specific rules
+ [ -s $IPT_REPLAY ] && {
+ logger -s -p info -t splash "Remove $ifname from splashed networks."
+ grep -- "-i ${ifname%:*}" $IPT_REPLAY | while read ln; do silent $ln; done
+ sed -ie "/-i ${ifname%:*}/d" $IPT_REPLAY
+ }
+
+ qos_iface_del "$ifname"
+}
+
+mac_add() {
+ config_get mac "$1" mac
+ append MACS "$mac"
+}
+
+whitelist_add() {
+ config_get mac "$1" mac
+ iface=$2
+ $TC filter add dev "$iface" parent ffff: protocol ip prio 1 u32 match ether src $mac police pass
+ $TC filter add dev "$iface" parent 1:0 protocol ip prio 1 u32 match ether dst $mac classid 1:1
+}
+
+
+subnet_add() {
+ local cfg="$1"
+
+ config_get ipaddr "$cfg" ipaddr
+ config_get netmask "$cfg" netmask
+
+ [ -n "$ipaddr" ] && {
+ $IPT -t nat -I luci_splash_prerouting -d "$ipaddr/${netmask:-32}" -j RETURN
+ $IPT -t filter -I luci_splash_forwarding -d "$ipaddr/${netmask:-32}" -j RETURN
+ }
+}
+
+qos_iface_add() {
+ local iface="$1"
+ local network="$2"
+ local prefix="$3"
+
+ # 77 -> download root qdisc
+ # ffff -> upload root qdisc
+
+ silent $TC qdisc del dev "$iface" root handle 1:
+ silent $TC class del dev "$iface" parent 1: classid 1:ffff
+ silent $TC class del dev "$iface" parent 1: classid 1:1
+ silent $TC filter del dev "$iface" parent ffff: protocol ip prio 1 u32
+ silent $TC filter del dev "$iface" parent ffff: protocol ip prio 2 u32
+ silent $TC filter del dev "$iface" parent ffff: protocol ip prio 3 u32
+
+ if [ "$LIMIT_UP" -gt 0 -a "$LIMIT_DOWN" -gt 0 ]; then
+ # Setup qdiscs
+ $TC qdisc add dev "$iface" root handle 1: htb default 1
+ silent $TC qdisc add dev "$iface" ingress
+
+ # Default class - all clients which are not otherwise handled are put in that class
+ # and share that bandwidth.
+ $TC class add dev "$iface" parent 1: classid 1:ffff htb rate ${LIMIT_DOWN}kbit
+
+ # default class and class for whitelisted clients = unlimited
+ $TC class add dev "$iface" parent 1: classid 1:1 htb rate 100mbit
+
+ # All traffic to the dhcp subnet is put into the limited class
+ $TC filter add dev "$iface" parent 1:0 protocol ip prio 3 u32 match ip dst $network/$prefix classid 1:ffff
+ $TC qdisc add dev "$iface" parent 1:ffff sfq perturb 10
+ $TC filter add dev "$iface" parent ffff: protocol ip prio 3 u32 match ip src $network/$prefix police rate ${LIMIT_UP}kbit mtu 6k burst 6k drop
+
+ # classify packets by their iptables MARK set in luci_splash_mark_in (mangle table)
+ # every client gets his own class and so his own bandwidth limit
+ $TC filter add dev "$iface" parent 1:0 protocol ip prio 2 fw
+
+ config_foreach whitelist_add whitelist $iface
+ fi
+}
+
+qos_iface_del() {
+ local iface="$1"
+ silent $TC qdisc del dev "$iface" root handle 77:
+}
+
+boot() {
+ ### Setup splash-relay
+ uci get uhttpd.splash 2>/dev/null || {
+uci batch <<EOF
+ set uhttpd.splash=uhttpd
+ set uhttpd.splash.home="/www/cgi-bin/splash/"
+ set uhttpd.splash.interpreter=".sh=/bin/ash"
+ set uhttpd.splash.listen_http="8082"
+ set uhttpd.splash.index_page="splash.sh"
+ set uhttpd.splash.error_page="/splash.sh"
+ set uhttpd.splash.http_keepalive='0'
+ commit uhttpd
+EOF
+ }
+
+ ### We are started by the firewall include
+ exit 0
+}
+
+start() {
+ lock $LOCK
+ logger -s -p info -t splash "Starting luci-splash"
+ include /lib/network
+ . /lib/functions/network.sh
+ scan_interfaces
+ config_load luci_splash
+
+ ### Find QoS limits
+ config_get LIMIT_UP general limit_up
+ config_get LIMIT_DOWN general limit_down
+ config_get LIMIT_DOWN_BURST general limit_down_burst
+
+ LIMIT_UP="$((8*${LIMIT_UP:-0}))"
+ LIMIT_DOWN="$((8*${LIMIT_DOWN:-0}))"
+ LIMIT_DOWN_BURST="${LIMIT_DOWN_BURST:+$((8*$LIMIT_DOWN_BURST))}"
+ LIMIT_DOWN_BURST="${LIMIT_DOWN_BURST:-$(($LIMIT_DOWN / 5 * 6))}"
+
+ ### Load required modules
+ [ "$LIMIT_UP" -gt 0 -a "$LIMIT_DOWN" -gt 0 ] && {
+ silent insmod act_police
+ silent insmod cls_fw
+ silent insmod cls_u32
+ silent insmod sch_htb
+ silent insmod sch_sfq
+ silent insmod sch_ingress
+ }
+
+ ### Create subchains
+ $IPT -t nat -N luci_splash_prerouting
+ $IPT -t nat -N luci_splash_leases
+ $IPT -t filter -N luci_splash_forwarding
+ $IPT -t filter -N luci_splash_filter
+
+ if [ "$HAS_IPV6" = 1 ]; then
+ $IPT6 -t filter -N luci_splash_forwarding
+ $IPT6 -t filter -N luci_splash_filter
+ fi
+
+ ### Clear iptables replay log
+ [ -s $IPT_REPLAY ] && . $IPT_REPLAY
+ echo -n > $IPT_REPLAY
+
+ ### Add interface independant prerouting rules
+ $IPT -t nat -A luci_splash_prerouting -j luci_splash_leases
+ $IPT -t nat -A luci_splash_leases -p udp --dport 53 -j REDIRECT --to-ports 53
+ $IPT -t nat -A luci_splash_leases -p tcp --dport 80 -j REDIRECT --to-ports 8082
+
+ ### Add interface independant forwarding rules
+ $IPT -t filter -A luci_splash_forwarding -j luci_splash_filter
+ $IPT -t filter -A luci_splash_filter -p tcp -j REJECT --reject-with tcp-reset
+ $IPT -t filter -A luci_splash_filter -j REJECT --reject-with icmp-net-prohibited
+
+ if [ "$HAS_IPV6" = 1 ]; then
+ $IPT6 -t filter -A luci_splash_forwarding -j luci_splash_filter
+ $IPT6 -t filter -A luci_splash_filter -p tcp -j REJECT --reject-with tcp-reset
+ $IPT6 -t filter -A luci_splash_filter -j REJECT --reject-with adm-prohibited
+ fi
+
+ ### Add QoS chain
+ $IPT -t mangle -N luci_splash_mark_out
+ $IPT -t mangle -N luci_splash_mark_in
+ $IPT -t mangle -I PREROUTING -j luci_splash_mark_out
+ $IPT -t mangle -I POSTROUTING -j luci_splash_mark_in
+
+ if [ "$HAS_IPV6" = 1 ]; then
+ $IPT6 -t mangle -N luci_splash_mark_out
+ $IPT6 -t mangle -N luci_splash_mark_in
+ $IPT6 -t mangle -I PREROUTING -j luci_splash_mark_out
+ $IPT6 -t mangle -I POSTROUTING -j luci_splash_mark_in
+ fi
+
+ ### Build the main and portal rule
+ config_foreach iface_add iface
+ config_foreach subnet_add subnet
+
+ ### Add the community homepage to the list of allowed destination subnets
+ hp=$(uci -q get freifunk.community.homepage) && {
+ chp=${hp#http*://}
+ chp=${chp%%/*}
+ $IPT -t nat -I luci_splash_prerouting -d "${chp}/32" -j RETURN
+ $IPT -t filter -I luci_splash_forwarding -d "${chp}/32" -j RETURN
+ }
+
+ ### Find active mac addresses
+ MACS=""
+
+
+ config_foreach mac_add blacklist
+ config_foreach mac_add whitelist
+
+ config_load luci_splash_leases
+ config_foreach mac_add lease
+
+ ### Add crontab entry
+ test -f /etc/crontabs/root || touch /etc/crontabs/root
+ grep -q luci-splash /etc/crontabs/root || {
+ echo '*/5 * * * * /usr/sbin/luci-splash sync' >> /etc/crontabs/root
+ }
+
+ lock -u $LOCK
+
+ ### Populate iptables
+ [ -n "$MACS" ] && luci-splash add-rules $MACS
+}
+
+stop() {
+ lock $LOCK
+
+ include /lib/network
+ scan_interfaces
+ config_load luci_splash
+
+ ### Clear interface rules
+ config_foreach iface_del iface
+
+ silent $IPT -t mangle -D PREROUTING -j luci_splash_mark_out
+ silent $IPT -t mangle -D POSTROUTING -j luci_splash_mark_in
+
+ if [ "$HAS_IPV6" = 1 ]; then
+ silent $IPT6 -t mangle -D PREROUTING -j luci_splash_mark_out
+ silent $IPT6 -t mangle -D POSTROUTING -j luci_splash_mark_in
+ fi
+
+ ### Clear subchains
+ silent $IPT -t nat -F luci_splash_prerouting
+ silent $IPT -t nat -F luci_splash_leases
+ silent $IPT -t filter -F luci_splash_forwarding
+ silent $IPT -t filter -F luci_splash_filter
+ silent $IPT -t mangle -F luci_splash_mark_out
+ silent $IPT -t mangle -F luci_splash_mark_in
+
+ if [ "$HAS_IPV6" = 1 ]; then
+ $IPT6 -t filter -F luci_splash_forwarding
+ $IPT6 -t filter -F luci_splash_filter
+ $IPT6 -t mangle -F luci_splash_mark_out
+ $IPT6 -t mangle -F luci_splash_mark_in
+ fi
+
+ ### Delete subchains
+ silent $IPT -t nat -X luci_splash_prerouting
+ silent $IPT -t nat -X luci_splash_leases
+ silent $IPT -t filter -X luci_splash_forwarding
+ silent $IPT -t filter -X luci_splash_filter
+ silent $IPT -t mangle -X luci_splash_mark_out
+ silent $IPT -t mangle -X luci_splash_mark_in
+ if [ "$HAS_IPV6" = 1 ]; then
+ $IPT6 -t filter -X luci_splash_forwarding
+ $IPT6 -t filter -X luci_splash_filter
+ $IPT6 -t mangle -X luci_splash_mark_out
+ $IPT6 -t mangle -X luci_splash_mark_in
+ fi
+ sed -ie '/\/usr\/sbin\/luci-splash sync/d' /var/spool/cron/crontabs/root
+
+ lock -u $LOCK
+}
+
+clear_leases() {
+ ### Find active mac addresses
+ MACS=""
+ config_foreach mac_add lease
+
+ ### Clear leases
+ [ -n "$MACS" ] && luci-splash remove $MACS
+}
+
diff --git a/applications/luci-app-splash/root/usr/sbin/luci-splash b/applications/luci-app-splash/root/usr/sbin/luci-splash
new file mode 100755
index 000000000..6b1e41edb
--- /dev/null
+++ b/applications/luci-app-splash/root/usr/sbin/luci-splash
@@ -0,0 +1,751 @@
+#!/usr/bin/lua
+
+utl = require "luci.util"
+sys = require "luci.sys"
+
+require("luci.model.uci")
+require("luci.sys.iptparser")
+
+-- Init state session
+local uci = luci.model.uci.cursor_state()
+local ipt = luci.sys.iptparser.IptParser()
+local net = sys.net
+local fs = require "luci.fs"
+local ip = require "luci.ip"
+
+local debug = false
+
+local has_ipv6 = fs.access("/proc/net/ipv6_route") and fs.access("/usr/sbin/ip6tables")
+
+function exec(cmd)
+ -- executes a cmd and gets its output
+ if debug then
+ local ret = sys.exec(cmd)
+ print('+ ' .. cmd)
+ if ret and ret ~= "" then
+ print(ret)
+ end
+ else
+ local ret = sys.exec(cmd .. " &> /dev/null")
+ end
+end
+
+function call(cmd)
+ -- just calls a command
+ if debug then
+ print('+ ' .. cmd)
+ end
+ os.execute(cmd)
+end
+
+
+function lock()
+ call("lock /var/run/luci_splash.lock")
+end
+
+function unlock()
+ call("lock -u /var/run/luci_splash.lock")
+end
+
+function get_id(ip)
+ local o3, o4 = ip:match("[0-9]+%.[0-9]+%.([0-9]+)%.([0-9]+)")
+ if o3 and 04 then
+ return string.format("%02X%s", tonumber(o3), "") .. string.format("%02X%s", tonumber(o4), "")
+ else
+ return false
+ end
+end
+
+function update_stats(leased, whitelisted, whitelisttotal, blacklisted, blacklisttotal)
+ local leases = uci:get_all("luci_splash_leases", "stats")
+ uci:delete("luci_splash_leases", "stats")
+ uci:section("luci_splash_leases", "stats", "stats", {
+ leases = leased or (leases and leases.leases) or 0,
+ whitelisttotal = whitelisttotal or (leased and leases.whitelisttotal) or 0,
+ whitelistonline = whitelisted or (leases and leases.whitelistonline) or 0,
+ blacklisttotal = blacklisttotal or (leases and leases.blacklisttotal) or 0,
+ blacklistonline = blacklisted or (leases and leases.blacklistonline) or 0,
+ })
+ uci:save("luci_splash_leases")
+end
+
+
+function get_device_for_ip(ipaddr)
+ local dev
+ uci:foreach("network", "interface", function(s)
+ if s.ipaddr and s.netmask then
+ local network = ip.IPv4(s.ipaddr, s.netmask)
+ if network:contains(ip.IPv4(ipaddr)) then
+ -- this should be rewritten to luci functions if possible
+ dev = utl.trim(sys.exec(". /lib/functions/network.sh; network_get_device IFNAME '" .. s['.name'] .. "'; echo $IFNAME"))
+ end
+ end
+ end)
+ return dev
+end
+
+function get_physdev(interface)
+ local dev
+ dev = utl.trim(sys.exec(". /lib/functions/network.sh; network_get_device IFNAME '" .. interface .. "'; echo $IFNAME"))
+ return dev
+end
+
+
+
+function get_filter_handle(parent, direction, device, mac)
+ local input = utl.split(sys.exec('/usr/sbin/tc filter show dev ' .. device .. ' parent ' .. parent) or {})
+ local tbl = {}
+ local handle
+ for k, v in pairs(input) do
+ handle = v:match('filter protocol ip pref %d+ u32 fh (%d*:%d*:%d*) order') or v:match('filter protocol all pref %d+ u32 fh (%d*:%d*:%d*) order')
+ if handle then
+ local mac, mac1, mac2, mac3, mac4, mac5, mac6
+ if direction == 'src' then
+ mac1, mac2, mac3, mac4 = input[k+1]:match('match ([%a%d][%a%d])([%a%d][%a%d])([%a%d][%a%d])([%a%d][%a%d])/ffffffff')
+ mac5, mac6 = input[k+2]:match('match ([%a%d][%a%d])([%a%d][%a%d])0000/ffff0000')
+ else
+ mac1, mac2 = input[k+1]:match('match 0000([%a%d][%a%d])([%a%d][%a%d])/0000ffff')
+ mac3, mac4, mac5, mac6 = input[k+2]:match('match ([%a%d][%a%d])([%a%d][%a%d])([%a%d][%a%d])([%a%d][%a%d])/ffffffff')
+ end
+ if mac1 and mac2 and mac3 and mac4 and mac5 and mac6 then
+ mac = "%s:%s:%s:%s:%s:%s" % { mac1, mac2, mac3, mac4, mac5, mac6 }
+ tbl[mac] = handle
+ end
+ end
+ end
+ if tbl[mac] then
+ handle = tbl[mac]
+ end
+ return handle
+end
+
+function macvalid(mac)
+ if mac and mac:match(
+ "^[a-fA-F0-9][a-fA-F0-9]:[a-fA-F0-9][a-fA-F0-9]:" ..
+ "[a-fA-F0-9][a-fA-F0-9]:[a-fA-F0-9][a-fA-F0-9]:" ..
+ "[a-fA-F0-9][a-fA-F0-9]:[a-fA-F0-9][a-fA-F0-9]$"
+ ) then
+ return true
+ end
+
+ return false
+end
+
+function ipvalid(ipaddr)
+ if ipaddr then
+ return ip.IPv4(ipaddr) and true or false
+ end
+
+ return false
+end
+
+function main(argv)
+ local cmd = table.remove(argv, 1)
+ local arg = argv[1]
+
+ limit_up = (tonumber(uci:get("luci_splash", "general", "limit_up")) or 0) * 8
+ limit_down = (tonumber(uci:get("luci_splash", "general", "limit_down")) or 0) * 8
+
+ if ( cmd == "lease" or cmd == "add-rules" or cmd == "remove" or
+ cmd == "whitelist" or cmd == "blacklist" or cmd == "status" ) and #argv > 0
+ then
+ if not (macvalid(arg) or ipvalid(arg)) then
+ print("Invalid argument. The second argument must " ..
+ "be a valid IPv4 or Mac Address.")
+ os.exit(1)
+ end
+
+ lock()
+
+ local arp_cache = net.arptable()
+ local leased_macs = get_known_macs("lease")
+ local blacklist_macs = get_known_macs("blacklist")
+ local whitelist_macs = get_known_macs("whitelist")
+
+ for i, adr in ipairs(argv) do
+ local mac = nil
+ if adr:find(":") then
+ mac = adr:lower()
+ else
+ for _, e in ipairs(arp_cache) do
+ if e["IP address"] == adr then
+ mac = e["HW address"]:lower()
+ break
+ end
+ end
+ end
+
+ if mac and cmd == "add-rules" then
+ if leased_macs[mac] then
+ add_lease(mac, arp_cache, true)
+ elseif blacklist_macs[mac] then
+ add_blacklist_rule(mac)
+ elseif whitelist_macs[mac] then
+ add_whitelist_rule(mac)
+ end
+ elseif mac and cmd == "status" then
+ print(leased_macs[mac] and "lease"
+ or whitelist_macs[mac] and "whitelist"
+ or blacklist_macs[mac] and "blacklist"
+ or "new")
+ elseif mac and ( cmd == "whitelist" or cmd == "blacklist" or cmd == "lease" ) then
+ if cmd ~= "lease" and leased_macs[mac] then
+ print("Removing %s from leases" % mac)
+ remove_lease(mac)
+ leased_macs[mac] = nil
+ end
+
+ if cmd ~= "whitelist" and whitelist_macs[mac] then
+ if cmd == "lease" then
+ print('%s is whitelisted. Remove it before you can lease it.' % mac)
+ else
+ print("Removing %s from whitelist" % mac)
+ remove_whitelist(mac)
+ whitelist_macs[mac] = nil
+ end
+ end
+
+ if cmd == "whitelist" and leased_macs[mac] then
+ print("Removing %s from leases" % mac)
+ remove_lease(mac)
+ leased_macs[mac] = nil
+ end
+
+ if cmd ~= "blacklist" and blacklist_macs[mac] then
+ print("Removing %s from blacklist" % mac)
+ remove_blacklist(mac)
+ blacklist_macs[mac] = nil
+ end
+
+ if cmd == "lease" and not leased_macs[mac] then
+ if not whitelist_macs[mac] then
+ print("Adding %s to leases" % mac)
+ add_lease(mac)
+ leased_macs[mac] = true
+ end
+ elseif cmd == "whitelist" and not whitelist_macs[mac] then
+ print("Adding %s to whitelist" % mac)
+ add_whitelist(mac)
+ whitelist_macs[mac] = true
+ elseif cmd == "blacklist" and not blacklist_macs[mac] then
+ print("Adding %s to blacklist" % mac)
+ add_blacklist(mac)
+ blacklist_macs[mac] = true
+ else
+ print("The mac %s is already %sed" %{ mac, cmd })
+ end
+ elseif mac and cmd == "remove" then
+ if leased_macs[mac] then
+ print("Removing %s from leases" % mac)
+ remove_lease(mac)
+ leased_macs[mac] = nil
+ elseif whitelist_macs[mac] then
+ print("Removing %s from whitelist" % mac)
+ remove_whitelist(mac)
+ whitelist_macs[mac] = nil
+ elseif blacklist_macs[mac] then
+ print("Removing %s from blacklist" % mac)
+ remove_blacklist(mac)
+ blacklist_macs[mac] = nil
+ else
+ print("The mac %s is not known" % mac)
+ end
+
+ else
+ print("Can not find mac for ip %s" % argv[i])
+ end
+ end
+ unlock()
+ os.exit(0)
+ elseif cmd == "sync" then
+ sync()
+ os.exit(0)
+ elseif cmd == "list" then
+ list()
+ os.exit(0)
+ else
+ print("Usage:")
+ print("\n luci-splash list\n List connected, black- and whitelisted clients")
+ print("\n luci-splash sync\n Synchronize firewall rules and clear expired leases")
+ print("\n luci-splash lease <MAC-or-IP>\n Create a lease for the given address")
+ print("\n luci-splash blacklist <MAC-or-IP>\n Add given address to blacklist")
+ print("\n luci-splash whitelist <MAC-or-IP>\n Add given address to whitelist")
+ print("\n luci-splash remove <MAC-or-IP>\n Remove given address from the lease-, black- or whitelist")
+ print("")
+
+ os.exit(1)
+ end
+end
+
+-- Get current arp cache
+function get_arpcache()
+ local arpcache = { }
+ for _, entry in ipairs(net.arptable()) do
+ arpcache[entry["HW address"]:lower()] = { entry["Device"]:lower(), entry["IP address"]:lower() }
+ end
+ return arpcache
+end
+
+-- Get a list of known mac addresses
+function get_known_macs(list)
+ local leased_macs = { }
+
+ if not list or list == "lease" then
+ uci:foreach("luci_splash_leases", "lease", function(s)
+ if s.mac then
+ leased_macs[s.mac:lower()] = true
+ end
+ end)
+ end
+
+ if not list or list == "whitelist" then
+ uci:foreach("luci_splash", "whitelist", function(s)
+ if s.mac then
+ leased_macs[s.mac:lower()] = true
+ end
+ end)
+ end
+
+ if not list or list == "blacklist" then
+ uci:foreach("luci_splash", "blacklist", function(s)
+ if s.mac then
+ leased_macs[s.mac:lower()] = true
+ end
+ end)
+ end
+ return leased_macs
+end
+
+
+-- Helper to delete iptables rules
+function ipt_delete_all(args, comp, off)
+ off = off or { }
+ for i, r in ipairs(ipt:find(args)) do
+ if comp == nil or comp(r) then
+ off[r.table] = off[r.table] or { }
+ off[r.table][r.chain] = off[r.table][r.chain] or 0
+
+ exec("iptables -t %q -D %q %d 2>/dev/null"
+ %{ r.table, r.chain, r.index - off[r.table][r.chain] })
+
+ off[r.table][r.chain] = off[r.table][r.chain] + 1
+ end
+ end
+end
+
+function ipt6_delete_all(args, comp, off)
+ off = off or { }
+ for i, r in ipairs(ipt:find(args)) do
+ if comp == nil or comp(r) then
+ off[r.table] = off[r.table] or { }
+ off[r.table][r.chain] = off[r.table][r.chain] or 0
+
+ exec("ip6tables -t %q -D %q %d 2>/dev/null"
+ %{ r.table, r.chain, r.index - off[r.table][r.chain] })
+
+ off[r.table][r.chain] = off[r.table][r.chain] + 1
+ end
+ end
+end
+
+
+-- Convert mac to uci-compatible section name
+function convert_mac_to_secname(mac)
+ return string.gsub(mac, ":", "")
+end
+
+-- Add a lease to state and invoke add_rule
+function add_lease(mac, arp, no_uci)
+ mac = mac:lower()
+
+ -- Get current ip address
+ local ipaddr
+ for _, entry in ipairs(arp or net.arptable()) do
+ if entry["HW address"]:lower() == mac then
+ ipaddr = entry["IP address"]
+ break
+ end
+ end
+
+ -- Add lease if there is an ip addr
+ if ipaddr then
+ local device = get_device_for_ip(ipaddr)
+ if not no_uci then
+ local leased = uci:get("luci_splash_leases", "stats", "leases")
+ if type(tonumber(leased)) == "number" then
+ update_stats(leased + 1, nil, nil, nil, nil)
+ end
+
+ uci:section("luci_splash_leases", "lease", convert_mac_to_secname(mac), {
+ mac = mac,
+ ipaddr = ipaddr,
+ device = device,
+ limit_up = limit_up,
+ limit_down = limit_down,
+ start = os.time()
+ })
+ uci:save("luci_splash_leases")
+ end
+ add_lease_rule(mac, ipaddr, device)
+ else
+ print("Found no active IP for %s, lease not added" % mac)
+ end
+end
+
+
+-- Remove a lease from state and invoke remove_rule
+function remove_lease(mac)
+ mac = mac:lower()
+
+ uci:delete_all("luci_splash_leases", "lease",
+ function(s)
+ if s.mac:lower() == mac then
+
+ local leased = uci:get("luci_splash_leases", "stats", "leases")
+ if type(tonumber(leased)) == "number" and tonumber(leased) > 0 then
+ update_stats(leased - 1, nil, nil, nil, nil)
+ end
+ remove_lease_rule(mac, s.ipaddr, s.device, tonumber(s.limit_up), tonumber(s.limit_down))
+ return true
+ end
+ return false
+ end)
+
+ uci:save("luci_splash_leases")
+end
+
+
+-- Add a whitelist entry
+function add_whitelist(mac)
+ uci:section("luci_splash", "whitelist", convert_mac_to_secname(mac), { mac = mac })
+ uci:save("luci_splash")
+ uci:commit("luci_splash")
+ add_whitelist_rule(mac)
+end
+
+
+-- Add a blacklist entry
+function add_blacklist(mac)
+ uci:section("luci_splash", "blacklist", convert_mac_to_secname(mac), { mac = mac })
+ uci:save("luci_splash")
+ uci:commit("luci_splash")
+ add_blacklist_rule(mac)
+end
+
+
+-- Remove a whitelist entry
+function remove_whitelist(mac)
+ mac = mac:lower()
+ uci:delete_all("luci_splash", "whitelist",
+ function(s) return not s.mac or s.mac:lower() == mac end)
+ uci:save("luci_splash")
+ uci:commit("luci_splash")
+ remove_lease_rule(mac)
+ remove_whitelist_tc(mac)
+end
+
+function remove_whitelist_tc(mac)
+ uci:foreach("luci_splash", "iface", function(s)
+ local device = get_physdev(s['.name'])
+ if device and device ~= "" then
+ if debug then
+ print("Removing whitelist filters for %s interface %s." % {mac, device})
+ end
+ local handle = get_filter_handle('ffff:', 'src', device, mac)
+ if handle then
+ exec('tc filter del dev "%s" parent ffff: protocol ip prio 1 handle %s u32' % { device, handle })
+ else
+ print('Warning! Could not get a handle for %s parent :ffff on interface %s' % { mac, device })
+ end
+ local handle = get_filter_handle('1:', 'dest', device, mac)
+ if handle then
+ exec('tc filter del dev "%s" parent 1:0 protocol ip prio 1 handle %s u32' % { device, handle })
+ else
+ print('Warning! Could not get a handle for %s parent 1:0 on interface %s' % { mac, device })
+ end
+ end
+ end)
+end
+
+-- Remove a blacklist entry
+function remove_blacklist(mac)
+ mac = mac:lower()
+ uci:delete_all("luci_splash", "blacklist",
+ function(s) return not s.mac or s.mac:lower() == mac end)
+ uci:save("luci_splash")
+ uci:commit("luci_splash")
+ remove_lease_rule(mac)
+end
+
+
+-- Add an iptables rule
+function add_lease_rule(mac, ipaddr, device)
+ local id
+ if ipaddr then
+ id = get_id(ipaddr)
+ end
+
+ exec("iptables -t mangle -I luci_splash_mark_out -m mac --mac-source %q -j RETURN" % mac)
+
+ -- Mark incoming packets to a splashed host
+ -- for ipv4 - by iptables and destination
+ if id and device then
+ exec("iptables -t mangle -I luci_splash_mark_in -d %q -j MARK --set-mark 0x1%s -m comment --comment %s" % {ipaddr, id, mac:upper()})
+ end
+
+ --for ipv6: need to use the mac here
+
+ if has_ipv6 then
+ exec("ip6tables -t mangle -I luci_splash_mark_out -m mac --mac-source %q -j MARK --set-mark 79" % mac)
+ if id and device and tonumber(limit_down) then
+ exec("tc filter add dev %s parent 1:0 protocol ipv6 prio 1 u32 match ether dst %s classid 1:%s" % {device, mac:lower(), id})
+ end
+ end
+
+
+ if device and tonumber(limit_up) > 0 then
+ exec('tc filter add dev "%s" parent ffff: protocol all prio 2 u32 match ether src %s police rate %skbit mtu 6k burst 6k drop' % {device, mac, limit_up})
+ end
+
+ if id and device and tonumber(limit_down) > 0 then
+ exec("tc class add dev %s parent 1: classid 1:0x%s htb rate %skbit" % { device, id, limit_down })
+ exec("tc qdisc add dev %s parent 1:%s sfq perturb 10" % { device, id })
+ end
+
+ exec("iptables -t filter -I luci_splash_filter -m mac --mac-source %q -j RETURN" % mac)
+ exec("iptables -t nat -I luci_splash_leases -m mac --mac-source %q -j RETURN" % mac)
+ if has_ipv6 then
+ exec("ip6tables -t filter -I luci_splash_filter -m mac --mac-source %q -j RETURN" % mac)
+ end
+end
+
+
+-- Remove lease, black- or whitelist rules
+function remove_lease_rule(mac, ipaddr, device, limit_up, limit_down)
+
+ local id
+ if ipaddr then
+ id = get_id(ipaddr)
+ end
+
+ ipt:resync()
+ ipt_delete_all({table="mangle", chain="luci_splash_mark_in", options={"/*", mac:upper()}})
+ ipt_delete_all({table="mangle", chain="luci_splash_mark_out", options={"MAC", mac:upper()}})
+ ipt_delete_all({table="filter", chain="luci_splash_filter", options={"MAC", mac:upper()}})
+ ipt_delete_all({table="nat", chain="luci_splash_leases", options={"MAC", mac:upper()}})
+ if has_ipv6 then
+ ipt6_delete_all({table="mangle", chain="luci_splash_mark_out", options={"MAC", mac:upper()}})
+ ipt6_delete_all({table="filter", chain="luci_splash_filter", options={"MAC", mac:upper()}})
+ end
+
+ if device and tonumber(limit_up) > 0 then
+ local handle = get_filter_handle('ffff:', 'src', device, mac)
+ if handle then
+ exec('tc filter del dev "%s" parent ffff: protocol all prio 2 handle %s u32 police rate %skbit mtu 6k burst 6k drop' % {device, handle, limit_up})
+ else
+ print('Warning! Could not get a handle for %s parent :ffff on interface %s' % { mac, device })
+ end
+ end
+ -- remove clients class
+ if device and id then
+ exec('tc class del dev "%s" classid 1:%s' % {device, id})
+ exec('tc filter del dev "%s" parent 1:0 prio 1' % device) -- ipv6 rule
+ --exec('tc qdisc del dev "%s" parent 1:%s sfq perturb 10' % { device, id })
+ end
+end
+
+
+-- Add whitelist rules
+function add_whitelist_rule(mac)
+ exec("iptables -t filter -I luci_splash_filter -m mac --mac-source %q -j RETURN" % mac)
+ exec("iptables -t nat -I luci_splash_leases -m mac --mac-source %q -j RETURN" % mac)
+ if has_ipv6 then
+ exec("ip6tables -t filter -I luci_splash_filter -m mac --mac-source %q -j RETURN" % mac)
+ end
+ uci:foreach("luci_splash", "iface", function(s)
+ local device = get_physdev(s['.name'])
+ if device and device ~= "" then
+ exec('tc filter add dev "%s" parent ffff: protocol ip prio 1 u32 match ether src %s police pass' % { device, mac })
+ exec('tc filter add dev "%s" parent 1:0 protocol ip prio 1 u32 match ether dst %s classid 1:1' % { device, mac })
+ end
+ end)
+end
+
+
+-- Add blacklist rules
+function add_blacklist_rule(mac)
+ exec("iptables -t filter -I luci_splash_filter -m mac --mac-source %q -j DROP" % mac)
+ if has_ipv6 then
+ exec("ip6tables -t filter -I luci_splash_filter -m mac --mac-source %q -j DROP" % mac)
+ end
+end
+
+
+-- Synchronise leases, remove abandoned rules
+function sync()
+ lock()
+
+ local time = os.time()
+
+ -- Current leases in state files
+ local leases = uci:get_all("luci_splash_leases")
+
+ -- Convert leasetime to seconds
+ local leasetime = tonumber(uci:get("luci_splash", "general", "leasetime")) * 3600
+
+ -- Clean state file
+ uci:load("luci_splash_leases")
+ uci:revert("luci_splash_leases")
+
+
+ local arpcache = get_arpcache()
+
+ local blackwhitelist = uci:get_all("luci_splash")
+ local whitelist_total = 0
+ local whitelist_online = 0
+ local blacklist_total = 0
+ local blacklist_online = 0
+ local leasecount = 0
+ local leases_online = 0
+
+ -- For all leases
+ for k, v in pairs(leases) do
+ if v[".type"] == "lease" then
+ if os.difftime(time, tonumber(v.start)) > leasetime then
+ -- Remove expired
+ remove_lease_rule(v.mac, v.ipaddr, v.device, tonumber(v.limit_up), tonumber(v.limit_down))
+ else
+ leasecount = leasecount + 1
+
+ -- only count leases_online for connected clients
+ if arpcache[v.mac] then
+ leases_online = leases_online + 1
+ end
+
+ -- Rewrite state
+ uci:section("luci_splash_leases", "lease", convert_mac_to_secname(v.mac), {
+ mac = v.mac,
+ ipaddr = v.ipaddr,
+ device = v.device,
+ limit_up = limit_up,
+ limit_down = limit_down,
+ start = v.start
+ })
+ end
+ end
+ end
+
+ -- Whitelist, Blacklist
+ for _, s in utl.spairs(blackwhitelist,
+ function(a,b) return blackwhitelist[a][".type"] > blackwhitelist[b][".type"] end
+ ) do
+ if (s[".type"] == "whitelist") then
+ whitelist_total = whitelist_total + 1
+ if s.mac then
+ local mac = s.mac:lower()
+ if arpcache[mac] then
+ whitelist_online = whitelist_online + 1
+ end
+ end
+ end
+ if (s[".type"] == "blacklist") then
+ blacklist_total = blacklist_total + 1
+ if s.mac then
+ local mac = s.mac:lower()
+ if arpcache[mac] then
+ blacklist_online = blacklist_online + 1
+ end
+ end
+ end
+ end
+
+ -- ToDo:
+ -- include a new field "leases_online" in stats to differ between active clients and leases:
+ -- update_stats(leasecount, leases_online, whitelist_online, whitelist_total, blacklist_online, blacklist_total) later:
+ update_stats(leases_online, whitelist_online, whitelist_total, blacklist_online, blacklist_total)
+
+ uci:save("luci_splash_leases")
+
+ -- Get the mac addresses of current leases
+ local macs = get_known_macs()
+
+ ipt:resync()
+
+ ipt_delete_all({table="filter", chain="luci_splash_filter", options={"MAC"}},
+ function(r) return not macs[r.options[2]:lower()] end)
+ ipt_delete_all({table="nat", chain="luci_splash_leases", options={"MAC"}},
+ function(r) return not macs[r.options[2]:lower()] end)
+ ipt_delete_all({table="mangle", chain="luci_splash_mark_out", options={"MAC", "MARK", "set"}},
+ function(r) return not macs[r.options[2]:lower()] end)
+ ipt_delete_all({table="mangle", chain="luci_splash_mark_in", options={"/*", "MARK", "set"}},
+ function(r) return not macs[r.options[2]:lower()] end)
+
+
+ if has_ipv6 then
+ ipt6_delete_all({table="filter", chain="luci_splash_filter", options={"MAC"}},
+ function(r) return not macs[r.options[2]:lower()] end)
+ ipt6_delete_all({table="mangle", chain="luci_splash_mark_out", options={"MAC", "MARK", "set"}},
+ function(r) return not macs[r.options[2]:lower()] end)
+ end
+
+ unlock()
+end
+
+-- Show client info
+function list()
+ local arpcache = get_arpcache()
+ -- Find traffic usage
+ local function traffic(lease)
+ local traffic_in = 0
+ local traffic_out = 0
+
+ local rin = ipt:find({table="mangle", chain="luci_splash_mark_in", destination=lease.ipaddr})
+ local rout = ipt:find({table="mangle", chain="luci_splash_mark_out", options={"MAC", lease.mac:upper()}})
+
+ if rin and #rin > 0 then traffic_in = math.floor( rin[1].bytes / 1024) end
+ if rout and #rout > 0 then traffic_out = math.floor(rout[1].bytes / 1024) end
+
+ return traffic_in, traffic_out
+ end
+
+ -- Print listings
+ local leases = uci:get_all("luci_splash_leases")
+ local blackwhitelist = uci:get_all("luci_splash")
+
+ print(string.format(
+ "%-17s %-15s %-9s %-4s %-7s %20s",
+ "MAC", "IP", "State", "Dur.", "Intf.", "Traffic down/up"
+ ))
+
+ -- Leases
+ for _, s in pairs(leases) do
+ if s[".type"] == "lease" and s.mac then
+ local ti, to = traffic(s)
+ local mac = s.mac:lower()
+ local arp = arpcache[mac]
+ print(string.format(
+ "%-17s %-15s %-9s %3dm %-7s %7dKB %7dKB",
+ mac, s.ipaddr, "leased",
+ math.floor(( os.time() - tonumber(s.start) ) / 60),
+ arp and arp[1] or "?", ti, to
+ ))
+ end
+ end
+
+ -- Whitelist, Blacklist
+ for _, s in utl.spairs(blackwhitelist,
+ function(a,b) return blackwhitelist[a][".type"] > blackwhitelist[b][".type"] end
+ ) do
+ if (s[".type"] == "whitelist" or s[".type"] == "blacklist") and s.mac then
+ local mac = s.mac:lower()
+ local arp = arpcache[mac]
+ print(string.format(
+ "%-17s %-15s %-9s %4s %-7s %9s %9s",
+ mac, arp and arp[2] or "?", s[".type"],
+ "- ", arp and arp[1] or "?", "-", "-"
+ ))
+ end
+ end
+end
+
+main(arg)