| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | #!/bin/shif [ $(id -u) -ne 0 ]; then   echo "This script must be run as root"    exit 1fiecho "checking dependencies..."if [ -f /etc/debian_version ]; then	install_cmd='apt-get install -y'elif [ -f /etc/alpine-release ]; then	install_cmd='apk --update add'elif [ -f /etc/centos-release ]; then	install_cmd='yum install -y'elif [ -f /etc/fedora-release ]; then	install_cmd='dnf install -y'else	install_cmd=''fiif [ -z "${install_cmd}" ]; then        echo "OS unsupported for automatic dependency install"	exit 1fidependencies="wireguard"set -- $dependencieswhile [ -n "$1" ]; do    echo $1	is_installed=$(dpkg-query -W --showformat='${Status}\n' $1 | grep "install ok installed")	if [ "${is_installed}" = "install ok installed" ]; then		echo "    " $1 is installed	else		echo "    " $1 is not installed. Attempting install.		${install_cmd} $1		sleep 5		is_installed=$(dpkg-query -W --showformat='${Status}\n' $1 | grep "install ok installed")          	if [ "${is_installed}" = "install ok installed" ]; then			echo "    " $1 is installed		elif [ -x "$(command -v $1)" ]; then			echo "    " $1 is installed		else			echo "    " FAILED TO INSTALL $1			echo "    " This may break functionality.		fi	fi	shiftdoneset -e[ -z "$KEY" ] && KEY=nokey;[ -z "$VERSION" ] && echo "no \$VERSION provided, fallback to latest" && VERSION=latest;[ "latest" != "$VERSION" ] && [ "v" != `echo $VERSION | cut -c1` ] && VERSION="v$VERSION"dist=netclientecho "OS Version = $(uname)"echo "Netclient Version = $VERSION"case $(uname | tr '[:upper:]' '[:lower:]') in	linux*)		if [ -z "$CPU_ARCH" ]; then			CPU_ARCH=$(uname -m)		fi		case $CPU_ARCH in			amd64)				dist=netclient			;;			x86_64)				dist=netclient			;;                        x86_32)                                dist=netclient-32                        ;; 			arm64)				dist=netclient-arm64			;;			aarch64)                                dist=netclient-arm64			;;			armv7l)                                dist=netclient-armv7			;;			arm*)				dist=netclient-$CPU_ARCH            		;;			*)				fatal "$CPU_ARCH : cpu architecture not supported"    		esac	;;	darwin)        	dist=netclient-darwin	;;esacecho "Binary = $dist"url="https://github.com/gravitl/netmaker/releases/download/$VERSION/$dist"if curl --output /dev/null --silent --head --fail "$url"; then	echo "Downloading $dist $VERSION"	wget -nv -O netclient $urlelse	echo "Downloading $dist latest"	wget -nv -O netclient https://github.com/gravitl/netmaker/releases/download/latest/$distfichmod +x netclientsudo ./netclient join -t $KEYrm -f netclient
 |