Skip to content

Commit 188a13c

Browse files
committed
chore(project): transfer code
1 parent 19fe6d1 commit 188a13c

2 files changed

Lines changed: 67 additions & 1 deletion

File tree

src/bb-functions.d/network.sh

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env bash
2-
2+
# shellcheck disable=SC2154
33
# ==================================================================
44
# bb-functions.d/network
55
# ==================================================================
@@ -11,5 +11,50 @@
1111
# License: MIT License
1212
# Copyright: Copyright © 2023 Darren (Ragdata) Poulton
1313
# ==================================================================
14+
# DEPENDENCIES
15+
# ==================================================================
16+
# ==================================================================
1417
# FUNCTIONS
1518
# ==================================================================
19+
# ------------------------------------------------------------------
20+
# net::getCIDR
21+
# ------------------------------------------------------------------
22+
net::getCIDR()
23+
{
24+
[[ -z $1 ]] && errorExit "Cowardly refusing to calculate something for nothing!"
25+
26+
[[ ! $1 =~ $isIPv4 ]] && errorExit "You must input a standard netmask for this function (ie: 255.255.255.0)"
27+
28+
[[ $1 == "255.255.255.255" ]] && echo "/32"
29+
[[ $1 == "255.255.255.254" ]] && echo "/31"
30+
[[ $1 == "255.255.255.252" ]] && echo "/30"
31+
[[ $1 == "255.255.255.248" ]] && echo "/29"
32+
[[ $1 == "255.255.255.240" ]] && echo "/28"
33+
[[ $1 == "255.255.255.224" ]] && echo "/27"
34+
[[ $1 == "255.255.255.192" ]] && echo "/26"
35+
[[ $1 == "255.255.255.128" ]] && echo "/25"
36+
[[ $1 == "255.255.255.0" ]] && echo "/24"
37+
[[ $1 == "255.255.254.0" ]] && echo "/23"
38+
[[ $1 == "255.255.252.0" ]] && echo "/22"
39+
[[ $1 == "255.255.248.0" ]] && echo "/21"
40+
[[ $1 == "255.255.240.0" ]] && echo "/20"
41+
[[ $1 == "255.255.224.0" ]] && echo "/19"
42+
[[ $1 == "255.255.192.0" ]] && echo "/18"
43+
[[ $1 == "255.255.128.0" ]] && echo "/17"
44+
[[ $1 == "255.255.0.0" ]] && echo "/16"
45+
[[ $1 == "255.254.0.0" ]] && echo "/15"
46+
[[ $1 == "255.252.0.0" ]] && echo "/14"
47+
[[ $1 == "255.248.0.0" ]] && echo "/13"
48+
[[ $1 == "255.240.0.0" ]] && echo "/12"
49+
[[ $1 == "255.224.0.0" ]] && echo "/11"
50+
[[ $1 == "255.192.0.0" ]] && echo "/10"
51+
[[ $1 == "255.128.0.0" ]] && echo "/9"
52+
[[ $1 == "255.0.0.0" ]] && echo "/8"
53+
[[ $1 == "254.0.0.0" ]] && echo "/7"
54+
[[ $1 == "252.0.0.0" ]] && echo "/6"
55+
[[ $1 == "248.0.0.0" ]] && echo "/5"
56+
[[ $1 == "240.0.0.0" ]] && echo "/4"
57+
[[ $1 == "224.0.0.0" ]] && echo "/3"
58+
[[ $1 == "192.0.0.0" ]] && echo "/2"
59+
[[ $1 == "128.0.0.0" ]] && echo "/1"
60+
}

src/bb-functions.d/utility.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,27 @@ utility::checkDeps()
5151
# ------------------------------------------------------------------
5252
# ------------------------------------------------------------------
5353
utility::checkRoot() { [[ "$EUID" -ne 0 ]] && errorExit "This script MUST be run as root!"; }
54+
# ------------------------------------------------------------------
55+
# utility::getPassword
56+
# ------------------------------------------------------------------
57+
utility::getPassword()
58+
{
59+
local len="${1:-16}"
60+
local NUM_REGEX, CAP_REGEX, SML_REGEX, SYM_REGEX
61+
local passwd=""
62+
63+
NUM_REGEX='^.*[0-9]+.*$'
64+
CAP_REGEX='^.*[A-Z]+.*$'
65+
SML_REGEX='^.*[a-z]+.*$'
66+
SYM_REGEX='^[A-Za-z0-9]+[@#$%&_+=][A-Za-z0-9]+$'
67+
68+
while [[ ! $passwd =~ $NUM_REGEX ]] && [[ ! $passwd =~ $CAP_REGEX ]] && [[ ! $passwd =~ $SML_REGEX ]] && [[ ! $passwd =~ $SYM_REGEX ]]
69+
do
70+
passwd=$(tr </dev/urandom -dc 'A-Za-z0-9@#$%&_+=' | head -c "$len")
71+
done
72+
73+
echoLog "$passwd"
74+
}
5475
# ==================================================================
5576
# ALIAS FUNCTIONS
5677
# ==================================================================

0 commit comments

Comments
 (0)