**example to receive adblock statistics via ubus:**
<pre><code>
-ubus call service list '{"name":"adblock_stats"}' | jsonfilter -e '@.*.instances.stats.env'
-This will output the overall domain count and the last runtime as JSON, i.e. { "blocked_domains": "136159", "last_rundate": "18.12.2016 20:49:03" }
+ubus call service list '{"name":"adblock_stats"}'
+This will output the active block lists, the overall domain count and the last runtime as JSON, i.e.:
+{
+ "adblock_stats": {
+ "instances": {
+ "stats": {
+ "running": false,
+ "command": [
+ ""
+ ],
+ "data": {
+ "active_lists": [
+ {
+ "adaway": "409",
+ "yoyo": "2368",
+ "disconnect": "3198"
+ }
+ ],
+ "blocked_domains": "5975",
+ "last_rundate": "30.12.2016 21:03:45"
+ }
+ }
+ }
+ }
+}
</code></pre>
**example cronjob for a regular block list update (/etc/crontabs/root):**
#
LC_ALL=C
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-adb_ver="2.0.2"
+adb_ver="2.0.3"
adb_enabled=1
adb_debug=0
adb_whitelist="/etc/adblock/adblock.whitelist"
rm -f "${adb_dnsdir}/${adb_dnsprefix}"*
rm -f "${adb_dir_backup}/${adb_dnsprefix}"*.gz
rm -rf "${adb_dnshidedir}"
- ubus call service delete "{\"name\":\"adblock_stats\",\"instances\":\"stats\"}"
+ ubus call service delete "{\"name\":\"adblock_stats\",\"instances\":\"stats\"}" 2>/dev/null
}
# f_dnsrestart: restart the dns server
cat "${src_name}" >> "${adb_tmpdir}/blocklist.overall"
cnt="$(wc -l < "${src_name}")"
sum_cnt=$((sum_cnt + cnt))
+ list="${src_name/*./}"
+ if [ -z "${sum_list}" ]
+ then
+ sum_list="\"${list}\":\"${cnt}\""
+ else
+ sum_list="${sum_list},\"${list}\":\"${cnt}\""
+ fi
done
f_dnsrestart
if [ "${dns_running}" = "true" ]
f_debug
f_rmtemp
f_log "info " "status ::: block lists with overall ${sum_cnt} domains loaded (${adb_sysver})"
- ubus call service set "{\"name\":\"adblock_stats\",\"instances\":{\"stats\":{\"env\":{\"blocked_domains\":\"${sum_cnt}\",\"last_rundate\":\"$(/bin/date "+%d.%m.%Y %H:%M:%S")\"}}}}"
+ ubus call service add "{\"name\":\"adblock_stats\",
+ \"instances\":{\"stats\":{\"command\":[\"\"],
+ \"data\":{\"blocked_domains\":\"${sum_cnt}\",
+ \"last_rundate\":\"$(/bin/date "+%d.%m.%Y %H:%M:%S")\",
+ \"active_lists\":[{${sum_list}}]}}}}"
exit 0
fi
f_log "error" "status ::: dns server restart with active block lists failed"