The old inbound-admin-SSH layer was effectively dead: gated on config flags that don't exist (CFG_SSHKEY_*_ENABLED, CFG_REQUIREMENT_SSHREMOTE), its authorized_keys installer was unwired, and its download path (sshdownload container) was already retired. What remained reachable was either a no-op or a lockout footgun (disable-passwords with no working key install). Remove it whole: scripts/ssh/*, the four SSH requirement checks, the SSH tools menu, the dead webui SSH populater, and the unused ssh DB inserts; drop their calls from the start/requirements/menu flows. A fresh, WebUI-driven admin SSH access feature replaces it next. Also make generate_arrays.sh self-healing: prune files_*.sh whose source folder no longer exists (cleared the now-stale files_ssh.sh + an orphan files_api.sh) so removed areas don't linger in the sourced set. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: librelad <librelad@digitalangels.vip>
61 lines
1.9 KiB
Bash
Executable File
61 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
checkRequirements()
|
|
{
|
|
isHeader "Checking Requirements"
|
|
isNotice "Requirements are about to be installed."
|
|
isNotice "Edit the features config if you want to disable anything."
|
|
echo ""
|
|
|
|
checkRootRequirement;
|
|
checkCommandRequirement;
|
|
checkWireguardRequirement;
|
|
checkInstallTypeRequirement;
|
|
checkConfigRequirement;
|
|
checkPasswordsRequirement;
|
|
checkDatabaseRequirement;
|
|
checkDockerRequirement;
|
|
checkDockerComposeRequirement;
|
|
checkDockerRootlessRequirement;
|
|
checkDockerNetworkRequirement;
|
|
checkUFWRequirement;
|
|
checkUFWDRequirement;
|
|
checkManagerRequirement;
|
|
checkSSLCertsRequirement;
|
|
checkSwapfileRequirement;
|
|
checkCrontabRequirement;
|
|
checkWebUISystemdRequirement;
|
|
checkSuggestInstallsRequirement;
|
|
checkLibrePortalWebUIImageRequirement;
|
|
checkLibrePortalWebUIAppRequirement;
|
|
checkTraefikRequirement;
|
|
checkDockerSwitcherRequirement;
|
|
|
|
# `startPreInstall` already runs `startScan` at the end of its flow, so
|
|
# only call it again on the no-preinstall path. Otherwise every
|
|
# `libreportal run` that touches preinstall fires `webuiLibrePortalUpdate`
|
|
# twice (the lock file is removed at the end of each invocation, so the
|
|
# second call doesn't short-circuit — it does the full regen again).
|
|
if [[ "$preinstallneeded" -ne 0 ]]; then
|
|
startPreInstall;
|
|
else
|
|
startScan;
|
|
fi
|
|
|
|
# After load here
|
|
if [[ "$initial_command2" == "install" ]]; then
|
|
# Clear the install spam so the credentials are the first thing the
|
|
# user sees. The full transcript is preserved in $install_log_path.
|
|
# Stdout is teed to a log file (start.sh `exec > >(tee …)`), so we
|
|
# write the clear sequence straight to /dev/tty instead of relying
|
|
# on `[ -t 1 ]`, which is false under that redirect.
|
|
if [ -e /dev/tty ] && [ -t 0 ]; then
|
|
clear >/dev/tty 2>/dev/null || printf '\033c' >/dev/tty 2>/dev/null
|
|
fi
|
|
webuiDisplayLogins;
|
|
fi
|
|
|
|
if [[ "$initial_command2" == "terminal" ]]; then
|
|
resetToMenu;
|
|
fi
|
|
} |