Added tinyproxy application
authorSteven Barth <steven@midlink.org>
Thu, 2 Oct 2008 17:15:49 +0000 (17:15 +0000)
committerSteven Barth <steven@midlink.org>
Thu, 2 Oct 2008 17:15:49 +0000 (17:15 +0000)
applications/luci-tinyproxy/Makefile [new file with mode: 0644]
applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua [new file with mode: 0644]
applications/luci-tinyproxy/luasrc/i18n/tinyproxy.de.lua [new file with mode: 0644]
applications/luci-tinyproxy/luasrc/i18n/tinyproxy.de.xml [new file with mode: 0644]
applications/luci-tinyproxy/luasrc/i18n/tinyproxy.en.lua [new file with mode: 0644]
applications/luci-tinyproxy/luasrc/i18n/tinyproxy.en.xml [new file with mode: 0644]
applications/luci-tinyproxy/luasrc/model/cbi/tinyproxy.lua [new file with mode: 0644]
contrib/package/luci/Makefile

diff --git a/applications/luci-tinyproxy/Makefile b/applications/luci-tinyproxy/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
diff --git a/applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua b/applications/luci-tinyproxy/luasrc/controller/tinyproxy.lua
new file mode 100644 (file)
index 0000000..2ecfb93
--- /dev/null
@@ -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$
+]]--
+module("luci.controller.tinyproxy", package.seeall)
+
+function index()
+       if not luci.fs.isfile("/etc/config/tinyproxy") then
+               return
+       end
+       
+       local page = entry({"admin", "services", "tinyproxy"}, cbi("tinyproxy"), "Tinyproxy")
+       page.dependent = true
+       page.i18n = "tinyproxy"
+end
\ No newline at end of file
diff --git a/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.de.lua b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.de.lua
new file mode 100644 (file)
index 0000000..32fb452
--- /dev/null
@@ -0,0 +1,32 @@
+tinyproxy = "Tinyproxy"
+tinyproxy_desc = "Tinyproxy ist ein schlanker HTTP(S)-Proxy ohne Zwischenspeicher"
+tinyproxy_tinyproxy_listen = "An Adresse binden"
+tinyproxy_tinyproxy_bind = "Ausgehendenden Verkehr an Adresse binden"
+tinyproxy_tinyproxy_timeout = "Verbindungstimeout"
+tinyproxy_tinyproxy_defaulterrorfile = "Fehlerseite"
+tinyproxy_tinyproxy_statfile = "Statistikseite"
+tinyproxy_tinyproxy_logfile = "Protokolldatei"
+tinyproxy_tinyproxy_syslog = "In Systemprotokoll schreiben"
+tinyproxy_tinyproxy_loglevel = "Protokolllevel"
+tinyproxy_tinyproxy_xtinyproxy = "Client-IP übertragen"
+tinyproxy_tinyproxy_maxclients = "Maximale Anzahl an Clients"
+tinyproxy_tinyproxy_minspareservers = "Min. Prozesszahl"
+tinyproxy_tinyproxy_maxspareservers = "Max. Prozesszahl"
+tinyproxy_tinyproxy_startservers = "Anfängliche Prozesszahl"
+tinyproxy_tinyproxy_maxrequestsperchild = "Maximale Anfragen pro Prozess"
+tinyproxy_tinyproxy_allow = "Proxyzugang erlauben von"
+tinyproxy_tinyproxy_viaproxyname = "Wert des Via-Headers"
+tinyproxy_tinyproxy_filter = "Filterliste"
+tinyproxy_tinyproxy_filterurls = "Filtere URLs statt Domains"
+tinyproxy_tinyproxy_filterextended = "Erweiterte reguläre Ausdrücke für Filter"
+tinyproxy_tinyproxy_filtercasesensitive = "Filter unterscheiden Groß-/Kleinschreibung"
+tinyproxy_tinyproxy_filterdefaultdeny = "Filterliste ist eine Whitelist"
+tinyproxy_tinyproxy_anonymous = "Erlaube Header für anonymen Proxy"
+tinyproxy_tinyproxy_connectport = "Ports für CONNECT-Methode"
+tinyproxy_tinyproxy_connectport_desc = "0 = deaktiviert, leer = alle"
+tinyproxy_upstream = "Zugangskontrolle"
+tinyproxy_upstream_type = "Methode"
+tinyproxy_type_proxy = "Über Proxy"
+tinyproxy_type_reject = "Verbiete Zugriff"
+tinyproxy_upstream_via = "Zugangsproxy"
+tinyproxy_upstream_target = "Zielhost"
\ No newline at end of file
diff --git a/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.de.xml b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.de.xml
new file mode 100644 (file)
index 0000000..7e4da0d
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml">
+
+<i18n:msg xml:id="tinyproxy">Tinyproxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_desc">Tinyproxy ist ein schlanker HTTP(S)-Proxy ohne Zwischenspeicher</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_allow">Proxyzugang erlauben von</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_anonymous">Erlaube Header für anonymen Proxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_bind">Ausgehendenden Verkehr an Adresse binden</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_connectport">Ports für CONNECT-Methode</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_connectport_desc">0 = deaktiviert, leer = alle</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_defaulterrorfile">Fehlerseite</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filter">Filterliste</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filtercasesensitive">Filter unterscheiden Groß-/Kleinschreibung</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filterdefaultdeny">Filterliste ist eine Whitelist</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filterextended">Erweiterte reguläre Ausdrücke für Filter</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filterurls">Filtere URLs statt Domains</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_listen">An Adresse binden</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_logfile">Protokolldatei</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_loglevel">Protokolllevel</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_maxclients">Maximale Anzahl an Clients</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_maxrequestsperchild">Maximale Anfragen pro Prozess</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_maxspareservers">Max. Prozesszahl</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_minspareservers">Min. Prozesszahl</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_startservers">Anfängliche Prozesszahl</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_statfile">Statistikseite</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_syslog">In Systemprotokoll schreiben</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_timeout">Verbindungstimeout</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_viaproxyname">Wert des Via-Headers</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_xtinyproxy">Client-IP übertragen</i18n:msg>
+<i18n:msg xml:id="tinyproxy_type_proxy">Über Proxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_type_reject">Verbiete Zugriff</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream">Zugangskontrolle</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream_target">Zielhost</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream_type">Methode</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream_via">Zugangsproxy</i18n:msg>
+
+</i18n:msgs>
diff --git a/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.en.lua b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.en.lua
new file mode 100644 (file)
index 0000000..2c96d61
--- /dev/null
@@ -0,0 +1,32 @@
+tinyproxy = "Tinyproxy"
+tinyproxy_desc = "Tinyproxy is a small and fast non-caching HTTP(S)-Proxy"
+tinyproxy_tinyproxy_listen = "Listen on address"
+tinyproxy_tinyproxy_bind = "Bind outgoing traffic to address"
+tinyproxy_tinyproxy_timeout = "Connection Timeout"
+tinyproxy_tinyproxy_defaulterrorfile = "Error document"
+tinyproxy_tinyproxy_statfile = "Statistic document"
+tinyproxy_tinyproxy_logfile = "Logfile"
+tinyproxy_tinyproxy_syslog = "Write to syslog"
+tinyproxy_tinyproxy_loglevel = "Log level"
+tinyproxy_tinyproxy_xtinyproxy = "Include client IP"
+tinyproxy_tinyproxy_maxclients = "Maximum number of clients"
+tinyproxy_tinyproxy_minspareservers = "Min. spare servers"
+tinyproxy_tinyproxy_maxspareservers = "Max. spare servers"
+tinyproxy_tinyproxy_startservers = "Spare servers to start with"
+tinyproxy_tinyproxy_maxrequestsperchild = "Maximum requests per thread"
+tinyproxy_tinyproxy_allow = "Allow access from"
+tinyproxy_tinyproxy_viaproxyname = "Value of Via-Header"
+tinyproxy_tinyproxy_filter = "Filter list"
+tinyproxy_tinyproxy_filterurls = "Filter URLs instead of domains"
+tinyproxy_tinyproxy_filterextended = "Extended regular expression filters"
+tinyproxy_tinyproxy_filtercasesensitive = "Case sensitive filters"
+tinyproxy_tinyproxy_filterdefaultdeny = "Filter list is a whitelist"
+tinyproxy_tinyproxy_anonymous = "Allowed headers for anonymous proxy"
+tinyproxy_tinyproxy_connectport = "Ports allowed for CONNECT method"
+tinyproxy_tinyproxy_connectport_desc = "0 = disabled, empty = all"
+tinyproxy_upstream = "Upstream Control"
+tinyproxy_upstream_type = "Type"
+tinyproxy_type_proxy = "Via proxy"
+tinyproxy_type_reject = "Reject access"
+tinyproxy_upstream_via = "Upstream Proxy"
+tinyproxy_upstream_target = "Target host"
\ No newline at end of file
diff --git a/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.en.xml b/applications/luci-tinyproxy/luasrc/i18n/tinyproxy.en.xml
new file mode 100644 (file)
index 0000000..e97ca59
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml">
+
+<i18n:msg xml:id="tinyproxy">Tinyproxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_desc">Tinyproxy is a small and fast non-caching HTTP(S)-Proxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_allow">Allow access from</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_anonymous">Allowed headers for anonymous proxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_bind">Bind outgoing traffic to address</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_connectport">Ports allowed for CONNECT method</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_connectport_desc">0 = disabled, empty = all</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_defaulterrorfile">Error document</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filter">Filter list</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filtercasesensitive">Case sensitive filters</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filterdefaultdeny">Filter list is a whitelist</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filterextended">Extended regular expression filters</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_filterurls">Filter URLs instead of domains</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_listen">Listen on address</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_logfile">Logfile</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_loglevel">Log level</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_maxclients">Maximum number of clients</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_maxrequestsperchild">Maximum requests per thread</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_maxspareservers">Max. spare servers</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_minspareservers">Min. spare servers</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_startservers">Spare servers to start with</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_statfile">Statistic document</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_syslog">Write to syslog</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_timeout">Connection Timeout</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_viaproxyname">Value of Via-Header</i18n:msg>
+<i18n:msg xml:id="tinyproxy_tinyproxy_xtinyproxy">Include client IP</i18n:msg>
+<i18n:msg xml:id="tinyproxy_type_proxy">Via proxy</i18n:msg>
+<i18n:msg xml:id="tinyproxy_type_reject">Reject access</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream">Upstream Control</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream_target">Target host</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream_type">Type</i18n:msg>
+<i18n:msg xml:id="tinyproxy_upstream_via">Upstream Proxy</i18n:msg>
+
+</i18n:msgs>
diff --git a/applications/luci-tinyproxy/luasrc/model/cbi/tinyproxy.lua b/applications/luci-tinyproxy/luasrc/model/cbi/tinyproxy.lua
new file mode 100644 (file)
index 0000000..b1afb3f
--- /dev/null
@@ -0,0 +1,81 @@
+--[[
+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$
+]]--
+m = Map("tinyproxy", translate("tinyproxy"), translate("tinyproxy_desc"))
+
+s = m:section(TypedSection, "tinyproxy", translate("general"))
+s.anonymous = true
+
+s:option(Flag, "enable", translate("enable"))
+
+s:option(Value, "Port", translate("port"))
+s:option(Value, "Listen").optional = true
+s:option(Value, "Bind").optional = true
+s:option(Value, "Timeout").optional = true
+
+s:option(Value, "DefaultErrorFile").optional = true
+s:option(Value, "StatFile").optional = true
+
+s:option(Flag, "Syslog").optional = true
+f = s:option(Value, "Logfile")
+f.optional = true
+f:depends({Syslog = ""})
+
+l = s:option(ListValue, "LogLevel")
+l.optional = true
+l:value("Critical")
+l:value("Error")
+l:value("Warning")
+l:value("Notice")
+l:value("Connect")
+l:value("Info")
+
+s:option(DynamicList, "XTinyproxy").optional = true
+
+s:option(DynamicList, "Allow")
+s:option(Value, "ViaProxyName")
+
+s:option(FileUpload, "Filter")
+s:option(Flag, "FilterURLs")
+s:option(Flag, "FilterExtended")
+s:option(Flag, "FilterCaseSensitive")
+s:option(Flag, "FilterDefaultDeny")
+
+s:option(DynamicList, "Anonymous")
+s:option(DynamicList, "ConnectPort")
+
+s:option(Value, "User").optional = true
+s:option(Value, "Group").optional = true
+s:option(Value, "MaxClients").optional = true
+s:option(Value, "MinSpareServers").optional = true
+s:option(Value, "MaxSpareServers").optional = true
+s:option(Value, "StartServers").optional = true
+s:option(Value, "MaxRequestsPerChild").optional = true
+
+
+s = m:section(TypedSection, "upstream")
+s.anonymous = true
+s.addremove = true
+
+t = s:option(ListValue, "type")
+t:value("proxy", translate("tinyproxy_type_proxy"))
+t:value("reject", translate("tinyproxy_type_reject"))
+
+ta = s:option(Value, "target")
+ta.rmempty = true
+
+v = s:option(Value, "via")
+v:depends({type="proxy"})
+
+return m
\ No newline at end of file
index 06bc35d..6c82896 100644 (file)
@@ -494,6 +494,16 @@ define Package/luci-app-hd_idle/install
         $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
 endef
 
         $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
 endef
 
