2020-09-13 02:19:19 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
echo "Content-Type: text/plain"
|
|
|
|
echo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q=$(echo "$QUERY_STRING" | sed -n 's/^.*q=\([^&]*\).*$/\1/p' | sed "s/%20/ /g; s/%2F/\//g; s/%5C/\\\/g" | sed "s/+/ /g; s/%2B/+/")
|
|
|
|
|
|
|
|
if [[ $Q ]]
|
|
|
|
then
|
|
|
|
|
2020-11-04 16:58:32 +00:00
|
|
|
(grep "$Q" bl.txt lists/* || echo "# 0 Not found in blacklist") | head -n 1
|
2020-09-13 02:19:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
cat <<EOF
|
|
|
|
# shoxf bl
|
|
|
|
# to query this, simply use a ?q=<ip> query string
|
|
|
|
#
|
|
|
|
# shoxf bl outputs data in tsv format. a typical responce would look like:
|
2020-11-04 16:45:29 +00:00
|
|
|
# bl.txt:127.0.0.1
|
|
|
|
# but there is sometimes additional info after a <tab>
|
|
|
|
#
|
|
|
|
# if any lines not starting with # are seen,
|
|
|
|
# consider it listed
|
2020-09-13 02:19:19 +00:00
|
|
|
#
|
|
|
|
EOF
|
2020-11-04 16:58:32 +00:00
|
|
|
echo "# total listed ips: "$(wc -l bl.txt lists/* | tail -n 1)
|
2020-09-13 02:19:19 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
|