Minor bugfix

-N’affiche pas le rappel des sites down en cas d’url unique
-Corrections cosmétiques
This commit is contained in:
2024-11-02 07:30:42 +01:00
parent 00811ef98b
commit dc4987b75b

View File

@@ -29,6 +29,7 @@ port=443
nday=15 nday=15
# Choose the notification (pushover or gotify) # Choose the notification (pushover or gotify)
notif="pushover" notif="pushover"
x=0
not_required_domains="$HOME/Documents/Scripts/pihole/sync_pihole_lan.sh" not_required_domains="$HOME/Documents/Scripts/pihole/sync_pihole_lan.sh"
@@ -42,6 +43,12 @@ dotenv () {
dotenv dotenv
### Variables for self updating
ScriptArgs=( "$@" )
ScriptPath="$(readlink -f "$0")" # /Users/bruno/Documents/Scripts/bashbirds/bashbirds.sh
ScriptWorkDir="$(dirname "$ScriptPath")" # /Users/bruno/Documents/Scripts/bashbirds
send_gotify_notification() { send_gotify_notification() {
# Enabled HSTS & created default WebSocket records in the DSM 7.2 reverse proxy window and it solved itself. # Enabled HSTS & created default WebSocket records in the DSM 7.2 reverse proxy window and it solved itself.
@@ -78,11 +85,11 @@ send_pushover_notification() {
} }
status_error() { status_error() {
info_code=$(grep "$1" ./status.txt) info_code=$(grep "$1" "$ScriptWorkDir/status.txt")
status_code=$(echo "$info_code" | awk -F";" '{print $1}') status_code=$(echo "$info_code" | awk -F";" '{print $1}')
status_title=$(echo "$info_code" | awk -F";" '{print $2}') status_title=$(echo "$info_code" | awk -F";" '{print $2}')
status_url=$(echo "$info_code" | awk -F";" '{print $3}') status_url=$(echo "$info_code" | awk -F";" '{print $3}')
printf " %-3s %-25s %-95s \n" $status_code "$status_title" "$status_url" printf "%-3s %-25s %-95s" $status_code "$status_title" "$status_url"
} }
display_help() { display_help() {
@@ -109,15 +116,6 @@ display_help() {
exit 1 exit 1
} }
: << 'COMMENTS'
while [[ "$#" -gt 0 ]]; do
case $1 in
-h|--help) display_help; shift ;;
*) echo "Unknown parameter passed: $1" ;;
esac
shift
done
COMMENTS
optspec=":u:h-:" optspec=":u:h-:"
while getopts "$optspec" opt while getopts "$optspec" opt
@@ -130,7 +128,6 @@ do
;; ;;
url=*) url=*)
url=${OPTARG#*=} url=${OPTARG#*=}
#opt=${OPTARG%=$file}
opt="$(printf "%s\n" "${OPTARG}" | cut -d'=' -f1 )" ; url="$(printf "%s\n" "${OPTARG}" | cut -d'=' -f2-)" opt="$(printf "%s\n" "${OPTARG}" | cut -d'=' -f1 )" ; url="$(printf "%s\n" "${OPTARG}" | cut -d'=' -f2-)"
;; ;;
*) *)
@@ -155,22 +152,22 @@ done
shift "$((OPTIND-1))" shift "$((OPTIND-1))"
command -v showcertif >/dev/null 2>&1 || { echo -e "${bold}showcert${reset} is not installed ${italic}(pip install showcert)${reset}. ${bold}openssl${reset} will be used.\n" >&2; } command -v showcert >/dev/null 2>&1 || { echo -e "${bold}showcert${reset} is not installed ${italic}(pip install showcert)${reset}. ${bold}openssl${reset} will be used.\n" >&2; }
regex='(https?|ftp|file)://[-[:alnum:]\+&@#/%?=~_|!:,.;]+' regex='(https?|ftp|file)://[-[:alnum:]\+&@#/%?=~_|!:,.;]+'
if [[ $url =~ $regex ]]; then if [[ $url =~ $regex ]]; then
# L'URL passé en argument est checkée # L'URL passé en argument est checkée
urls+=("$url") urls+=("$url")
x=1
else else
# Chargement de la liste des urls depuis urls_list.txt # Chargement de la liste des urls depuis urls_list.txt
while read -r line while read -r line
do do
[ ${line:0:1} != "#" ] && urls+=("$line") [ ${line:0:1} != "#" ] && urls+=("$line")
done < ./urls_list.txt done < "$ScriptWorkDir/urls_list.txt"
# Ajout des domaines non-requis # Ajout des domaines non-requis
@@ -201,6 +198,7 @@ fi
# On efface la liste des urls down # On efface la liste des urls down
[ -f "./urls_down_list_curl.txt" ] && rm "./urls_down_list_curl.txt" [ -f "./urls_down_list_curl.txt" ] && rm "./urls_down_list_curl.txt"
[ -f "./certificats_outdated.txt" ] && rm "./certificats_outdated.txt" [ -f "./certificats_outdated.txt" ] && rm "./certificats_outdated.txt"
@@ -235,7 +233,7 @@ info_certif() {
domain=$(echo "$1" | grep -Eo '^http[s]?://[^/]+' | cut -c 9- ) domain=$(echo "$1" | grep -Eo '^http[s]?://[^/]+' | cut -c 9- )
if command -v showcertif >/dev/null 2>&1; then if command -v showcert >/dev/null 2>&1; then
cert=$(showcert "$domain") cert=$(showcert "$domain")
@@ -314,11 +312,12 @@ done
# Affichage des serveurs qui ne répondent pas # Affichage des serveurs qui ne répondent pas
if [ -f "./urls_down_list_curl.txt" ]; then if [ -f "./urls_down_list_curl.txt" ]; then
if [ "$x" -ne 1 ]; then
echo -e "\n${redbold}Url down: ${reset}" echo -e "\n${redbold}Url down: ${reset}"
cp "./urls_down_list_curl.txt" urls_down_list_curl.bak cp "./urls_down_list_curl.txt" urls_down_list_curl.bak
url_down=$(cat "./urls_down_list_curl.txt") url_down=$(cat "./urls_down_list_curl.txt")
echo -e "$url_down\n" echo -e "$url_down"
# On affiche uniquement les erreurs rencontrées # On affiche uniquement les erreurs rencontrées
for val in ${!array_responses[@]} for val in ${!array_responses[@]}
@@ -326,7 +325,8 @@ if [ -f "./urls_down_list_curl.txt" ]; then
a="${array_responses[$val]}" a="${array_responses[$val]}"
status_error "$a" status_error "$a"
done done
echo "" echo -e "\n"
fi
if [ "$notif" == "gotify" ];then if [ "$notif" == "gotify" ];then
msg_md="$url_down" msg_md="$url_down"