+define Package/luci-app-tinyproxy
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +tinyproxy
+  TITLE:=Tinyproxy - HTTP(S)-Proxy
+endef
+
+define Package/luci-app-tinyproxy/install
+        $(call Package/luci/install/template,$(1),applications/luci-tinyproxy)
+endef
+
 
 ### Server Gateway Interfaces ###
 
 
 ### Server Gateway Interfaces ###
 
@@ -726,6 +736,9 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
        PKG_SELECTED_MODULES+=applications/luci-hd_idle
 endif
 ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
        PKG_SELECTED_MODULES+=applications/luci-hd_idle
 endif
+ifneq ($(CONFIG_PACKAGE_luci-app-tinyproxy),)
+       PKG_SELECTED_MODULES+=applications/luci-tinyproxy
+endif
 
 
 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
 
 
 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
@@ -815,6 +828,7 @@ $(eval $(call BuildPackage,luci-app-uvc_streamer))
 $(eval $(call BuildPackage,luci-app-p910nd))
 $(eval $(call BuildPackage,luci-app-ushare))
 $(eval $(call BuildPackage,luci-app-hd_idle))
 $(eval $(call BuildPackage,luci-app-p910nd))
 $(eval $(call BuildPackage,luci-app-ushare))
 $(eval $(call BuildPackage,luci-app-hd_idle))
+$(eval $(call BuildPackage,luci-app-tinyproxy))
 
 $(eval $(call BuildPackage,luci-sgi-cgi))
 $(eval $(call BuildPackage,luci-sgi-luci))
 
 $(eval $(call BuildPackage,luci-sgi-cgi))
 $(eval $(call BuildPackage,luci-sgi-luci))