From faef87a59d17a67f774efdd0f8f1a2d69a417dcc Mon Sep 17 00:00:00 2001 From: Ivan Vasilev Date: Fri, 10 Jul 2026 02:45:06 +0300 Subject: [PATCH] update: translate installer to github # Conflicts: # README.md --- .github/workflows/release.yml | 40 +++++++++++++++++++++++++++++++++++ install.sh | 8 +++---- 2 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..da0efd1 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,40 @@ +name: release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Build frontend + working-directory: awg-ui + run: | + npm install + npm run build + + - name: Package archive + run: | + VERSION="${GITHUB_REF_NAME#v}" + mkdir "awgcontrol-${VERSION}" + cp -r awg-ctrl awg-ui cli "awgcontrol-${VERSION}/" + tar --exclude='node_modules' -czf "awgcontrol-${VERSION}.tar.gz" "awgcontrol-${VERSION}/" + + - name: Publish release + env: + GH_TOKEN: ${{ github.token }} + run: | + VERSION="${GITHUB_REF_NAME#v}" + gh release create "${GITHUB_REF_NAME}" "awgcontrol-${VERSION}.tar.gz" \ + --title "${GITHUB_REF_NAME}" --generate-notes diff --git a/install.sh b/install.sh index 99cd86c..c5fa16b 100644 --- a/install.sh +++ b/install.sh @@ -2,7 +2,6 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. #!/usr/bin/env bash -# sudo bash <(curl -Ls https://amnesia.ma7neko.ru/forgeting/install.sh) set -euo pipefail @@ -21,7 +20,8 @@ trap 'rc=$?; echo -e "\n ${RED}✗ НЕОЖИДАННАЯ ОШИБКА${NC} с [[ -z "${BASH_VERSION:-}" ]] && fail "Нужен bash: bash install.sh" VERSION="0.1.3.1" -BASE_URL="https://amnesia.ma7neko.ru/forgeting" # хост с install.sh и архивами +GH_REPO="maeneko/forgetting" +BASE_URL="https://github.com/${GH_REPO}/releases/download/v${VERSION}" PROJECT="/opt/awg-control" AMNEZIA_DIR="/etc/amnezia" AWG_DIR="$AMNEZIA_DIR/amneziawg" @@ -84,9 +84,9 @@ fi # 3) Доступ в интернет: нужен для архива, Node и пакетов AWG. Без -f: любой # HTTP-ответ = связь есть; ненулевой код только при сбое соединения/DNS. -if ! curl -sS --connect-timeout 8 -o /dev/null "$BASE_URL/" 2>/dev/null; then +if ! curl -sS --connect-timeout 8 -o /dev/null "https://github.com" 2>/dev/null; then NET_OK=0 - NET_WHY="нет доступа к $BASE_URL — проверь интернет и DNS" + NET_WHY="нет доступа к github.com — проверь интернет и DNS" fi # Чеклист: ✓ — пройдено, ✗ — нет.