|
@@ -28,6 +28,37 @@ function error_exit() {
|
|
exit $EXIT
|
|
exit $EXIT
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function internet() {
|
|
|
|
+ test_urls="\
|
|
|
|
+ https://www.google.com/ \
|
|
|
|
+ https://www.microsoft.com/ \
|
|
|
|
+ https://www.cloudflare.com/ \
|
|
|
|
+ "
|
|
|
|
+ processes="0"
|
|
|
|
+ pids=""
|
|
|
|
+ for test_url in $test_urls; do
|
|
|
|
+ curl --silent --head "$test_url" > /dev/null &
|
|
|
|
+ pids="$pids $!"
|
|
|
|
+ processes=$(($processes + 1))
|
|
|
|
+ done
|
|
|
|
+ while [ $processes -gt 0 ]; do
|
|
|
|
+ for pid in $pids; do
|
|
|
|
+ if ! ps | grep "^[[:blank:]]*$pid[[:blank:]]" > /dev/null; then
|
|
|
|
+ processes=$(($processes - 1))
|
|
|
|
+ pids=$(echo "$pids" | sed --regexp-extended "s/(^| )$pid($| )/ /g")
|
|
|
|
+
|
|
|
|
+ if wait $pid; then
|
|
|
|
+ kill -TERM $pids > /dev/null 2>&1 || true
|
|
|
|
+ wait $pids
|
|
|
|
+ return 0
|
|
|
|
+ fi
|
|
|
|
+ fi
|
|
|
|
+ done
|
|
|
|
+ sleep 0.1
|
|
|
|
+ done
|
|
|
|
+ return 1
|
|
|
|
+}
|
|
|
|
+
|
|
function msg_info() {
|
|
function msg_info() {
|
|
local msg="$1"
|
|
local msg="$1"
|
|
echo -ne " ${HOLD} ${YW}${msg}..."
|
|
echo -ne " ${HOLD} ${YW}${msg}..."
|
|
@@ -54,6 +85,12 @@ done
|
|
msg_ok "Set up Container OS"
|
|
msg_ok "Set up Container OS"
|
|
msg_ok "Network Connected: ${BL}$(hostname -I)"
|
|
msg_ok "Network Connected: ${BL}$(hostname -I)"
|
|
|
|
|
|
|
|
+if internet; then
|
|
|
|
+ msg_ok "Internet Online"
|
|
|
|
+else
|
|
|
|
+ echo -e "${BFR} {CROSS}${RD} Internet Offline"
|
|
|
|
+fi
|
|
|
|
+
|
|
msg_info "Updating Container OS"
|
|
msg_info "Updating Container OS"
|
|
apt update &>/dev/null
|
|
apt update &>/dev/null
|
|
apt-get -qqy upgrade &>/dev/null
|
|
apt-get -qqy upgrade &>/dev/null
|