adblock.init (1360B)
1 #!/bin/sh /etc/rc.common 2 # 3 4 START=90 5 USE_PROCD=1 6 7 EXTRA_COMMANDS="suspend resume query" 8 EXTRA_HELP=" suspend Suspend adblock processing 9 resume Resume adblock processing 10 query <DOMAIN> Query active blocklists for specific domain" 11 12 adb_init="/etc/init.d/adblock" 13 adb_script="/usr/bin/adblock.sh" 14 15 boot() 16 { 17 local list iface="$(uci -q get adblock.global.adb_iface)" 18 19 for name in ${iface} 20 do 21 list="${list} network.interface.${name}" 22 done 23 ubus -t 60 wait_for network.interface ${list} 24 rc_procd start_service 25 } 26 27 start_service() 28 { 29 if [ $("${adb_init}" enabled; printf ${?}) -eq 0 ] 30 then 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 } 43 44 restart() 45 { 46 rc_procd start_service restart 47 } 48 49 suspend() 50 { 51 rc_procd "${adb_script}" suspend 52 } 53 54 resume() 55 { 56 rc_procd "${adb_script}" resume 57 } 58 59 query() 60 { 61 rc_procd "${adb_script}" query "${1}" 62 } 63 64 service_triggers() 65 { 66 local iface="$(uci -q get adblock.global.adb_iface)" 67 68 for name in ${iface} 69 do 70 procd_add_interface_trigger "interface.*.up" "${name}" "${adb_init}" start 71 done 72 procd_add_config_trigger "config.change" "adblock" "${adb_init}" start 73 }