mirror of
https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker.git
synced 2025-09-02 18:50:13 +00:00
165 lines
No EOL
6.3 KiB
Bash
Executable file
165 lines
No EOL
6.3 KiB
Bash
Executable file
#!/bin/bash
|
|
# Write Build / Version Number into README.md, AUTO-CONFIGURATION.md and MANUAL-CONFIGURATION.md files
|
|
# 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
|
|
|
|
# MIT License
|
|
|
|
# Copyright (c) 2017 Mitchell Krog - mitchellkrog@gmail.com
|
|
# https://github.com/mitchellkrogza
|
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
|
|
# The above copyright notice and this permission notice shall be included in all
|
|
# copies or substantial portions of the Software.
|
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
# SOFTWARE.
|
|
|
|
# ******************
|
|
# Set Some Variables
|
|
# ******************
|
|
|
|
YEAR=$(date +%Y)
|
|
MONTH=$(date +%m)
|
|
MY_GIT_TAG=V3.$YEAR.$MONTH.$TRAVIS_BUILD_NUMBER
|
|
BAD_REFERRERS=$(wc -l < $TRAVIS_BUILD_DIR/_generator_lists/bad-referrers.list)
|
|
BAD_BOTS=$(wc -l < $TRAVIS_BUILD_DIR/_generator_lists/bad-user-agents.list)
|
|
|
|
# **********************************
|
|
# Temporary database files we create
|
|
# **********************************
|
|
|
|
_inputdbA=/tmp/lastupdated.db
|
|
_tmpnginxA=tmpnginxA
|
|
|
|
# ***************************************************************
|
|
# Start and End Strings to Search for to do inserts into template
|
|
# ***************************************************************
|
|
|
|
_startmarker="##### Version Information #"
|
|
_endmarker="##### Version Information ##"
|
|
|
|
# ****************************************
|
|
# PRINT VERSION INFORMATION INTO README.md
|
|
# ****************************************
|
|
|
|
LASTUPDATEIFS=$IFS
|
|
IFS=$'\n'
|
|
now="$(date)"
|
|
end=$(date +%s.%N)
|
|
echo $_startmarker >> $_tmpnginxA
|
|
runtime=$(python -c "print(${end} - ${start})")
|
|
printf "********************************************\n#### Version: "$MY_GIT_TAG"\n#### Bad Referrer Count: "$BAD_REFERRERS"\n#### Bad Bot Count: "$BAD_BOTS"\n********************************************\n" >> $_tmpnginxA
|
|
echo $_endmarker >> $_tmpnginxA
|
|
IFS=$LASTUPDATEIFS
|
|
mv $_tmpnginxA $_inputdbA
|
|
ed -s $_inputdbA<<\IN
|
|
1,/##### Version Information #/d
|
|
/##### Version Information ##/,$d
|
|
,d
|
|
.r /home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/README.md
|
|
/##### Version Information #/x
|
|
.t.
|
|
.,/##### Version Information ##/-d
|
|
#,p
|
|
#,p used to print output replaced with w below to write
|
|
w /home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/README.md
|
|
q
|
|
IN
|
|
rm $_inputdbA
|
|
|
|
# ****************************************************
|
|
# PRINT VERSION INFORMATION INTO AUTO-CONFIGURATION.md
|
|
# ****************************************************
|
|
|
|
LASTUPDATEIFS2=$IFS
|
|
IFS=$'\n'
|
|
now="$(date)"
|
|
end=$(date +%s.%N)
|
|
echo $_startmarker >> $_tmpnginxA
|
|
runtime=$(python -c "print(${end} - ${start})")
|
|
printf "********************************************\n#### Version: "$MY_GIT_TAG"\n#### Bad Referrer Count: "$BAD_REFERRERS"\n#### Bad Bot Count: "$BAD_BOTS"\n********************************************\n" >> $_tmpnginxA
|
|
echo $_endmarker >> $_tmpnginxA
|
|
IFS=$LASTUPDATEIFS2
|
|
mv $_tmpnginxA $_inputdbA
|
|
ed -s $_inputdbA<<\IN
|
|
1,/##### Version Information #/d
|
|
/##### Version Information ##/,$d
|
|
,d
|
|
.r /home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/AUTO-CONFIGURATION.md
|
|
/##### Version Information #/x
|
|
.t.
|
|
.,/##### Version Information ##/-d
|
|
#,p
|
|
#,p used to print output replaced with w below to write
|
|
w /home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/AUTO-CONFIGURATION.md
|
|
q
|
|
IN
|
|
rm $_inputdbA
|
|
|
|
# ******************************************************
|
|
# PRINT VERSION INFORMATION INTO MANUAL-CONFIGURATION.md
|
|
# ******************************************************
|
|
|
|
LASTUPDATEIFS3=$IFS
|
|
IFS=$'\n'
|
|
now="$(date)"
|
|
end=$(date +%s.%N)
|
|
echo $_startmarker >> $_tmpnginxA
|
|
runtime=$(python -c "print(${end} - ${start})")
|
|
printf "********************************************\n#### Version: "$MY_GIT_TAG"\n#### Bad Referrer Count: "$BAD_REFERRERS"\n#### Bad Bot Count: "$BAD_BOTS"\n********************************************\n" >> $_tmpnginxA
|
|
echo $_endmarker >> $_tmpnginxA
|
|
IFS=$LASTUPDATEIFS3
|
|
mv $_tmpnginxA $_inputdbA
|
|
ed -s $_inputdbA<<\IN
|
|
1,/##### Version Information #/d
|
|
/##### Version Information ##/,$d
|
|
,d
|
|
.r /home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/MANUAL-CONFIGURATION.md
|
|
/##### Version Information #/x
|
|
.t.
|
|
.,/##### Version Information ##/-d
|
|
#,p
|
|
#,p used to print output replaced with w below to write
|
|
w /home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/MANUAL-CONFIGURATION.md
|
|
q
|
|
IN
|
|
rm $_inputdbA
|
|
|
|
|
|
exit 0
|
|
|
|
# MIT License
|
|
|
|
# Copyright (c) 2017 Mitchell Krog - mitchellkrog@gmail.com
|
|
# https://github.com/mitchellkrogza
|
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
|
|
# The above copyright notice and this permission notice shall be included in all
|
|
# copies or substantial portions of the Software.
|
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
# SOFTWARE. |