mirror of
https://github.com/pocopico/tinycore-redpill.git
synced 2025-09-15 12:51:13 +08:00
190 lines
5.7 KiB
Bash
190 lines
5.7 KiB
Bash
#!/bin/bash
|
|
|
|
function beginArray() {
|
|
|
|
case $1 in
|
|
|
|
\
|
|
DS3615xs)
|
|
permanent="LWN"
|
|
serialstart="1130 1230 1330 1430"
|
|
;;
|
|
DS3617xs)
|
|
permanent="ODN"
|
|
serialstart="1130 1230 1330 1430"
|
|
;;
|
|
DS916+)
|
|
permanent="NZN"
|
|
serialstart="1130 1230 1330 1430"
|
|
;;
|
|
DS918+)
|
|
permanent="PDN"
|
|
serialstart="1780 1790 1860 1980"
|
|
;;
|
|
DS920+)
|
|
permanent="SBR"
|
|
serialstart="2030 2040 20C0 2150"
|
|
;;
|
|
DS3622xsp)
|
|
permanent="SQR"
|
|
serialstart="2030 2040 20C0 2150"
|
|
;;
|
|
DS1621+)
|
|
permanent="S7R"
|
|
serialstart="2080"
|
|
;;
|
|
FS6400)
|
|
permanent="PSN"
|
|
serialstart="1960"
|
|
;;
|
|
DVA3219)
|
|
permanent="RFR"
|
|
serialstart="1930 1940"
|
|
;;
|
|
DVA3221)
|
|
permanent="SJR"
|
|
serialstart="2030 2040 20C0 2150"
|
|
;;
|
|
DVA1622)
|
|
permanent="SJR"
|
|
serialstart="2030 2040 20C0 2150"
|
|
;;
|
|
RS4021xs+)
|
|
permanent="T2R"
|
|
serialstart="2250"
|
|
;;
|
|
DS1522+)
|
|
permanent="TRR"
|
|
serialstart="2270"
|
|
;;
|
|
DS923+)
|
|
permanent="TQR"
|
|
serialstart="2270"
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
function random() {
|
|
printf "%06d" $(($RANDOM % 30000 + 1))
|
|
}
|
|
function randomhex() {
|
|
val=$(($RANDOM % 255 + 1))
|
|
echo "obase=16; $val" | bc
|
|
}
|
|
|
|
function generateRandomLetter() {
|
|
for i in a b c d e f g h j k l m n p q r s t v w x y z; do
|
|
echo $i
|
|
done | sort -R | tail -1
|
|
}
|
|
|
|
function generateRandomValue() {
|
|
for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f g h j k l m n p q r s t v w x y z; do
|
|
echo $i
|
|
done | sort -R | tail -1
|
|
}
|
|
|
|
function toupper() {
|
|
|
|
echo $1 | tr '[:lower:]' '[:upper:]'
|
|
|
|
}
|
|
|
|
function generateMacAddress() {
|
|
|
|
#toupper "Mac Address: 00:11:32:$(randomhex):$(randomhex):$(randomhex)"
|
|
if [ "$1" = "DS923+" ] || [ "$1" = "DS1522+" ] || [ "$1" = "RS4021xs+" ]; then
|
|
# DS1522+ and DS923+ Mac starts with 90:09:d0
|
|
printf '90:09:d0:%02X:%02X:%02X' $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256))
|
|
else
|
|
printf '00:11:32:%02X:%02X:%02X' $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256))
|
|
fi
|
|
|
|
}
|
|
|
|
function generateSerial() {
|
|
|
|
beginArray $1
|
|
|
|
case $1 in
|
|
|
|
DS3615xs)
|
|
serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random)
|
|
;;
|
|
DS3617xs)
|
|
serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random)
|
|
;;
|
|
DS916+)
|
|
serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random)
|
|
;;
|
|
DS918+)
|
|
serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random)
|
|
;;
|
|
FS6400)
|
|
serialnum="$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(random)
|
|
;;
|
|
DS920+)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DS3622xsp)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DS1621+)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DVA3219)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DVA3221)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DVA1622)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
RS4021xs+)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DS923+)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
DS1522+)
|
|
serialnum=$(toupper "$(echo "$serialstart" | tr ' ' '\n' | sort -R | tail -1)$permanent"$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter))
|
|
;;
|
|
esac
|
|
|
|
echo $serialnum
|
|
|
|
}
|
|
|
|
function showhelp() {
|
|
|
|
cat <<EOF
|
|
$(basename ${0})
|
|
|
|
----------------------------------------------------------------------------------------
|
|
Usage: ${0} <platform>
|
|
|
|
Available platforms :
|
|
----------------------------------------------------------------------------------------
|
|
DS3615xs DS3617xs DS916+ DS918+ DS920+ DS3622xsp FS6400 DVA3219 DVA3221 DS1621+ DVA1622 RS4021xs+ DS923+ DS1522+
|
|
|
|
e.g. $(basename ${0}) DS3615xs
|
|
----------------------------------------------------------------------------------------
|
|
EOF
|
|
|
|
}
|
|
|
|
if [ -z "$1" ]; then
|
|
showhelp
|
|
else
|
|
if [ "$1" = "DS3615xs" ] || [ "$1" = "DS3617xs" ] || [ "$1" = "DS916+" ] || [ "$1" = "DS918+" ] || [ "$1" = "DS920+" ] || [ "$1" = "DS3622xsp" ] || [ "$1" = "FS6400" ] || [ "$1" = "DVA3219" ] || [ "$1" = "DVA3221" ] || [ "$1" = "DS1621+" ] || [ "$1" = "DVA1622" ] || [ "$1" = "RS4021xs+" ] || [ "$1" = "DS923+" ] || [ "$1" = "DS1522+" ]; then
|
|
echo "Generating a random mac address : " $(generateMacAddress $1)
|
|
echo "Generating a Serial Number for Model $1: " $(generateSerial $1)
|
|
else
|
|
echo "Error : $1 is not an available model for serial number generation. "
|
|
echo "Available Models : DS3615xs DS3617xs DS916+ DS918+ DS920+ DS3622xsp DVA3219 DVA3221 DS1621+ DVA1622"
|
|
fi
|
|
fi
|