From ae51b7d00f6178fecd71531373a73662a9da1401 Mon Sep 17 00:00:00 2001 From: Bray <6+bray@noreply.localhost> Date: Fri, 23 Oct 2026 14:15:26 +0000 Subject: [PATCH] Upload files to "/" --- spg | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 spg diff --git a/spg b/spg new file mode 100644 index 0000000..48f6a08 --- /dev/null +++ b/spg @@ -0,0 +1,191 @@ +#!/bin/bash + +## 20260624-113809 + +## SYSTEM PROFILE GENERATOR +## deps: +#sudo apt install grep original-awk mawk gawk sed lm-sensors xsensors lshw inxi hardinfo memtester 7zip hashcat qrencode libreoffice + +sudo clear +ts=$(date +%Y-%m-%d-%T) +echo "================================================================================" +echo " SYSTEM PROFILE GENERATOR DATE: ${ts}" +echo "================================================================================" +## INITIAL DATA COLLECTION +sudo echo 1 > /sys/bus/pci/rescan +#dmi=$(sudo grep -r "" /sys/class/dmi/id/[bcp]*) +sn=$(sudo cat /sys/class/dmi/id/product_serial) +mfg=$(cat /sys/class/dmi/id/board_vendor) +mn=$(cat /sys/class/dmi/id/product_name) +uid=$(sudo cat /sys/class/dmi/id/product_uuid) +tag=$(sudo cat /sys/class/dmi/id/chassis_asset_tag) +cpu=$(sudo lshw -short | grep 'processor' | awk -F 'processor' '{print $2}' | sed 's/^[ \t]*//') +gpu=$(sudo lshw -short | grep -i 'display' | awk -F 'display' '{print $2}' | sed 's/^[ \t]*//') +ram=$(sudo lshw -short | grep -i 'system memory' | awk -F ' ' '{print $3}' | sed 's/^[ \t]*//') +drv=$(sudo lsblk -o NAME,TYPE,MODEL,SIZE,SERIAL -e 7 | grep -v '^[[:space:]]*MODEL' | grep '[^ ]') +sudo rm -rf ./.tmp/"$sn".log +sudo rm -rf ./.tmp/ +mkdir ./.tmp/ +sudo grep -r "" /sys/class/dmi/id/[bcp]* | tee ./.tmp/"$sn"-dmi +sudo lshw | tee -a ./.tmp/"$sn"-lshw +sudo inxi --dmidecode -ACDEGJMmNnRsxxxa | tee ./.tmp/"$sn"-inxi +sudo inxi -Bxxxa | tee -a ./.tmp/"$sn"-inxi +#sudo memtester 64 1 | tee ./.tmp/"$sn"-memtester +#sudo hardinfo2 -r | tee ./.tmp/"$sn"-hardinfo +clear +## REPORT START +echo "================================================================================" | tee -a ./.tmp/"$sn".log +echo " SYSTEM PROFILE S/N: $sn DATE: ${ts}" | tee -a ./.tmp/"$sn".log +echo "================================================================================" | tee -a ./.tmp/"$sn".log +echo " SERIAL: $sn" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " MODEL: $mn" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " MFG: $mfg" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " UUID: $uid" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " TAG: $tag" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " CPU: $cpu" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " GPU: $gpu" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " RAM: $ram" | tee -a ./.tmp/"$sn".log +echo "================================================================================" | tee -a ./.tmp/"$sn".log +echo " DRIVES: " | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo "$drv" | tee -a ./.tmp/"$sn".log +echo "================================================================================" | tee -a ./.tmp/"$sn".log +echo " SYSTEM DETAIL:" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +grep '' ./.tmp/"$sn"-inxi | tee -a ./.tmp/"$sn".log +#echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +#sudo inxi -Bxxxa | tee -a ./.tmp/"$sn".log +echo | tee -a ./.tmp/"$sn".log +echo "================================================================================" | tee -a ./.tmp/"$sn".log +echo " DRIVE DETAIL:" | tee -a ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +sudo hds | tee -a ./.tmp/"$sn".log +grep -v 'Hard Disk Se' ./.tmp/"$sn".log > temp && mv temp ./.tmp/"$sn".log +grep -v 'Start with' ./.tmp/"$sn".log > temp && mv temp ./.tmp/"$sn".log +grep -v 'Examining hard' ./.tmp/"$sn".log > temp && mv temp ./.tmp/"$sn".log +grep -v 'More info' ./.tmp/"$sn".log > temp && mv temp ./.tmp/"$sn".log +grep -v 'http://www.hdse' ./.tmp/"$sn".log > temp && mv temp ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" +echo " PRESS ENTER TO BENCHMARK, R FOR REPORT, Q TO RELOAD, OR E TO EXIT" +echo "================================================================================" | tee -a ./.tmp/"$sn".log +read -r -n 1 -s key + if [ "$key" = "R" ] || [ "$key" = "r" ]; then + #echo "================================================================================" | tee -a ./.tmp/"$sn".log + ## NOTES + echo | tee -a ./.tmp/"$sn".log + echo " ENTER NOTES TO INCLUDE:" + echo " NOTES:" | tee -a ./.tmp/"$sn".log + read -r note + echo " $note" >> ./.tmp/"$sn".log + echo | tee -a ./.tmp/"$sn".log + echo " TECH:" | tee -a ./.tmp/"$sn".log + read -r tech + echo " $tech" >> ./.tmp/"$sn".log + echo | tee -a ./.tmp/"$sn".log + echo "================================================================================" | tee -a ./.tmp/"$sn".log + ## REPORT END + echo " PRESS ENTER TO PRINT REPORT OR CTRL-C TO EXIT" + read -r -n1 + echo "================================================================================" + echo " GENERATING REPORT FILE: $sn.pdf..." + echo "--------------------------------------------------------------------------------" + #mkdir ./rp/ + soffice --headless --convert-to pdf --outdir ./ ./.tmp/"$sn".log + rm ./.tmp/"$sn".log + sudo rm -rf ./.tmp/ + qrencode -l H -o ./"$sn".png "$sn" + open ./"$sn".pdf; open ./"$sn".png + qrencode -t ANSI -o - "$sn" -s 1 -m 1 -M + echo "================================================================================" + read -r -n1 + exit + else + if [ "$key" = "q" ] || [ "$key" = "Q" ]; then + exec bash "$0" "$@" + else + if [ "$key" = "e" ] || [ "$key" = "E" ]; then + exit + fi + fi + fi +# BENCHMARKS +echo " BENCHMARK SCORES:" >> ./.tmp/"$sn".log +echo " BENCHMARKING..." +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " RUNNING 7-ZIP BENCHMARK..." +#echo "--------------------------------------------------------------------------------" +#echo " 7-ZIP: " >> ./.tmp/"$sn".log +szs=$(7z b | grep 'Tot:' | awk '{print $4}' | sed '$ s/$/ MIPS/'); echo " 7-ZIP SCORE: $szs (CPU)" | tee -a ./.tmp/"$sn".log +#echo " 7-ZIP SCORE:"; awk '/7-ZIP/ {getline; print}' ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " RUNNING HASHCAT BENCHMARK..." +#echo "--------------------------------------------------------------------------------" +#echo " HASHCAT: " >> ./.tmp/"$sn".log +hcs=$(hashcat -bm 0 -D 1,2,3 | grep 'Speed.#1.........:' | awk '{print $2,$3}'); echo " HASHCAT SCORE: $hcs (CPU/GPU)" | tee -a ./.tmp/"$sn".log +#echo " HASHCAT SCORE:"; awk '/HASHCAT/ {getline; print}' ./.tmp/"$sn".log +echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +echo " RUNNING GLMARK2 BENCHMARK..." +#echo "--------------------------------------------------------------------------------" +gms=$(glmark2 --annotate | grep -i 'score:' | awk -F: '{print $2}'); echo " GLMARK2 SCORE:"$gms"FPS (GPU)" | tee -a ./.tmp/"$sn".log +#echo " RUNNING OTHER BENCHMARKS..." +#echo "--------------------------------------------------------------------------------" +#hardinfo2 -r > ./.tmp/"$sn"-hardinfo +#echo "--------------------------------------------------------------------------------" +#echo " OTHER BENCHMARK SCORES: " | tee -a ./.tmp/"$sn".log +#echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +#grep -A 1 'CPU Blowfish-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +#grep -A 1 'CPU CryptoHash-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +#grep -A 1 'CPU Fibonacci-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +#grep -A 1 'CPU N-Queens-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +#grep -A 1 'CPU Zlib-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +#grep -A 1 'FPU FFT-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +#grep -A 1 'FPU Raytracing-' ./.tmp/"$sn"-hardinfo | tee -a ./.tmp/"$sn".log +#echo | tee -a ./.tmp/"$sn".log +## TESTS +#echo "================================================================================" | tee -a ./.tmp/"$sn".log +#echo " TESTS:" +#echo "--------------------------------------------------------------------------------" | tee -a ./.tmp/"$sn".log +#echo " MEMORY:" +#sudo memtester 64 1 | tee -a ./.tmp/"$sn".log ## CAUTION - LOG SPAM +echo "================================================================================" | tee -a ./.tmp/"$sn".log +## NOTES +echo | tee -a ./.tmp/"$sn".log +echo " ENTER NOTES TO INCLUDE:" +echo " NOTES:" | tee -a ./.tmp/"$sn".log +read -r note +echo " $note" >> ./.tmp/"$sn".log +echo | tee -a ./.tmp/"$sn".log +echo " TECH:" | tee -a ./.tmp/"$sn".log +read -r tech +echo " $tech" >> ./.tmp/"$sn".log +echo | tee -a ./.tmp/"$sn".log +echo "================================================================================" | tee -a ./.tmp/"$sn".log +## REPORT END +echo " PRESS ENTER TO PRINT REPORT OR CTRL-C TO EXIT" +read -r -n1 +echo "================================================================================" +echo " GENERATING REPORT FILE: $sn.pdf..." +echo "--------------------------------------------------------------------------------" +#mkdir ./rp/ +soffice --headless --convert-to pdf --outdir ./ ./.tmp/"$sn".log +rm ./.tmp/"$sn".log +sudo rm -rf ./.tmp/ +qrencode -l H -o ./"$sn".png "$sn" +open ./"$sn".pdf; open ./"$sn".png +qrencode -t ANSI -o - "$sn" -s 1 -m 1 -M +echo "================================================================================" +read -r -n1 +