From e64e269efbab1dbf6efc3462f3675e86e61de71c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=B1=D1=8B=D1=80=D0=B5=D0=B2=20=D0=90=D0=BD?= =?UTF-8?q?=D0=B4=D1=80=D0=B5=D0=B9?= Date: Fri, 23 Oct 2026 04:42:34 +0300 Subject: [PATCH] install: two sources (git.bobyrev.com, GitHub), first that answers Co-Authored-By: Claude Opus 5.5 --- README.md | 9 +++++++-- scripts/install.sh | 31 +++++++++++++++++++++++-------- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 70ba1fe..dae0749 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,19 @@ **Установка** (Ubuntu 22.04/24.04, Debian 12, под root; Docker поставится сам): ```bash +# основной адрес curl -fsSL https://git.bobyrev.com/PCA/amnezia_web-PRO/raw/branch/main/scripts/install.sh | sudo bash +# запасной — GitHub (если основной недоступен) +curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO/main/scripts/install.sh | sudo bash ``` -Панель: `http://IP:8080`, вход — пароль `admin` (смените сразу). Код — [git.bobyrev.com/PCA/amnezia_web-PRO](https://git.bobyrev.com/PCA/amnezia_web-PRO) (GitHub-аккаунт заблокирован, старые ссылки raw.githubusercontent.com больше не работают). +Установщик сам качает код с того источника, который отвечает: сначала git.bobyrev.com, потом GitHub. + +Панель: `http://IP:8080`, вход — пароль `admin` (смените сразу). Код и выпуски: [git.bobyrev.com/PCA/amnezia_web-PRO](https://git.bobyrev.com/PCA/amnezia_web-PRO) · [выпуски](https://git.bobyrev.com/PCA/amnezia_web-PRO/releases) · копия на [GitHub](https://github.com/andrey271192/amnezia_web-PRO). ## Что нового в 1.4.2 -- **Проект переехал на [git.bobyrev.com/PCA/amnezia_web-PRO](https://git.bobyrev.com/PCA/amnezia_web-PRO)** — GitHub-аккаунт заблокирован. Установщик и обновление качают код оттуда. Старая команда с `raw.githubusercontent.com` больше не работает — используйте новую (выше). +- **Проект переехал на [git.bobyrev.com/PCA/amnezia_web-PRO](https://git.bobyrev.com/PCA/amnezia_web-PRO)** — GitHub-аккаунт заблокирован. Установщик берёт код с того из двух источников (git.bobyrev.com или GitHub), что отвечает. ## Что нового в 1.4.0 diff --git a/scripts/install.sh b/scripts/install.sh index f624213..9eef817 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -2,7 +2,8 @@ # Установка Amnezia Admin WebUI одной командой (см. README). set -euo pipefail -GITHUB_REPO="${GITHUB_REPO:-PCA/amnezia_web-PRO}" +GITHUB_REPO="${GITHUB_REPO:-andrey271192/amnezia_web-PRO}" +GITEA_REPO="${GITEA_REPO:-PCA/amnezia_web-PRO}" GIT_BASE="${GIT_BASE:-https://git.bobyrev.com}" BRANCH="${BRANCH:-main}" INSTALL_DIR="${INSTALL_DIR:-/opt/amnezia-admin}" @@ -75,18 +76,32 @@ if [[ "${SKIP_DOWNLOAD:-}" != "1" ]]; then -H 'Pragma: no-cache' --connect-timeout "${CURL_CONNECT_TIMEOUT:-15}" --max-time "${CURL_MAX_TIME:-900}" - --retry "${CURL_RETRY:-2}" + --retry "${CURL_RETRY:-1}" --retry-delay "${CURL_RETRY_DELAY:-5}" --retry-connrefused ) if [[ "${INSTALL_SCRIPT_VERBOSE:-}" == "1" ]]; then CURL_OPTS+=(--progress-bar); fi - # ponytail: GitHub-аккаунт заблокирован (10.2026), код живёт на git.bobyrev.com. - CURL_URL="${GITHUB_REPO_URL_OVERRIDE:-${GIT_BASE}/${GITHUB_REPO}/archive/${BRANCH}.tar.gz}" - if ! curl "${CURL_OPTS[@]}" "${CURL_URL}" | tar xz -C "${TMP}"; then - echo "Ошибка: не удалось скачать или распаковать архив (${CURL_URL})." - echo "Подсказка: проверьте доступ к git.bobyrev.com, при необходимости export GITHUB_REPO_URL_OVERRIDE='…' или INSTALL_SCRIPT_VERBOSE=1." + # Два источника одного кода: Gitea (git.bobyrev.com) и GitHub — берём первый, что ответил. + if [[ -n "${GITHUB_REPO_URL_OVERRIDE:-}" ]]; then + SOURCES=("${GITHUB_REPO_URL_OVERRIDE}") + else + SOURCES=("${GIT_BASE}/${GITEA_REPO}/archive/${BRANCH}.tar.gz" + "https://github.com/${GITHUB_REPO}/archive/refs/heads/${BRANCH}.tar.gz") + fi + __ok="" + for CURL_URL in "${SOURCES[@]}"; do + rm -rf "${TMP:?}"/* + if curl "${CURL_OPTS[@]}" -o "${TMP}/src.tgz" "${CURL_URL}" 2>/dev/null && tar xzf "${TMP}/src.tgz" -C "${TMP}" 2>/dev/null; then + rm -f "${TMP}/src.tgz"; __ok=1; break + fi + echo "→ ${CURL_URL} недоступен, пробую следующий источник…" + done + if [[ -z "${__ok}" ]]; then + echo "Ошибка: не удалось скачать код ни с одного источника: ${SOURCES[*]}" + echo "Подсказка: проверьте доступ к git.bobyrev.com и github.com, при необходимости export GITHUB_REPO_URL_OVERRIDE='…'." exit 1 fi + echo "→ Код взят с ${CURL_URL}" echo "→ Перенос распакованного дерева в ${INSTALL_DIR}…" # API-tarball распаковывается в каталог вида `--`, # archive/refs/heads — в `-`. Поэтому берём первый каталог TMP. @@ -354,4 +369,4 @@ if [[ -f "${PASS_FILE}" ]]; then echo "Первый пароль: $(cat "${PASS_FILE}")" fi echo "" -echo "Удаление: curl -fsSL ${GIT_BASE}/${GITHUB_REPO}/raw/branch/${BRANCH}/scripts/uninstall.sh | sudo bash" +echo "Удаление: curl -fsSL ${GIT_BASE}/${GITEA_REPO}/raw/branch/${BRANCH}/scripts/uninstall.sh | sudo bash"