1 #!/bin/sh /etc/rc.common
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"
13 adb_init="/etc/init.d/adblock"
14 adb_script="/usr/bin/adblock.sh"
19 rc_procd start_service
24 if [ $("${adb_init}" enabled; printf "%u" ${?}) -eq 0 ]
26 if [ -n "${adb_boot}" ]
28 local trigger="$(uci_get adblock.global.adb_trigger)"
29 if [ "${trigger}" != "timed" ]
34 procd_open_instance "adblock"
35 procd_set_param command "${adb_script}" "${@}"
36 procd_set_param stdout 1
37 procd_set_param stderr 1
44 rc_procd start_service reload
49 rc_procd "${adb_script}" stop
50 rc_procd start_service
55 rc_procd start_service restart
60 rc_procd "${adb_script}" suspend
65 rc_procd "${adb_script}" resume
70 rc_procd "${adb_script}" query "${1}"
75 rc_procd "${adb_script}" status
80 local trigger="$(uci_get adblock.global.adb_trigger)"
81 local delay="$(uci_get adblock.global.adb_triggerdelay)"
83 if [ "${trigger}" != "none" ] && [ "${trigger}" != "timed" ]
85 PROCD_RELOAD_DELAY=$((${delay:=1} * 1000))
86 procd_add_interface_trigger "interface.*.up" "${trigger}" "${adb_init}" start
88 procd_add_reload_trigger "adblock"