From 78e7c1098abb917f11b390c71f7b69b7602548c0 Mon Sep 17 00:00:00 2001 From: Mitchell Krog Date: Sun, 23 Jun 2019 09:45:32 +0200 Subject: [PATCH] Introduce Random Bot Testing in Builds --- .dev-tools/test-blocker.sh | 25 +++++++--- .../test_units/random-bots-for-test.list | 50 +++++++++++++++++++ .../test_units/random-bots-for-test.tmp | 50 +++++++++++++++++++ random-bots-for-test.list | 0 test.sh | 15 ++++++ 5 files changed, 132 insertions(+), 8 deletions(-) create mode 100644 .dev-tools/test_units/random-bots-for-test.list create mode 100644 .dev-tools/test_units/random-bots-for-test.tmp create mode 100644 random-bots-for-test.list create mode 100755 test.sh diff --git a/.dev-tools/test-blocker.sh b/.dev-tools/test-blocker.sh index a5070742b..e0430cdc7 100755 --- a/.dev-tools/test-blocker.sh +++ b/.dev-tools/test-blocker.sh @@ -257,14 +257,23 @@ fi } run_curltest15 -#IFS=$'\n' read -d '' -r -a lines < ${TRAVIS_BUILD_DIR}/_generator_lists/bad-user-agents.list -#echo "${lines[@]}" -#IFS=$'\n' -#file=${TRAVIS_BUILD_DIR}/_generator_lists/bad-user-agents.list -#lines=`cat $file` -#for line in $lines; do -# curl -v -A "$line" http://localhost:9000 2>&1 -#done +#Test 50 Random User-Agents from Bad-User-Agents +shuf -n 50 ${TRAVIS_BUILD_DIR}/_generator_lists/bad-user-agents.list > ${TRAVIS_BUILD_DIR}/.dev-tools/test_units/random-bots-for-test.tmp +sed 's/\\//g' ${TRAVIS_BUILD_DIR}/.dev-tools/test_units/random-bots-for-test.tmp > ${TRAVIS_BUILD_DIR}/.dev-tools/test_units/random-bots-for-test.list +sudo rm ${TRAVIS_BUILD_DIR}/.dev-tools/test_units/random-bots-for-test.tmp + +echo "Testing 50 Random Bots" +IFS=$'\n' +file=${TRAVIS_BUILD_DIR}/.dev-tools/test_units/random-bots-for-test.list +lines=$(cat ${file}) +for line in ${lines}; do + if + curl -v -A "${line}" http://localhost:9000 2>&1 | grep -i '(52)'; then + echo "$(tput setaf 1)BAD BOT DETECTED - $(tput setaf 2)TEST PASSED" + else + echo "$(tput setaf 1)BAD REFERRER NOT DETECTED - TEST FAILED" + fi +done echo "Tests Completed" diff --git a/.dev-tools/test_units/random-bots-for-test.list b/.dev-tools/test_units/random-bots-for-test.list new file mode 100644 index 000000000..04a66de56 --- /dev/null +++ b/.dev-tools/test_units/random-bots-for-test.list @@ -0,0 +1,50 @@ +Steeler +SocialRankIOBot +PyCurl +Ecxi +eCatch +Indy Library +Twice +JetCar +Sqlworm +Craftbot +s1z.ru +UnisterBot +Gigablast +VidibleScraper +DIIbot +BDFetch +xpymep1.exe +seoscanners +MarkWatch +SuperBot +OrangeBot +page scorer +Nessus +Bolt +LeechFTP +RealDownload +NetSpider +HTMLparser +EMail Wolf +Pavuk +Likse +Spinn3r +Ltx71 +Aboundexbot +Picsearch +Mata Hari +JOC Web Spider +FemtosearchBot +MegaIndex.ru +Probethenet +ZumBot +EroCrawler +Humanlinks +PeoplePal +LinqiaScrapeBot +zauba.io +WebAuto +Niki-bot +OutclicksBot +SurveyBot diff --git a/.dev-tools/test_units/random-bots-for-test.tmp b/.dev-tools/test_units/random-bots-for-test.tmp new file mode 100644 index 000000000..64a4bbd95 --- /dev/null +++ b/.dev-tools/test_units/random-bots-for-test.tmp @@ -0,0 +1,50 @@ +Steeler +SocialRankIOBot +PyCurl +Ecxi +eCatch +Indy\ Library +Twice +JetCar +Sqlworm +Craftbot +s1z.ru +UnisterBot +Gigablast +VidibleScraper +DIIbot +BDFetch +xpymep1.exe +seoscanners +MarkWatch +SuperBot +OrangeBot +page\ scorer +Nessus +Bolt +LeechFTP +RealDownload +NetSpider +HTMLparser +EMail\ Wolf +Pavuk +Likse +Spinn3r +Ltx71 +Aboundexbot +Picsearch +Mata\ Hari +JOC\ Web\ Spider +FemtosearchBot +MegaIndex.ru +Probethenet +ZumBot +EroCrawler +Humanlinks +PeoplePal +LinqiaScrapeBot +zauba.io +WebAuto +Niki-bot +OutclicksBot +SurveyBot diff --git a/random-bots-for-test.list b/random-bots-for-test.list new file mode 100644 index 000000000..e69de29bb diff --git a/test.sh b/test.sh new file mode 100755 index 000000000..abfea9e0f --- /dev/null +++ b/test.sh @@ -0,0 +1,15 @@ +#!/bin/bash +echo "Testing 50 Random Bots" +IFS=$'\n' +file=/home/mitchellkrog/GIT/nginx-ultimate-bad-bot-blocker/.dev-tools/test_units/random-bots-for-test.list +lines=$(cat $file) +#echo ${lines} +for line in $lines; do + if + curl -v -A "${line}" http://localhost 2>&1 | grep -i '(52)'; then + echo "$(tput setaf 1)BAD BOT DETECTED - $(tput setaf 2)TEST PASSED" + else + echo "$(tput setaf 1)BAD REFERRER NOT DETECTED - TEST FAILED" + curl -v -A "${line}" http://localhost 2>&1 + fi +done