1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2008-2011 OpenWrt.org
6 CFGFILE
=/var
/etc
/tinyproxy.conf
9 config_get_bool enabled
"$1" 'enabled' 0
14 config_load
'tinyproxy'
15 config_foreach start_proxy
'tinyproxy'
19 service_stop
/usr
/sbin
/tinyproxy
23 section_enabled
"$1" ||
return 1
25 mkdir
-m0755 -p /var
/etc
26 echo '### AUTOGENERATED CONFIGURATION' > $CFGFILE
27 echo '### DO NOT EDIT' >> $CFGFILE
28 echo '### SEE /etc/config/tinyproxy INSTEAD' >> $CFGFILE
31 proxy_atom
"$1" User
>> $CFGFILE
32 proxy_atom
"$1" Group
>> $CFGFILE
33 proxy_atom
"$1" Port
8888 >> $CFGFILE
34 proxy_atom
"$1" Listen
>> $CFGFILE
35 proxy_atom
"$1" Bind
>> $CFGFILE
36 proxy_atom
"$1" Timeout
>> $CFGFILE
38 proxy_string
"$1" ErrorFile_400
"ErrorFile 400" >> $CFGFILE
39 proxy_string
"$1" ErrorFile_403
"ErrorFile 403" >> $CFGFILE
40 proxy_string
"$1" ErrorFile_404
"ErrorFile 404" >> $CFGFILE
41 proxy_string
"$1" ErrorFile_408
"ErrorFile 408" >> $CFGFILE
42 proxy_string
"$1" ErrorFile_503
"ErrorFile 503" >> $CFGFILE
44 proxy_string
"$1" DefaultErrorFile
>> $CFGFILE
45 proxy_string
"$1" StatHost StatHost
127.0.0.1 >> $CFGFILE
46 proxy_string
"$1" StatFile
>> $CFGFILE
47 proxy_string
"$1" LogFile
>> $CFGFILE
49 proxy_flag
"$1" Syslog
>> $CFGFILE
51 proxy_atom
"$1" LogLevel
>> $CFGFILE
53 proxy_list
"$1" XTinyproxy
>> $CFGFILE
55 proxy_atom
"$1" MaxClients
>> $CFGFILE
56 proxy_atom
"$1" MinSpareServers
>> $CFGFILE
57 proxy_atom
"$1" MaxSpareServers
>> $CFGFILE
58 proxy_atom
"$1" StartServers
>> $CFGFILE
59 proxy_atom
"$1" MaxRequestsPerChild
>> $CFGFILE
60 proxy_list
"$1" Allow
>> $CFGFILE
62 proxy_string
"$1" ViaProxyName
>> $CFGFILE
63 proxy_string
"$1" Filter
>> $CFGFILE
65 proxy_flag
"$1" FilterURLs
>> $CFGFILE
66 proxy_flag
"$1" FilterExtended
>> $CFGFILE
67 proxy_flag
"$1" FilterCaseSensitive
>> $CFGFILE
68 proxy_flag
"$1" FilterDefaultDeny Yes No
>> $CFGFILE
70 proxy_list
"$1" Anonymous
'"' >> $CFGFILE
71 proxy_list
"$1" ConnectPort
>> $CFGFILE
73 config_foreach write_upstream upstream
75 service_start
/usr
/sbin
/tinyproxy
-c "$CFGFILE"
83 config_get
"type" "$1" "type"
84 config_get via
"$1" via
85 config_get target
"$1" target
86 [ -n "$target" ] && target
=' "'"$target"'"'
88 [ "$type" == "proxy" -a -n "$via" ] && \
89 echo "upstream $via$target" >> $CFGFILE
91 [ "$type" == "reject" -a -n "$target" ] && \
92 echo "no upstream$target" >> $CFGFILE
100 config_get _value
"$SECTION" "$OPTION"
101 [ -z "$_value" ] && _value
="$DEFAULT"
102 [ -n "$_value" ] && echo "$OPTION $_value"
111 config_get _value
"$SECTION" "$OPTION"
112 [ -z "$_value" ] && _value
="$DEFAULT"
113 [ -n "$_value" ] && echo "${ALIAS:-${OPTION}} "'"'"$_value"'"'
114 [ -n "$_value" -a "$OPTION" = "LogFile" ] && {
123 local TRUE
="${3:-On}"
124 local FALSE
="${4:-Off}"
126 config_get_bool _value
"$SECTION" "$OPTION" 0
127 [ "$_value" -eq "1" ] && _value
="$TRUE" || _value
="$FALSE"
128 echo "$OPTION $_value"
136 config_get _value
"$SECTION" "$OPTION"
137 [ -n "$_value" ] && {
138 for entry
in $_value; do
139 echo "$OPTION ${ENCLOSE}${entry}${ENCLOSE}"