Fixed Generate Script

This commit is contained in:
2026-02-12 14:36:29 +00:00
parent 509cd9c332
commit 5de6b80794
13 changed files with 764 additions and 166 deletions

View File

@@ -0,0 +1,63 @@
#!/bin/bash
input="web_list.json"
output="web_check.json"
tmpfile=$(mktemp)
jq -c '.[]' "$input" | while read -r entry; do
host=$(echo "$entry" | jq -r '.host')
domain=$(echo "$entry" | jq -r '.domain')
path=$(echo "$entry" | jq -r '.path')
word=$(echo "$entry" | jq -r '.["word-to-check"]')
basic_auth=$(echo "$entry" | jq -r '.basic_auth')
user=$(echo "$entry" | jq -r '.basic_auth_name // empty')
pass=$(echo "$entry" | jq -r '.basic_auth_pass // empty')
[[ -z "$path" ]] && path="/"
# --- SSL check ---
ssl_info=$(echo | openssl s_client -servername "$domain" -connect "$domain:443" 2>/dev/null | openssl x509 -noout -dates -issuer)
ssl_released=$(echo "$ssl_info" | grep 'notBefore' | cut -d= -f2)
ssl_expiry=$(echo "$ssl_info" | grep 'notAfter' | cut -d= -f2)
ssl_company=$(echo "$ssl_info" | grep 'issuer' | sed -n 's/.*O=\([^,]*\).*/\1/p')
ssl_ok=0
if [[ $(date -d "$ssl_expiry" +%s) -gt $(date +%s) ]]; then ssl_ok=1; fi
# --- Content check ---
url="https://$domain$path"
if [[ "$basic_auth" == "true" ]]; then
content=$(curl -s -u "$user:$pass" "$url")
else
content=$(curl -s "$url")
fi
word_ok=0
[[ "$content" == *"$word"* ]] && word_ok=1
# --- Scrivi in tmp JSON ---
jq -n \
--arg host "$host" \
--arg domain "$domain" \
--arg path "$path" \
--arg word "$word" \
--argjson wordcheck_ok "$word_ok" \
--argjson sslcheck_ok "$ssl_ok" \
--arg ssl_released "$ssl_released" \
--arg ssl_expiry "$ssl_expiry" \
--arg ssl_company "$ssl_company" \
'{
host: $host,
domain: $domain,
path: $path,
wordtocheck: $word,
wordcheck_ok: $wordcheck_ok,
sslcheck_ok: $sslcheck_ok,
"ssl-released": $ssl_released,
"ssl-expiry": $ssl_expiry,
"ssl-company": $ssl_company
}' >> "$tmpfile"
done
# --- Combina in array JSON ---
jq -s '.' "$tmpfile" > "$output"
rm "$tmpfile"
echo "Check completato. Output salvato in $output"