@ -1,4 +1,4 @@
#!/ usr/ bin/env ba sh
#!/ bin/sh
# Copyright (c) 2021-2023 tteck
# Copyright (c) 2021-2023 tteck
# Author: tteck (tteckster)
# Author: tteck (tteckster)
@ -7,7 +7,13 @@
if [ " $VERBOSE " = "yes" ] ; then set -x; STD = "" ; else STD = "silent" ; fi
if [ " $VERBOSE " = "yes" ] ; then set -x; STD = "" ; else STD = "silent" ; fi
silent( ) { " $@ " > /dev/null 2>& 1; }
silent( ) { " $@ " > /dev/null 2>& 1; }
if [ " $DISABLEIPV6 " = = "yes" ] ; then echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf; $STD sysctl -p; fi
if [ " $DISABLEIPV6 " = = "yes" ] ; then
$STD sysctl net.ipv6.conf.all.disable_ipv6= 1
$STD sysctl net.ipv6.conf.default.disable_ipv6= 1
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.d/99-sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.d/99-sysctl.conf
$STD sysctl -p /etc/sysctl.d/99-sysctl.conf
fi
YW = $( echo "\033[33m" )
YW = $( echo "\033[33m" )
RD = $( echo "\033[01;31m" )
RD = $( echo "\033[01;31m" )
BL = $( echo "\033[36m" )
BL = $( echo "\033[36m" )
@ -15,17 +21,18 @@ GN=$(echo "\033[1;92m")
CL = $( echo "\033[m" )
CL = $( echo "\033[m" )
RETRY_NUM = 10
RETRY_NUM = 10
RETRY_EVERY = 3
RETRY_EVERY = 3
i = $RETRY_NUM
CM = " ${ GN } ✓ ${ CL } "
CM = " ${ GN } ✓ ${ CL } "
CROSS = " ${ RD } ✗ ${ CL } "
CROSS = " ${ RD } ✗ ${ CL } "
BFR = "\\r\\033[K"
BFR = "\\r\\033[K"
HOLD = "-"
HOLD = "-"
set -Eeuo pipefail
set -Eeuo pipefail
trap 'error_handler $LINENO ' ERR
trap 'error_handler $LINENO "$BASH_COMMAND" ' ERR
function error_handler( ) {
function error_handler( ) {
local exit_code = " $? "
local exit_code = " $? "
local line_number = " $1 "
local line_number = " $1 "
local command = " $2 "
local command = " $2 "
local error_message = " ${ RD } [ERROR] ${ CL } in line ${ RD } $line_number ${ CL } : exit code ${ RD } $exit_code ${ CL } "
local error_message = " ${ RD } [ERROR] ${ CL } in line ${ RD } $line_number ${ CL } : exit code ${ RD } $exit_code ${ CL } : while executing command ${ YW } $command ${ CL } "
echo -e " \n $error_message \n "
echo -e " \n $error_message \n "
}
}
@ -44,8 +51,36 @@ function msg_error() {
echo -e " ${ BFR } ${ CROSS } ${ RD } ${ msg } ${ CL } "
echo -e " ${ BFR } ${ CROSS } ${ RD } ${ msg } ${ CL } "
}
}
msg_info "Setting up Container OS "
while [ $i -gt 0 ] ; do
if [ " $( ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1) " != "" ] ; then
break
fi
echo 1>& 2 -en " ${ CROSS } ${ RD } No Network! "
sleep $RETRY_EVERY
i = $(( i-1))
done
if [ " $( ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1) " = "" ] ; then
echo 1>& 2 -e " \n ${ CROSS } ${ RD } No Network After $RETRY_NUM Tries ${ CL } "
echo -e " 🖧 Check Network Settings"
exit 1
fi
msg_ok "Set up Container OS"
msg_ok " Network Connected: ${ BL } $( ip addr show | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1 | tail -n1) ${ CL } "
set +e
set +e
trap - ERR
trap - ERR
if ping -c 1 -W 1 1.1.1.1 & > /dev/null; then msg_ok "Internet Connected" ; else
msg_error "Internet NOT Connected"
read -r -p "Would you like to continue anyway? <y/N> " prompt
if [ [ $prompt = = "y" || $prompt = = "Y" || $prompt = = "yes" || $prompt = = "Yes" ] ] ; then
echo -e " ⚠️ ${ RD } Expect Issues Without Internet ${ CL } "
else
echo -e " 🖧 Check Network Settings"
exit 1
fi
fi
RESOLVEDIP = $( getent hosts github.com | awk '{ print $1 }' )
RESOLVEDIP = $( getent hosts github.com | awk '{ print $1 }' )
if [ [ -z " $RESOLVEDIP " ] ] ; then msg_error "DNS Lookup Failure" ; else msg_ok " DNS Resolved github.com to ${ BL } $RESOLVEDIP ${ CL } " ; fi
if [ [ -z " $RESOLVEDIP " ] ] ; then msg_error "DNS Lookup Failure" ; else msg_ok " DNS Resolved github.com to ${ BL } $RESOLVEDIP ${ CL } " ; fi