usbip: move to github (closes #1259)
[feed/packages.git] / net / e2guardian / files / e2guardian.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2015 OpenWrt.org
3
4 START=90
5 STOP=10
6
7 USE_PROCD=1
8 PROG=/usr/sbin/e2guardian
9 CONFIGFILE="/tmp/e2guardian/e2guardian.conf"
10 LOGFILE="/tmp/e2guardian/access.log"
11 GROUPCONFIG="/tmp/e2guardian/e2guardianf1.conf"
12
13 validate_e2guardian_section() {
14 uci_validate_section e2guardian e2guardian "${1}" \
15 'accessdeniedaddress:string' \
16 'bannediplist:string' \
17 'contentscanexceptions:string' \
18 'contentscanner:string'
19 'contentscannertimeout:uinteger' \
20 'createlistcachefiles:string' \
21 'custombannedflashfile:string' \
22 'custombannedimagefile:string' \
23 'deletedownloadedtempfiles:string' \
24 'downloadmanager:string' \
25 'exceptioniplist:string' \
26 'filecachedir:string' \
27 'filtergroups:uinteger' \
28 'filtergroupslist:string' \
29 'filterip:ipaddr' \
30 'filterports:port:8080' \
31 'forcequicksearch:string' \
32 'forwardedfor:string' \
33 'hexdecodecontent:string' \
34 'initialtrickledelay:uinteger' \
35 'ipcfilename:string' \
36 'ipipcfilename:string' \
37 'languagedir:string' \
38 'language:string' \
39 'logadblocks:string' \
40 'logchildprocesshandling:string' \
41 'logclienthostnames:string' \
42 'logconnectionhandlingerrors:string' \
43 'logexceptionhits:range(0,2)' \
44 'logfileformat:range(1,6)' \
45 'loglevel:range(0,3)' \
46 'loglocation:string' \
47 'loguseragent:string' \
48 'maxagechildren:uinteger' \
49 'maxchildren:uinteger' \
50 'maxcontentfilecachescansize:uinteger' \
51 'maxcontentfiltersize:uinteger' \
52 'maxcontentramcachescansize:uinteger' \
53 'maxips:uinteger' \
54 'maxsparechildren:uinteger' \
55 'maxuploadsize:integer' \
56 'minchildren:uinteger' \
57 'minsparechildren:uinteger' \
58 'nodaemon:string' \
59 'nologger:string' \
60 'pcontimeout:range(5,300)' \
61 'perroomdirectory:string' \
62 'phrasefiltermode:range(0,3)' \
63 'prefercachedlists:string' \
64 'preforkchildren:uinteger' \
65 'preservecase:range(0,2)' \
66 'proxyexchange:range(20,300)' \
67 'proxyip:ipaddr' \
68 'proxyport:port:3128' \
69 'proxytimeout:range(5,100)' \
70 'recheckreplacedurls:string' \
71 'reverseaddresslookups:string' \
72 'reverseclientiplookups:string' \
73 'scancleancache:string' \
74 'showweightedfound:string' \
75 'softrestart:string' \
76 'trickledelay:uinteger' \
77 'urlcacheage:uinteger' \
78 'urlcachenumber:uinteger' \
79 'urlipcfilename:string' \
80 'usecustombannedflash:string' \
81 'usecustombannedimage:string' \
82 'usexforwardedfor:string' \
83 'weightedphrasemode:range(0,2)'
84 }
85
86 start_service() {
87
88 local accessdeniedaddress bannediplist contentscanexceptions contentscanner contentscannertimeout \
89 createlistcachefiles custombannedflashfile custombannedimagefile deletedownloadedtempfiles \
90 downloadmanager exceptioniplist filecachedir loglocation \
91 filtergroups filtergroupslist filterip filterports forcequicksearch forwardedfor hexdecodecontent \
92 initialtrickledelay ipcfilename ipipcfilename language languagedir logadblocks logchildprocesshandling \
93 logclienthostnames logconnectionhandlingerrors logexceptionhits logfileformat loglevel loguseragent \
94 maxagechildren maxchildren maxcontentfilecachescansize maxcontentfiltersize maxcontentramcachescansize \
95 maxips maxsparechildren maxuploadsize minchildren minsparechildren nodaemon nologger \
96 pcontimeout perroomdirectory phrasefiltermode prefercachedlists preforkchildren preservecase proxyexchange \
97 proxyip proxyport proxytimeout recheckreplacedurls reverseaddresslookups reverseclientiplookups scancleancache \
98 showweightedfound softrestart trickledelay urlcacheage urlcachenumber urlipcfilename usecustombannedflash \
99 usecustombannedimage usexforwardedfor weightedphrasemode
100
101 validate_e2guardian_section e2guardian || {
102 echo "validation failed"
103 return 1
104 }
105
106 mkdir -p $(dirname $CONFIGFILE)
107 chown -R nobody:nogroup $(dirname $CONFIGFILE)
108
109 mkdir -p $(dirname $loglocation)
110 chown -R nobody:nogroup $(dirname $loglocation)
111
112 touch $loglocation
113 chown nobody:nogroup $loglocation
114
115 ln -sf $loglocation $(dirname $LOGFILE)
116 ln -sf /etc/e2guardian/e2guardian.conf $CONFIGFILE
117 ln -sf /etc/e2guardian/e2guardianf1.conf $GROUPCONFIG
118
119 echo "accessdeniedaddress = " $accessdeniedaddress > $CONFIGFILE
120 echo "bannediplist = " $bannediplist >> $CONFIGFILE
121
122 if [ "$contentscanner" != "" ]
123 then
124 echo "contentscanner = " $contentscanner >> $CONFIGFILE
125 fi
126
127 echo "contentscanexceptions = " $contentscanexceptions >> $CONFIGFILE
128 echo "contentscannertimeout = " $contentscannertimeout >> $CONFIGFILE
129 echo "createlistcachefiles = " $createlistcachefiles >> $CONFIGFILE
130 echo "custombannedflashfile = " $custombannedflashfile >> $CONFIGFILE
131 echo "custombannedimagefile = " $custombannedimagefile >> $CONFIGFILE
132 echo "deletedownloadedtempfiles = " $deletedownloadedtempfiles >> $CONFIGFILE
133 echo "downloadmanager = " $downloadmanager >> $CONFIGFILE
134 echo "exceptioniplist = " $exceptioniplist >> $CONFIGFILE
135 echo "filecachedir = " $filecachedir >> $CONFIGFILE
136 echo "filtergroups = " $filtergroups >> $CONFIGFILE
137 echo "filtergroupslist = " $filtergroupslist >> $CONFIGFILE
138 echo "filterip = " $filterip >> $CONFIGFILE
139 echo "filterports = " $filterports >> $CONFIGFILE
140 echo "forcequicksearch = " $forcequicksearch >> $CONFIGFILE
141 echo "forwardedfor = " $forwardedfor >> $CONFIGFILE
142 echo "hexdecodecontent = " $hexdecodecontent >> $CONFIGFILE
143 echo "initialtrickledelay = " $initialtrickledelay >> $CONFIGFILE
144 echo "ipcfilename = " $ipcfilename >> $CONFIGFILE
145 echo "ipipcfilename = " $ipipcfilename >> $CONFIGFILE
146 echo "language = " $language >> $CONFIGFILE
147 echo "languagedir = " $languagedir >> $CONFIGFILE
148 echo "logadblocks = " $logadblocks >> $CONFIGFILE
149 echo "logchildprocesshandling = " $logchildprocesshandling >> $CONFIGFILE
150 echo "logclienthostnames = " $logclienthostnames >> $CONFIGFILE
151 echo "logconnectionhandlingerrors = " $logconnectionhandlingerrors >> $CONFIGFILE
152 echo "logexceptionhits = " $logexceptionhits >> $CONFIGFILE
153 echo "logfileformat = " $logfileformat >> $CONFIGFILE
154 echo "loglevel = " $loglevel >> $CONFIGFILE
155 echo "loglocation = " $loglocation >> $CONFIGFILE
156 echo "loguseragent = " $loguseragent >> $CONFIGFILE
157 echo "maxagechildren = " $maxagechildren >> $CONFIGFILE
158 echo "maxchildren = " $maxchildren >> $CONFIGFILE
159 echo "maxcontentfilecachescansize = " $maxcontentfilecachescansize >> $CONFIGFILE
160 echo "maxcontentfiltersize = " $maxcontentfiltersize >> $CONFIGFILE
161 echo "maxcontentramcachescansize = " $maxcontentramcachescansize >> $CONFIGFILE
162 echo "maxips = " $maxips >> $CONFIGFILE
163 echo "maxsparechildren = " $maxsparechildren >> $CONFIGFILE
164 echo "maxuploadsize = " $maxuploadsize >> $CONFIGFILE
165 echo "minchildren = " $minchildren >> $CONFIGFILE
166 echo "minsparechildren = " $minsparechildren >> $CONFIGFILE
167 echo "nodaemon = " $nodaemon >> $CONFIGFILE
168 echo "nologger = " $nologger >> $CONFIGFILE
169 echo "pcontimeout = " $pcontimeout >> $CONFIGFILE
170 echo "perroomdirectory = " $perroomdirectory >> $CONFIGFILE
171 echo "phrasefiltermode = " $phrasefiltermode >> $CONFIGFILE
172 echo "prefercachedlists = " $prefercachedlists >> $CONFIGFILE
173 echo "preforkchildren = " $preforkchildren >> $CONFIGFILE
174 echo "preservecase = " $preservecase >> $CONFIGFILE
175 echo "proxyexchange = " $proxyexchange >> $CONFIGFILE
176 echo "proxyip = " $proxyip >> $CONFIGFILE
177 echo "proxyport = " $proxyport >> $CONFIGFILE
178 echo "proxytimeout = " $proxytimeout >> $CONFIGFILE
179 echo "recheckreplacedurls = " $recheckreplacedurls >> $CONFIGFILE
180 echo "reverseaddresslookups = " $reverseaddresslookups >> $CONFIGFILE
181 echo "reverseclientiplookups = " $reverseclientiplookups >> $CONFIGFILE
182 echo "scancleancache = " $scancleancache >> $CONFIGFILE
183 echo "showweightedfound = " $showweightedfound >> $CONFIGFILE
184 echo "softrestart = " $softrestart >> $CONFIGFILE
185 echo "trickledelay = " $trickledelay >> $CONFIGFILE
186 echo "urlcacheage = " $urlcacheage >> $CONFIGFILE
187 echo "urlcachenumber = " $urlcachenumber >> $CONFIGFILE
188 echo "urlipcfilename = " $urlipcfilename >> $CONFIGFILE
189 echo "usecustombannedflash = " $usecustombannedflash >> $CONFIGFILE
190 echo "usecustombannedimage = " $usecustombannedimage >> $CONFIGFILE
191 echo "usexforwardedfor = " $usexforwardedfor >> $CONFIGFILE
192 echo "weightedphrasemode = " $weightedphrasemode >> $CONFIGFILE
193
194 procd_open_instance
195 procd_set_param command $PROG -c $CONFIGFILE
196 procd_set_param file $CONFIGFILE
197 procd_close_instance
198
199 }
200
201 stop_service()
202 {
203 PID=`cat /tmp/e2guardian/e2guardian.pid`
204 kill $PID
205 rm -f /tmp/e2guardian/e2guardian.pid
206 }
207
208 service_triggers()
209 {
210 procd_add_reload_trigger "e2guardian"
211 procd_add_validation validate_e2guardian_section
212 }