From f0bd9152ef6cb9b5a312d20b93e004eaa84a86bf Mon Sep 17 00:00:00 2001 From: Niko Marmeladkov Date: Wed, 26 Aug 2026 12:11:19 +0300 Subject: [PATCH] =?UTF-8?q?install.sh:=20tr=20'[:space:]'=20->=20'=20\t\r\?= =?UTF-8?q?n'=20=E2=80=94=20=D1=81=D1=82=D0=B0=D1=80=D1=8B=D0=B5=20busybox?= =?UTF-8?q?=20=D0=BD=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=8E=D1=82=20POSIX-=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20=D0=B8=20=D0=B2=D1=8B=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=D0=B0=D1=8E=D1=82=20=D0=B1=D1=83=D0=BA=D0=B2=D1=8B?= =?UTF-8?q?=20=D0=B8=D0=B7=20=D0=BA=D1=80=D0=B5=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index a7dcf1b..689d6d9 100755 --- a/install.sh +++ b/install.sh @@ -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