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 ubus -t 30 wait_for network.interface 2>/dev/null
20 rc_procd start_service
25 if [ $("${adb_init}" enabled; printf ${?}) -eq 0 ]
27 if [ -n "${adb_boot}" ]
31 procd_open_instance "adblock"
32 procd_set_param command "${adb_script}" "${@}"
33 procd_set_param stdout 1
34 procd_set_param stderr 1
41 rc_procd "${adb_script}" stop
42 rc_procd start_service
47 rc_procd start_service restart
52 rc_procd "${adb_script}" suspend
57 rc_procd "${adb_script}" resume
62 rc_procd "${adb_script}" query "${1}"
67 rc_procd "${adb_script}" status
72 local iface="$(uci -q get adblock.global.adb_iface)"
73 local delay="$(uci -q get adblock.global.adb_triggerdelay)"
75 PROCD_RELOAD_DELAY=$((${delay:=2} * 1000))
78 procd_add_interface_trigger "interface.*.up" "${name}" "${adb_init}" start
80 PROCD_RELOAD_DELAY=1000
81 procd_add_config_trigger "config.change" "adblock" "${adb_init}" start