Revert package feed back
[librecmc/package-feed.git] / net / adblock / files / adblock.init
1 #!/bin/sh /etc/rc.common
2 #
3
4 START=50
5 USE_PROCD=1
6
7 EXTRA_COMMANDS="suspend resume query status"
8 EXTRA_HELP="    suspend Suspend adblock processing
9         resume  Resume adblock processing
10         query   <DOMAIN> Query active blocklists for specific domains
11         status  Print runtime information"
12
13 adb_init="/etc/init.d/adblock"
14 adb_script="/usr/bin/adblock.sh"
15
16 boot()
17 {
18     adb_boot=1
19     ubus -t 30 wait_for network.interface 2>/dev/null
20     rc_procd start_service
21 }
22
23 start_service()
24 {
25     if [ $("${adb_init}" enabled; printf ${?}) -eq 0 ]
26     then
27         if [ -n "${adb_boot}" ]
28         then
29             return 0
30         fi
31         procd_open_instance "adblock"
32         procd_set_param command "${adb_script}" "${@}"
33         procd_set_param stdout 1
34         procd_set_param stderr 1
35         procd_close_instance
36     fi
37 }
38
39 stop_service()
40 {
41     rc_procd "${adb_script}" stop
42     rc_procd start_service
43 }
44
45 restart()
46 {
47     rc_procd start_service restart
48 }
49
50 suspend()
51 {
52     rc_procd "${adb_script}" suspend
53 }
54
55 resume()
56 {
57     rc_procd "${adb_script}" resume
58 }
59
60 query()
61 {
62     rc_procd "${adb_script}" query "${1}"
63 }
64
65 status()
66 {
67     rc_procd "${adb_script}" status
68 }
69
70 service_triggers()
71 {
72     local iface="$(uci -q get adblock.global.adb_iface)"
73     local delay="$(uci -q get adblock.global.adb_triggerdelay)"
74
75     PROCD_RELOAD_DELAY=$((${delay:=2} * 1000))
76     for name in ${iface}
77     do
78         procd_add_interface_trigger "interface.*.up" "${name}" "${adb_init}" start
79     done
80     PROCD_RELOAD_DELAY=1000
81     procd_add_config_trigger "config.change" "adblock" "${adb_init}" start
82 }