Files

76 lines
2.8 KiB
Bash
Raw Permalink Normal View History

2023-03-22 20:48:20 -04:00
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
2023-03-22 20:48:20 -04:00
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.tp-link.com/us/support/download/omada-software-controller/
2023-03-22 20:48:20 -04:00
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
2023-03-22 20:48:20 -04:00
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y jsvc
2023-06-15 11:31:31 -04:00
msg_ok "Installed Dependencies"
2025-11-20 13:01:41 +01:00
JAVA_VERSION="21" setup_java
if [[ "$(arch_resolve)" == "arm64" ]] || lscpu | grep -q 'avx'; then
MONGO_VERSION="8.0" setup_mongodb
else
2025-11-20 13:01:41 +01:00
msg_error "No AVX detected (CPU-Flag)! We have discontinued support for this. You are welcome to try it manually with a Debian LXC, but due to the many issues with Omada, we currently only support AVX CPUs."
exit 10
fi
if ! dpkg -l | grep -q 'libssl1.1'; then
msg_info "Installing libssl (if needed)"
# libssl1.1 is bullseye's last build, and the pinned filename rotted twice over:
# the point release moves on its own schedule, and bullseye left
# security.debian.org when its LTS ended. Take the newest build from whichever
# pool still carries one instead of hardcoding a name.
LIBSSL_ARCH=$(arch_resolve)
LIBSSL_URL=""
LIBSSL_DEB=""
for POOL in \
"https://security.debian.org/debian-security/pool/updates/main/o/openssl" \
"https://archive.debian.org/debian-security/pool/updates/main/o/openssl" \
"https://archive.debian.org/debian/pool/main/o/openssl"; do
FOUND=$(curl -fsSL "$POOL/" | grep -oE "libssl1\.1_[^\"<>]+_${LIBSSL_ARCH}\.deb" | sort -V | tail -n1 || true)
[[ -z "$FOUND" ]] && continue
# Newest across every pool, not the first hit: the security archive still
# only carries buster, whose 1.1.1n is older than bullseye's 1.1.1w.
if [[ -z "$LIBSSL_DEB" || "$(printf '%s\n%s\n' "$LIBSSL_DEB" "$FOUND" | sort -V | tail -n1)" == "$FOUND" ]]; then
LIBSSL_DEB="$FOUND"
LIBSSL_URL="$POOL/$FOUND"
fi
done
if [[ -z "$LIBSSL_URL" ]]; then
msg_error "No libssl1.1 package for ${LIBSSL_ARCH} found in any Debian pool"
exit 1
fi
curl_download "/tmp/libssl.deb" "$LIBSSL_URL"
$STD dpkg -i /tmp/libssl.deb
rm -f /tmp/libssl.deb
msg_ok "Installed libssl1.1"
fi
2023-06-15 11:31:31 -04:00
msg_info "Installing Omada Controller"
OMADA_URL=$(curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" "https://support.omadanetworks.com/en/download/software/omada-controller/" |
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
head -n1)
2026-05-11 23:17:04 -07:00
OMADA_PKG=$(basename "${OMADA_URL}")
curl_download "${OMADA_PKG}" "${OMADA_URL}"
2026-05-11 23:17:04 -07:00
$STD dpkg -i "${OMADA_PKG}"
rm -rf "${OMADA_PKG}"
VERSION=$(sed -n 's/.*_v\([0-9.]*\)_linux.*/\1/p' <<<"${OMADA_PKG}")
2026-05-11 23:17:04 -07:00
echo "${VERSION}" >$HOME/.omada
2024-01-16 05:48:39 -05:00
msg_ok "Installed Omada Controller"
2023-03-22 20:48:20 -04:00
motd_ssh
2023-05-15 07:39:30 -04:00
customize
2025-11-20 13:01:41 +01:00
cleanup_lxc