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"'"'
119 local TRUE="${3:-On}"
120 local FALSE="${4:-Off}"
122 config_get_bool _value "$SECTION" "$OPTION" 0
123 [ "$_value" -eq "1" ] && _value="$TRUE" || _value="$FALSE"
124 echo "$OPTION $_value"
132 config_get _value "$SECTION" "$OPTION"
133 [ -n "$_value" ] && {
134 for entry in $_value; do
135 echo "$OPTION ${ENCLOSE}${entry}${ENCLOSE}"