install.sh: tr '[:space:]' -> ' \t\r\n' — старые busybox не знают POSIX-классы и вырезают буквы из кредов

This commit is contained in:
Niko Marmeladkov 2026-08-26 12:11:19 +03:00
parent aeb8fd6077
commit f0bd9152ef
Signed by: Niko
GPG key ID: E3B955F9442D44E3

View file

@ -99,11 +99,13 @@ api_get() {
}
read_creds() {
# ВАЖНО: не использовать tr '[:space:]' — старые busybox не знают
# POSIX-классы и вырезают литеральные буквы из кредов
if [ -n "$NIKOVPN_CREDS" ]; then
CRED=$(printf '%s' "$NIKOVPN_CREDS" | tr -d '[:space:]')
CRED=$(printf '%s' "$NIKOVPN_CREDS" | tr -d ' \t\r\n')
else
[ -f "$CREDS_FILE" ] || die "нет кредов: запишите 'login:password' в $CREDS_FILE или задайте env NIKOVPN_CREDS"
CRED=$(grep -v '^[[:space:]]*#' "$CREDS_FILE" 2>/dev/null | grep -v '^[[:space:]]*$' | head -1 | tr -d '[:space:]')
CRED=$(grep -v '^[[:space:]]*#' "$CREDS_FILE" 2>/dev/null | grep -v '^[[:space:]]*$' | head -1 | tr -d ' \t\r\n')
[ -n "$CRED" ] || die "$CREDS_FILE пуст — запишите 'login:password'"
fi
case "$CRED" in *:*) ;; *) die "в кредах нет ':' — формат login:password" ;; esac