Backported Tinyproxy application
authorSteven Barth <steven@midlink.org>
Fri, 3 Oct 2008 16:28:28 +0000 (16:28 +0000)
committerSteven Barth <steven@midlink.org>
Fri, 3 Oct 2008 16:28:28 +0000 (16:28 +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
libs/uci/root/etc/config/ucitrack

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..5aaafe4
--- /dev/null
@@ -0,0 +1,32 @@
+tinyproxy = 'Tinyproxy'
+tinyproxy_desc = 'Tinyproxy ist ein schlanker HTTP(S)-Proxy ohne Zwischenspeicher'
+tinyproxy_tinyproxy_allow = 'Proxyzugang erlauben von'
+tinyproxy_tinyproxy_anonymous = 'Erlaube Header für anonymen Proxy'
+tinyproxy_tinyproxy_bind = 'Ausgehendenden Verkehr an Adresse binden'
+tinyproxy_tinyproxy_connectport = 'Ports für CONNECT-Methode'
+tinyproxy_tinyproxy_connectport_desc = '0 = deaktiviert, leer = alle'
+tinyproxy_tinyproxy_defaulterrorfile = 'Fehlerseite'
+tinyproxy_tinyproxy_filter = 'Filterliste'
+tinyproxy_tinyproxy_filtercasesensitive = 'Filter unterscheiden Groß-/Kleinschreibung'
+tinyproxy_tinyproxy_filterdefaultdeny = 'Filterliste ist eine Whitelist'
+tinyproxy_tinyproxy_filterextended = 'Erweiterte reguläre Ausdrücke für Filter'
+tinyproxy_tinyproxy_filterurls = 'Filtere URLs statt Domains'
+tinyproxy_tinyproxy_listen = 'An Adresse binden'
+tinyproxy_tinyproxy_logfile = 'Protokolldatei'
+tinyproxy_tinyproxy_loglevel = 'Protokolllevel'
+tinyproxy_tinyproxy_maxclients = 'Maximale Anzahl an Clients'
+tinyproxy_tinyproxy_maxrequestsperchild = 'Maximale Anfragen pro Prozess'
+tinyproxy_tinyproxy_maxspareservers = 'Max. Prozesszahl'
+tinyproxy_tinyproxy_minspareservers = 'Min. Prozesszahl'
+tinyproxy_tinyproxy_startservers = 'Anfängliche Prozesszahl'
+tinyproxy_tinyproxy_statfile = 'Statistikseite'
+tinyproxy_tinyproxy_syslog = 'In Systemprotokoll schreiben'
+tinyproxy_tinyproxy_timeout = 'Verbindungstimeout'
+tinyproxy_tinyproxy_viaproxyname = 'Wert des Via-Headers'
+tinyproxy_tinyproxy_xtinyproxy = 'Client-IP übertragen'
+tinyproxy_type_proxy = 'Über Proxy'
+tinyproxy_type_reject = 'Verbiete Zugriff'
+tinyproxy_upstream = 'Zugangskontrolle'
+tinyproxy_upstream_target = 'Zielhost'
+tinyproxy_upstream_type = 'Methode'
+tinyproxy_upstream_via = 'Zugangsproxy'
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..2520e38
--- /dev/null
@@ -0,0 +1,32 @@
+tinyproxy = 'Tinyproxy'
+tinyproxy_desc = 'Tinyproxy is a small and fast non-caching HTTP(S)-Proxy'
+tinyproxy_tinyproxy_allow = 'Allow access from'
+tinyproxy_tinyproxy_anonymous = 'Allowed headers for anonymous proxy'
+tinyproxy_tinyproxy_bind = 'Bind outgoing traffic to address'
+tinyproxy_tinyproxy_connectport = 'Ports allowed for CONNECT method'
+tinyproxy_tinyproxy_connectport_desc = '0 = disabled, empty = all'
+tinyproxy_tinyproxy_defaulterrorfile = 'Error document'
+tinyproxy_tinyproxy_filter = 'Filter list'
+tinyproxy_tinyproxy_filtercasesensitive = 'Case sensitive filters'
+tinyproxy_tinyproxy_filterdefaultdeny = 'Filter list is a whitelist'
+tinyproxy_tinyproxy_filterextended = 'Extended regular expression filters'
+tinyproxy_tinyproxy_filterurls = 'Filter URLs instead of domains'
+tinyproxy_tinyproxy_listen = 'Listen on address'
+tinyproxy_tinyproxy_logfile = 'Logfile'
+tinyproxy_tinyproxy_loglevel = 'Log level'
+tinyproxy_tinyproxy_maxclients = 'Maximum number of clients'
+tinyproxy_tinyproxy_maxrequestsperchild = 'Maximum requests per thread'
+tinyproxy_tinyproxy_maxspareservers = 'Max. spare servers'
+tinyproxy_tinyproxy_minspareservers = 'Min. spare servers'
+tinyproxy_tinyproxy_startservers = 'Spare servers to start with'
+tinyproxy_tinyproxy_statfile = 'Statistic document'
+tinyproxy_tinyproxy_syslog = 'Write to syslog'
+tinyproxy_tinyproxy_timeout = 'Connection Timeout'
+tinyproxy_tinyproxy_viaproxyname = 'Value of Via-Header'
+tinyproxy_tinyproxy_xtinyproxy = 'Include client IP'
+tinyproxy_type_proxy = 'Via proxy'
+tinyproxy_type_reject = 'Reject access'
+tinyproxy_upstream = 'Upstream Control'
+tinyproxy_upstream_target = 'Target host'
+tinyproxy_upstream_type = 'Type'
+tinyproxy_upstream_via = 'Upstream Proxy'
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..a18eb50
--- /dev/null
@@ -0,0 +1,80 @@
+--[[
+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
+
+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 6655a05bb87c6c60518b7a7557e97b48379fc527..53734726f4f38cda63432ff5073d608eccd9a4e8 100644 (file)
@@ -408,6 +408,16 @@ define Package/luci-app-hd_idle/install
         $(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 ###
 
@@ -564,6 +574,9 @@ 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),)
@@ -628,6 +641,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-tinyproxy))
 
 $(eval $(call BuildPackage,luci-sgi-cgi))
 
index 0349f81c8e51950df30d547a6b60c3463f36173c..8b647fda8d04bfe399d6db103a39628d690b774e 100644 (file)
@@ -50,3 +50,6 @@ config ntpclient
 
 config samba
        option init samba
+
+config tinyproxy
+       option init tinyproxy