mirror of https://github.com/searxng/searxng.git
utils/filtron.sh: add option to debug filtron requests
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
91a55e159e
commit
0bb8847087
|
@ -61,6 +61,7 @@ usage:
|
||||||
$(basename "$0") activate [service]
|
$(basename "$0") activate [service]
|
||||||
$(basename "$0") deactivate [service]
|
$(basename "$0") deactivate [service]
|
||||||
$(basename "$0") inspect [service]
|
$(basename "$0") inspect [service]
|
||||||
|
$(basename "$0") option [debug-on|debug-off]
|
||||||
$(basename "$0") apache [install|remove]
|
$(basename "$0") apache [install|remove]
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,6 +78,8 @@ deactivate service
|
||||||
stop and deactivate service daemon (systemd unit)
|
stop and deactivate service daemon (systemd unit)
|
||||||
inspect service
|
inspect service
|
||||||
show service status and log
|
show service status and log
|
||||||
|
option
|
||||||
|
set one of the available options
|
||||||
apache
|
apache
|
||||||
install: apache site with a reverse proxy (ProxyPass)
|
install: apache site with a reverse proxy (ProxyPass)
|
||||||
remove: apache site ${APACHE_FILTRON_SITE}
|
remove: apache site ${APACHE_FILTRON_SITE}
|
||||||
|
@ -155,6 +158,13 @@ main() {
|
||||||
remove) remove_apache_site ;;
|
remove) remove_apache_site ;;
|
||||||
*) usage "$_usage"; exit 42;;
|
*) usage "$_usage"; exit 42;;
|
||||||
esac ;;
|
esac ;;
|
||||||
|
option)
|
||||||
|
sudo_or_exit
|
||||||
|
case $2 in
|
||||||
|
debug-on) echo; enable_debug ;;
|
||||||
|
debug-off) echo; disable_debug ;;
|
||||||
|
*) usage "$_usage"; exit 42;;
|
||||||
|
esac ;;
|
||||||
|
|
||||||
*) usage "ERROR: unknown or missing command $1"; exit 42;;
|
*) usage "ERROR: unknown or missing command $1"; exit 42;;
|
||||||
esac
|
esac
|
||||||
|
@ -378,7 +388,12 @@ EOF
|
||||||
err_msg "Public service at ${PUBLIC_URL} is not available!"
|
err_msg "Public service at ${PUBLIC_URL} is not available!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wait_key
|
local _debug_on
|
||||||
|
if ask_yn "Enable filtron debug mode?"; then
|
||||||
|
enable_debug
|
||||||
|
_debug_on=1
|
||||||
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
systemctl --no-pager -l status filtron.service
|
systemctl --no-pager -l status filtron.service
|
||||||
echo
|
echo
|
||||||
|
@ -388,9 +403,66 @@ EOF
|
||||||
trap break 2
|
trap break 2
|
||||||
journalctl -f -u filtron
|
journalctl -f -u filtron
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [[ $_debug_on == 1 ]]; then
|
||||||
|
disable_debug
|
||||||
|
fi
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
enable_debug() {
|
||||||
|
info_msg "try to enable debug mode ..."
|
||||||
|
python <<EOF
|
||||||
|
import sys, json
|
||||||
|
|
||||||
|
debug = {
|
||||||
|
u'name': u'debug request'
|
||||||
|
, u'filters': []
|
||||||
|
, u'interval': 0
|
||||||
|
, u'limit': 0
|
||||||
|
, u'actions': [{u'name': u'log'}]
|
||||||
|
}
|
||||||
|
|
||||||
|
with open('$FILTRON_RULES') as rules:
|
||||||
|
j = json.load(rules)
|
||||||
|
|
||||||
|
pos = None
|
||||||
|
for i in range(len(j)):
|
||||||
|
if j[i].get('name') == 'debug request':
|
||||||
|
pos = i
|
||||||
|
break
|
||||||
|
if pos is not None:
|
||||||
|
j[pos] = debug
|
||||||
|
else:
|
||||||
|
j.append(debug)
|
||||||
|
with open('$FILTRON_RULES', 'w') as rules:
|
||||||
|
json.dump(j, rules, indent=2, sort_keys=True)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
systemctl restart "${SERVICE_NAME}.service"
|
||||||
|
}
|
||||||
|
|
||||||
|
disable_debug() {
|
||||||
|
info_msg "try to disable debug mode ..."
|
||||||
|
python <<EOF
|
||||||
|
import sys, json
|
||||||
|
with open('$FILTRON_RULES') as rules:
|
||||||
|
j = json.load(rules)
|
||||||
|
|
||||||
|
pos = None
|
||||||
|
for i in range(len(j)):
|
||||||
|
if j[i].get('name') == 'debug request':
|
||||||
|
pos = i
|
||||||
|
break
|
||||||
|
if pos is not None:
|
||||||
|
del j[pos]
|
||||||
|
with open('$FILTRON_RULES', 'w') as rules:
|
||||||
|
json.dump(j, rules, indent=2, sort_keys=True)
|
||||||
|
EOF
|
||||||
|
systemctl restart "${SERVICE_NAME}.service"
|
||||||
|
}
|
||||||
|
|
||||||
install_apache_site() {
|
install_apache_site() {
|
||||||
|
|
||||||
rst_title "Install Apache site $APACHE_FILTRON_SITE"
|
rst_title "Install Apache site $APACHE_FILTRON_SITE"
|
||||||
|
|
|
@ -1,16 +1,4 @@
|
||||||
[{
|
[{
|
||||||
"name":"suspiciously frequent queries",
|
|
||||||
"filters":[
|
|
||||||
"Param:q",
|
|
||||||
"Path=^(/|/search)$"
|
|
||||||
],
|
|
||||||
"interval":120,
|
|
||||||
"limit":9,
|
|
||||||
"actions":[
|
|
||||||
{"name":"log"}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"search request",
|
"name":"search request",
|
||||||
"filters":[
|
"filters":[
|
||||||
"Param:q",
|
"Param:q",
|
||||||
|
|
Loading…
Reference in New Issue