diff --git a/QUICK_START.md b/QUICK_START.md index ff7b4c2..ee03442 100644 --- a/QUICK_START.md +++ b/QUICK_START.md @@ -15,6 +15,11 @@ bash setup.sh exec bash ``` +Обновление всех AI-инструментов одной командой: +```bash +./setup.sh update +``` + ## 2. Настроить сеть (Amnezia + ru-bypass) Нужно один раз на каждой машине. .ru трафик идёт напрямую, diff --git a/README.md b/README.md index 2b293d2..2b0a839 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,15 @@ bash setup.sh exec bash ``` +### Обновление одной командой + +```bash +./setup.sh update # или: ./setup.sh --update +``` + +То же, что пункт меню `7) Обновить`: `git pull --ff-only` + перегенерация всех +`ai-*` лаунчеров через `scripts/ai-setup.sh`. Без аргументов открывается меню. + ## Сеть: ru-bypass + kill switch Полная документация: [`home-configs/network/README.md`](home-configs/network/README.md) diff --git a/setup.sh b/setup.sh index ee867db..d4a2dec 100755 --- a/setup.sh +++ b/setup.sh @@ -18,6 +18,34 @@ mkdir -p "$HOME/.config/ai-setup" LOG="$HOME/.config/ai-setup/setup.log" _log() { printf '%s [%s] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$1" "$2" >> "$LOG"; } +# Обновление: git pull + перегенерация всех ai-* лаунчеров (пункт меню 7) +do_update() { + local repo_dir + repo_dir="$(pwd)" + echo -e "${BLD}Обновляем репозиторий...${CLR}" + git -C "$repo_dir" pull --ff-only + echo "" + echo -e "${BLD}Перегенерация скриптов...${CLR}" + bash "$repo_dir/scripts/ai-setup.sh" +} + +# CLI-режим: ./setup.sh update (или --update) — обновление без меню +case "${1:-}" in + update|--update) + _log "setup" "update (CLI) на $(hostname)" + do_update + exit $? + ;; + "") + # без аргументов — интерактивное меню ниже + ;; + *) + echo "Неизвестный аргумент: $1" + echo "Использование: ./setup.sh [update] — без аргументов открывается меню" + exit 1 + ;; +esac + if command -v whiptail >/dev/null 2>&1; then MENU_ARGS=() MENU_ARGS+=("1" "AI-инструменты (установить лаунчеры + ключи)") @@ -248,12 +276,7 @@ case "$choice" in bash tests/test_network.sh ;; 7) - REPO_DIR="$(cd "$(dirname "$0")" && pwd)" - echo -e "${BLD}Обновляем репозиторий...${CLR}" - git -C "$REPO_DIR" pull --ff-only - echo "" - echo -e "${BLD}Перегенерация скриптов...${CLR}" - bash "$REPO_DIR/scripts/ai-setup.sh" + do_update ;; 8) bash scripts/ai-setup.sh