adblock: release 2.0.0
[feed/packages.git] / net / adblock / files / adblock.init
1 #!/bin/sh /etc/rc.common
2 #
3
4 START=90
5 USE_PROCD=1
6
7 EXTRA_COMMANDS="suspend resume"
8 EXTRA_HELP=" suspend Suspend adblock processing
9 resume Resume adblock processing"
10
11 adb_script="/usr/bin/adblock.sh"
12 adb_iface="$(uci -q get adblock.global.adb_iface)"
13
14 boot()
15 {
16 local wanif4 wanif6
17
18 ubus -t 30 wait_for network.interface
19 if [ ${?} -eq 0 ]
20 then
21 . "/lib/functions/network.sh"
22 network_find_wan wanif4
23 network_find_wan6 wanif6
24 if [ -n "${wanif4}" ] || [ -n "${wanif6}" ]
25 then
26 rc_procd start_service
27 else
28 rc_procd service_triggers
29 fi
30 fi
31 }
32
33 start_service()
34 {
35 if [ $(/etc/init.d/adblock enabled; printf ${?}) -eq 0 ]
36 then
37 procd_open_instance "adblock"
38 procd_set_param env adb_procd="true"
39 procd_set_param command "${adb_script}" "${@}"
40 procd_set_param stdout 1
41 procd_set_param stderr 1
42 procd_close_instance
43 fi
44 }
45
46 reload_service()
47 {
48 rc_procd start_service reload
49 }
50
51 stop_service()
52 {
53 export adb_procd="true"
54 rc_procd "${adb_script}" stop
55 }
56
57 suspend()
58 {
59 rc_procd start_service suspend
60 }
61
62 resume()
63 {
64 rc_procd start_service resume
65 }
66
67 service_triggers()
68 {
69 local iface
70
71 procd_add_config_trigger "config.change" "adblock" /etc/init.d/adblock start
72
73 if [ -z "${adb_iface}" ]
74 then
75 procd_add_raw_trigger "interface.*.up" 1000 /etc/init.d/adblock start
76 else
77 for iface in ${adb_iface}
78 do
79 procd_add_interface_trigger "interface.*.up" "${iface}" /etc/init.d/adblock start
80 done
81 fi
82 }