1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2008-2011 OpenWrt.org
7 CFGFILE
=/var
/etc
/tinyproxy.conf
8 PROG
=/usr
/bin
/tinyproxy
12 config_get_bool enabled
"$1" 'enabled' 0
21 config_get
"type" "$1" "type"
22 config_get via
"$1" via
23 config_get target
"$1" target
24 [ -n "$target" ] && target
=' "'"$target"'"'
26 [ "$type" = "proxy" ] && [ -n "$via" ] && \
27 echo "upstream $via$target"
29 [ "$type" = "reject" ] && [ -n "$target" ] && \
30 echo "no upstream$target"
38 config_get _value
"$SECTION" "$OPTION"
39 [ -z "$_value" ] && _value
="$DEFAULT"
40 [ -n "$_value" ] && echo "$OPTION $_value"
49 config_get _value
"$SECTION" "$OPTION"
50 [ -z "$_value" ] && _value
="$DEFAULT"
51 [ -n "$_value" ] && echo "${ALIAS:-${OPTION}} "'"'"$_value"'"'
52 [ -n "$_value" ] && [ "$OPTION" = "LogFile" ] && {
62 config_get _value
"$SECTION" "$OPTION"
63 [ -n "$_value" ] && echo "${ALIAS:-${OPTION}} ""$_value"
70 local FALSE
="${4:-Off}"
72 config_get_bool _value
"$SECTION" "$OPTION" 0
73 [ "$_value" -eq "1" ] && _value
="$TRUE" || _value
="$FALSE"
74 echo "$OPTION $_value"
82 config_get _value
"$SECTION" "$OPTION"
84 for entry
in $_value; do
85 echo "$OPTION ${ENCLOSE}${entry}${ENCLOSE}"
91 section_enabled
"$1" ||
return 1
96 echo '### AUTOGENERATED CONFIGURATION'
97 echo '### DO NOT EDIT'
98 echo '### SEE /etc/config/tinyproxy INSTEAD'
102 proxy_atom
"$1" Group
103 proxy_atom
"$1" Port
8888
104 proxy_atom
"$1" Listen
106 proxy_atom
"$1" Timeout
108 proxy_string
"$1" ErrorFile_400
"ErrorFile 400"
109 proxy_string
"$1" ErrorFile_403
"ErrorFile 403"
110 proxy_string
"$1" ErrorFile_404
"ErrorFile 404"
111 proxy_string
"$1" ErrorFile_408
"ErrorFile 408"
112 proxy_string
"$1" ErrorFile_503
"ErrorFile 503"
114 proxy_string
"$1" DefaultErrorFile
115 proxy_string
"$1" StatHost StatHost
127.0.0.1
116 proxy_string
"$1" StatFile
117 proxy_string
"$1" LogFile
119 proxy_m_string
"$1" BasicAuth
121 proxy_flag
"$1" Syslog
123 proxy_atom
"$1" LogLevel
125 proxy_flag
"$1" XTinyproxy
127 proxy_atom
"$1" MaxClients
128 proxy_atom
"$1" MinSpareServers
129 proxy_atom
"$1" MaxSpareServers
130 proxy_atom
"$1" StartServers
131 proxy_atom
"$1" MaxRequestsPerChild
132 proxy_list
"$1" Allow
134 proxy_string
"$1" ViaProxyName
135 proxy_string
"$1" Filter
137 proxy_flag
"$1" FilterURLs
138 proxy_flag
"$1" FilterExtended
139 proxy_flag
"$1" FilterCaseSensitive
140 proxy_flag
"$1" FilterDefaultDeny Yes No
142 proxy_list
"$1" Anonymous
'"'
143 proxy_list
"$1" ConnectPort
145 config_foreach write_upstream upstream
149 procd_set_param
command "$PROG"
150 procd_append_param
command -c "$CFGFILE"
151 procd_append_param
command -d
156 config_load
'tinyproxy'
157 config_foreach start_proxy
'tinyproxy'