From 9bcc80f2bebd7687816d217c6c96916b0e49efc4 Mon Sep 17 00:00:00 2001 From: itdoginfo Date: Sat, 15 Feb 2025 19:17:59 +0300 Subject: [PATCH] Checking file uploads --- README.md | 1 + install.sh | 28 +++++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 801f126..27fc489 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,7 @@ Luci: Services/podkop - [ ] Диагностика: podkop_domains: 0 elements как проверять что доходят запросы при fakeip? Мб врубать логи dnsmasq и их чекать. - [ ] Сделать галку запрещающую подкопу редачить dhcp. Допилить в исключение вместе с пустыми полями proxy и vpn - [ ] Валидации предустановленных значений. Если прописаны другие, то вывод в лог о неизвестной переменной и продолжение работы +- [ ] Добавление в список доменов домены первого уровня (LuCI) Приоритет 2 - [x] Списки доменов и подсетей с роутера diff --git a/install.sh b/install.sh index eba151c..f9b685f 100755 --- a/install.sh +++ b/install.sh @@ -4,15 +4,37 @@ REPO="https://api.github.com/repos/itdoginfo/podkop/releases/latest" IS_SHOULD_RESTART_NETWORK= DOWNLOAD_DIR="/tmp/podkop" +COUNT=3 + +rm -rf "$DOWNLOAD_DIR" mkdir -p "$DOWNLOAD_DIR" main() { check_system - wget -qO- "$REPO" | grep -o 'https://[^"]*\.ipk' | while read -r url; do + wget -qO- "$REPO" | grep -o 'https://[^"[:space:]]*\.ipk' | while read -r url; do filename=$(basename "$url") - echo "Download $filename..." - wget -q -O "$DOWNLOAD_DIR/$filename" "$url" + filepath="$DOWNLOAD_DIR/$filename" + + attempt=0 + while [ $attempt -lt $COUNT ]; do + if [ -f "$filepath" ] && [ -s "$filepath" ]; then + echo "$filename has already been uploaded" + break + fi + + echo "Download $filename (count $((attempt+1)))..." + wget -q -O "$filepath" "$url" + + if [ -s "$filepath" ]; then + echo "$filename successfully downloaded" + break + else + echo "Download error $filename. Retry..." + rm -f "$filepath" + fi + attempt=$((attempt+1)) + done done echo "opkg update"