nginx-ultimate-bad-bot-blocker/.dev-tools/test-blocker-whitelist.sh
2019-06-24 09:26:35 +02:00

73 lines
3.1 KiB
Bash
Executable file

#!/bin/bash
# Curl Testing Script for Nginx Ultimate Bad Bot Blocker
# Created by: Mitchell Krog (mitchellkrog@gmail.com)
# Copyright: Mitchell Krog - https://github.com/mitchellkrogza
# Repo Url: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker
##############################################################################
# _ __ _ #
# / |/ /__ _(_)__ __ __ #
# / / _ `/ / _ \\ \ / #
# /_/|_/\_, /_/_//_/_\_\ #
# __/___/ __ ___ __ ___ __ __ #
# / _ )___ ____/ / / _ )___ / /_ / _ )/ /__ ____/ /_____ ____ #
# / _ / _ `/ _ / / _ / _ \/ __/ / _ / / _ \/ __/ '_/ -_) __/ #
# /____/\_,_/\_,_/ /____/\___/\__/ /____/_/\___/\__/_/\_\\__/_/ #
# #
##############################################################################
echo "Whitelist Tests Starting"
echo "Activating Users User-Agents Whitelist/Blacklist"
sudo cp ${TRAVIS_BUILD_DIR}/.dev-tools/test_units/blacklist-user-agents.conf /etc/nginx/bots.d/blacklist-user-agents.conf
echo "Activating Users Referrers Whitelist/Blacklist"
sudo cp ${TRAVIS_BUILD_DIR}/.dev-tools/test_units/custom-bad-referrers.conf /etc/nginx/bots.d/custom-bad-referrers.conf
echo "Reloading Nginx"
sudo nginx -t && sudo nginx -s reload
echo "Sleeping for 30 seconds to allow Nginx Properly Reload inside Travis"
sleep 30s
# *******************************************************
# Function Curl Test 1 - Test User Whitelist for "Nutch"
# *******************************************************
run_curltest1 () {
printf '\n%s\n%s\n%s\n\n' "#########################" "TESTING USER WHITELIST" "#########################"
if curl -v -A "Nutch" http://localhost:9000 2>&1 | grep -i 'Welcome'; then
echo "$(tput setaf 2)WHITELISTING OF BAD BOT ALLOWED - TEST PASSED"
else
echo "$(tput setaf 1)WHITELISTING FAILED - TEST FAILED"
#exit 1
curl -v -A "Nutch" http://localhost:9000 2>&1
fi
}
run_curltest1
# **************************************************************
# Function Curl Test 2 - Check for Whitelisted Referrer "zx6.ru"
# **************************************************************
run_curltest2 () {
printf '\n%s\n%s\n%s\n\n' "##############################" "TESTING BAD REFERRER IS DENIED" "##############################"
if curl http://localhost:9000 -e http://zx6.ru 2>&1 | grep -i 'Welcome'; then
echo "$(tput setaf 2)WHITELISTING OF REFERRER ALLOWED - TEST PASSED"
else
echo "$(tput setaf 1)WHITELISTING REFERRER FAILED - TEST FAILED"
#exit 1
curl http://localhost:9000 -e http://zx6.ru 2>&1
fi
}
run_curltest2
echo "Whitelist Tests Completed"
# **********************
# Exit With Error Number
# **********************
exit ${?}