1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2008 OpenWrt.org
5 DAEMON
=/usr
/sbin
/tinyproxy
6 CFGFILE
=/var
/etc
/tinyproxy.conf
10 config_foreach start_proxy tinyproxy
14 start-stop-daemon
-q -x "$DAEMON" -K
19 config_get_bool
enable "$1" enable
20 [ "$enable" -eq "1" ] ||
return 0
23 echo '### AUTOGENERATED CONFIGURATION' > $CFGFILE
24 echo '### DO NOT EDIT' >> $CFGFILE
25 echo '### SEE /etc/config/tinyproxy INSTEAD' >> $CFGFILE
28 proxy_atom
"$1" User
>> $CFGFILE
29 proxy_atom
"$1" Group
>> $CFGFILE
30 proxy_atom
"$1" Port
8888 >> $CFGFILE
31 proxy_atom
"$1" Listen
>> $CFGFILE
32 proxy_atom
"$1" Bind
>> $CFGFILE
33 proxy_atom
"$1" Timeout
>> $CFGFILE
35 proxy_string
"$1" ErrorFile_400
"ErrorFile 400" >> $CFGFILE
36 proxy_string
"$1" ErrorFile_403
"ErrorFile 403" >> $CFGFILE
37 proxy_string
"$1" ErrorFile_404
"ErrorFile 404" >> $CFGFILE
38 proxy_string
"$1" ErrorFile_408
"ErrorFile 408" >> $CFGFILE
39 proxy_string
"$1" ErrorFile_503
"ErrorFile 503" >> $CFGFILE
41 proxy_string
"$1" DefaultErrorFile
>> $CFGFILE
42 proxy_string
"$1" StatFile
>> $CFGFILE
43 proxy_string
"$1" Logfile
>> $CFGFILE
45 proxy_flag
"$1" SysLog
>> $CFGFILE
47 proxy_atom
"$1" LogLevel
>> $CFGFILE
49 proxy_list
"$1" XTinyproxy
>> $CFGFILE
51 proxy_atom
"$1" MaxClients
>> $CFGFILE
52 proxy_atom
"$1" MinSpareServers
>> $CFGFILE
53 proxy_atom
"$1" MaxSpareServers
>> $CFGFILE
54 proxy_atom
"$1" StartServers
>> $CFGFILE
55 proxy_atom
"$1" MaxRequestsPerChild
>> $CFGFILE
56 proxy_list
"$1" Allow
>> $CFGFILE
58 proxy_string
"$1" ViaProxyName
>> $CFGFILE
59 proxy_string
"$1" Filter
>> $CFGFILE
61 proxy_flag
"$1" FilterURLs
>> $CFGFILE
62 proxy_flag
"$1" FilterExtended
>> $CFGFILE
63 proxy_flag
"$1" FilterCaseSensitive
>> $CFGFILE
64 proxy_flag
"$1" FilterDefaultDeny Yes No
>> $CFGFILE
66 proxy_list
"$1" Anonymous
'"' >> $CFGFILE
67 proxy_list
"$1" ConnectPort
>> $CFGFILE
69 config_foreach write_upstream upstream
71 start-stop-daemon
-q -x "$DAEMON" -S -- -c "$CFGFILE"
79 config_get
"type" "$1" "type"
80 config_get via
"$1" via
81 config_get target
"$1" target
82 [ -n "$target" ] && target
=' "'"$target"'"'
84 [ "$type" == "proxy" -a -n "$via" ] && \
85 echo "upstream $via$target" >> $CFGFILE
87 [ "$type" == "reject" -a -n "$target" ] && \
88 echo "no upstream$target" >> $CFGFILE
96 config_get _value
"$SECTION" "$OPTION"
97 [ -z "$_value" ] && _value
="$DEFAULT"
98 [ -n "$_value" ] && echo "$OPTION $_value"
106 config_get _value
"$SECTION" "$OPTION"
107 [ -n "$_value" ] && echo "${ALIAS:-${OPTION}} "'"'"$_value"'"'
113 local TRUE
="${3:-On}"
114 local FALSE
="${4:-Off}"
116 config_get_bool _value
"$SECTION" "$OPTION"
117 [ "$_value" -eq "1" ] && _value
="$TRUE" || _value
="$FALSE"
118 echo "$OPTION $_value"
126 config_get _value
"$SECTION" "$OPTION"
127 [ -n "$_value" ] && {
128 for entry
in $_value; do
129 echo "$OPTION ${ENCLOSE}${entry}${ENCLOSE}"