Files
synology/certifs_services.sh
2025-01-03 07:39:33 +01:00

99 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
red="\033[1;31m"
greenbold="\033[1;32m"
green="\033[0;32m"
yellow="\033[0;33m"
bold="\033[1m"
#bold_under="\033[1;4m"
italic="\033[3m"
underline="\033[4m"
reset="\033[0m"
services=/Users/bruno/Downloads/SERVICES
info=/Users/bruno/Downloads/INFO
ser=$(cat "$services")
inf=$(cat "$info")
rp=()
ap=()
ot=()
echo -e "${greenbold}Reading $services${reset}\n"
printf "|${bold} %-40s ${reset}|${bold} %-20s ${reset}|${bold} %-60s ${reset}\n" "Display_name" "Subscriber" "Service"
while read line; do
display_name=$(echo "$line" | jq -r '.display_name')
subscriber=$(echo "$line" | jq -r '.subscriber')
service=$(echo "$line" | jq -r '.service')
# Supprimer les ""
#display_name="${display_name//\"/}"
printf "| %-40s | %-20s | %-60s \n" "$display_name" "$subscriber" "$service"
if [[ "$subscriber" == *ReverseProxy* ]]; then
rp+=("$display_name")
elif [[ "$subscriber" == *AppPortal* ]]; then
if [[ "$display_name" == *photos-nas.ovh* ]]; then
a=$(echo "$display_name" | awk -F" - " '{print $1}' | xargs)
b=$(echo "$display_name" | awk -F" - " '{print $2}' | xargs)
ap+=("$a")
rp+=("$b")
fi
else
if [[ "$display_name" == *photos-nas.ovh* ]]; then
if [[ "$display_name" =~ :[0-9]{1,5}$ ]]; then
c=$(echo "$display_name" | awk -F":" '{print $1}')
rp+=("$c")
else
rp+=("$display_name")
fi
else
ot+=("$display_name")
fi
fi
done < <(jq -c '.[]' <<< "$ser")
echo -e "\n\n"
IFS=$'\n'
reverseproxy=($(sort <<<"${rp[*]}"))
appportal=($(sort <<<"${ap[*]}"))
others=($(sort <<<"${ot[*]}"))
unset IFS
printf "| %-3s | ${bold}%-60s${reset} \n" "" "Reverse Proxy"
i=1
for val in ${!reverseproxy[@]}
do
printf "| %-3s | %-60s \n" "$i" "${reverseproxy[$val]}"
((i++))
done
echo -e "${italic}${#reverseproxy[@]} lines${reset}\n"
printf "| %-3s | ${bold}%-60s${reset} \n" "" "AppPortal"
i=1
for val in ${!appportal[@]}
do
printf "| %-3s | %-60s \n" "$i" "${appportal[$val]}"
((i++))
done
echo -e "${italic}${#appportal[@]} lines${reset}\n"
printf "| %-3s | ${bold}%-60s${reset} \n" "" "Others"
i=1
for val in ${!others[@]}
do
printf "| %-3s | %-60s \n" "$i" "${others[$val]}"
((i++))
done
echo -e "${italic}${#others[@]} lines${reset}\n"