diff --git a/README.md b/README.md index 4c4e5a9..d821503 100644 --- a/README.md +++ b/README.md @@ -177,14 +177,18 @@ tail -f /var/log/letsencrypt-regru/letsencrypt_regru.log ### Управление установкой ```bash -# Обновить приложение до последней версии +# Обновить приложение до последней версии (из локального репозитория) +cd configure_nginx_manager sudo bash letsencrypt_regru.sh update +# Обновить приложение одной командой (без клонирования) +curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash -s update + # Полностью удалить приложение (из репозитория) sudo bash letsencrypt_regru.sh uninstall # Удалить приложение одной командой (без клонирования) -sudo bash -c "$(curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh)" -- uninstall +curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash -s uninstall ``` ### Расположение файлов diff --git a/letsencrypt_regru.sh b/letsencrypt_regru.sh index 47a1c2a..0858367 100644 --- a/letsencrypt_regru.sh +++ b/letsencrypt_regru.sh @@ -532,13 +532,36 @@ display_summary() { update_application() { header "Обновление приложения" + local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + local github_raw_url="https://raw.githubusercontent.com/DFofanov/configure_nginx_manager/refs/heads/master" + msg_info "Остановка сервиса..." systemctl stop letsencrypt-regru.timer || true msg_info "Обновление файлов..." - local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - cp "${script_dir}/letsencrypt_regru_api.py" "${APP_DIR}/" - chmod 755 "${APP_DIR}/letsencrypt_regru_api.py" + + # Попытка скопировать локально или скачать с GitHub + if [ -f "${script_dir}/letsencrypt_regru_api.py" ]; then + msg_info "Копирование из локальной директории..." + cp "${script_dir}/letsencrypt_regru_api.py" "${APP_DIR}/" + chmod 755 "${APP_DIR}/letsencrypt_regru_api.py" + msg_ok "Файл скопирован локально" + else + msg_info "Локальный файл не найден, скачивание с GitHub..." + if command -v curl &> /dev/null; then + if curl -fsSL "${github_raw_url}/letsencrypt_regru_api.py" -o "${APP_DIR}/letsencrypt_regru_api.py"; then + chmod 755 "${APP_DIR}/letsencrypt_regru_api.py" + msg_ok "Файл успешно скачан с GitHub" + else + msg_error "Не удалось скачать файл с GitHub" + return 1 + fi + else + msg_error "Не установлен curl для скачивания файлов" + msg_info "Установите: sudo apt-get install curl" + return 1 + fi + fi msg_info "Обновление Python зависимостей..." source "${VENV_DIR}/bin/activate"