From 99724e7791b99773650b153b99a1e2c5cf110d42 Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Fri, 7 Aug 2026 14:26:20 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D1=80=D0=B5=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0=20=D0=B2?= =?UTF-8?q?=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20gitea.example.com?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit origin — gitea.hsrv.site/mrleo1nid/ipcheck-domains, он и проставлен в README и в BASE_URL по умолчанию внутри update-geosite.sh. Раз дефолты теперь верные, примеры cron и ручного запуска сократились до одного RESTART_CMD. Co-Authored-By: Claude Opus 5 --- README.md | 40 +++++++++++++++++++--------------------- tools/gitea-release.sh | 2 +- tools/update-geosite.sh | 4 ++-- 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 927150b..618c639 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Собирается в несколько форматов. Основной — `geosite.dat` (protobuf v2ray/Xray) для 3x-ui. CI на Gitea Actions пересобирает всё при каждом изменении `data/` и раз в сутки по расписанию. -> Во всех примерах ниже `gitea.example.com/mrleo1nid/ipcheck-domains` — замените на адрес -> своего инстанса и репозитория. +> Если форкнули к себе — поменяйте `gitea.hsrv.site/mrleo1nid/ipcheck-domains` в примерах +> ниже и в `BASE_URL` внутри [`tools/update-geosite.sh`](tools/update-geosite.sh). ## Категории @@ -24,7 +24,7 @@ CI на Gitea Actions пересобирает всё при каждом изм Ветка `release` перезаписывается при каждой сборке, ссылки стабильные: ``` -https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release/<путь> +https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release/<путь> ``` | Файл | Для чего | @@ -52,7 +52,7 @@ https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release/<путь `/usr/local/x-ui/bin` (установка скриптом) или `/usr/local/share/xray`: ```bash -curl -fsSL -o /usr/local/x-ui/bin/ipcheck.dat https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release/ipcheck.dat +curl -fsSL -o /usr/local/x-ui/bin/ipcheck.dat https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release/ipcheck.dat ``` Дальше в панели: **Xray Settings → Routing Rules → Add Rule**, поле `domain`: @@ -91,17 +91,15 @@ Xray читает `.dat` только при старте, поэтому обн ### Установка ```bash -curl -fsSL -o /usr/local/bin/update-geosite.sh https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release/update-geosite.sh +curl -fsSL -o /usr/local/bin/update-geosite.sh https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release/update-geosite.sh chmod +x /usr/local/bin/update-geosite.sh ``` -Проверьте вручную — первый запуск скачает файл и перезапустит панель: +`BASE_URL` и `DEST` уже прописаны в скрипте по умолчанию, так что задать нужно только +команду перезапуска. Проверьте вручную — первый запуск скачает файл и перезапустит панель: ```bash -BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release \ -DEST=/usr/local/x-ui/bin/ipcheck.dat \ -RESTART_CMD='x-ui restart' \ -/usr/local/bin/update-geosite.sh +RESTART_CMD='x-ui restart' /usr/local/bin/update-geosite.sh ``` Второй запуск подряд должен отработать молча и мгновенно — значит сравнение сумм работает. @@ -111,23 +109,23 @@ RESTART_CMD='x-ui restart' \ `crontab -e` от root, одна строка (04:17 ночи, чтобы не совпадать с чужими крон-джобами): ```cron -17 4 * * * BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release DEST=/usr/local/x-ui/bin/ipcheck.dat RESTART_CMD='x-ui restart' /usr/local/bin/update-geosite.sh >> /var/log/ipcheck-update.log 2>&1 +17 4 * * * RESTART_CMD='x-ui restart' /usr/local/bin/update-geosite.sh >> /var/log/ipcheck-update.log 2>&1 ``` -Или, если не хочется длинной строки, положите настройки в `/etc/default/ipcheck`: +Если путь до `.dat` другой или репозиторий свой, добавьте в ту же строку `DEST=…` +и `BASE_URL=…`. Когда переменных много, вынесите их в `/etc/default/ipcheck`: ```bash -BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release -DEST=/usr/local/x-ui/bin/ipcheck.dat -RESTART_CMD=x-ui restart +export BASE_URL=https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release +export DEST=/usr/local/x-ui/bin/ipcheck.dat +export RESTART_CMD='x-ui restart' ``` ```cron 17 4 * * * . /etc/default/ipcheck && /usr/local/bin/update-geosite.sh >> /var/log/ipcheck-update.log 2>&1 ``` -Скрипт не экспортирует переменные сам — при таком варианте добавьте в файл -`export BASE_URL DEST RESTART_CMD` последней строкой. +`export` здесь обязателен: скрипт читает переменные из окружения, а не из своего шелла. ### Вариант 2: systemd timer @@ -144,7 +142,7 @@ Wants=network-online.target [Service] Type=oneshot -Environment=BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release +Environment=BASE_URL=https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release Environment=DEST=/usr/local/x-ui/bin/ipcheck.dat Environment=RESTART_CMD=x-ui restart ExecStart=/usr/local/bin/update-geosite.sh @@ -184,7 +182,7 @@ DEST=/var/lib/x-ui-bin/ipcheck.dat RESTART_CMD='docker restart 3x-ui' /usr/local | Переменная | По умолчанию | Значение | | --- | --- | --- | -| `BASE_URL` | ссылка на ветку `release` | база, откуда качать | +| `BASE_URL` | `https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release` | база, откуда качать | | `DEST` | `/usr/local/x-ui/bin/ipcheck.dat` | куда положить файл | | `NAME` | имя файла из `DEST` | имя файла в репозитории | | `RESTART_CMD` | пусто | что выполнить после успешного обновления | @@ -204,7 +202,7 @@ DEST=/var/lib/x-ui-bin/ipcheck.dat RESTART_CMD='docker restart 3x-ui' /usr/local "type": "remote", "tag": "ipcheck", "format": "binary", - "url": "https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release/sing-box/ipcheck.srs", + "url": "https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release/sing-box/ipcheck.srs", "download_detour": "direct", "update_interval": "1d" } @@ -223,7 +221,7 @@ rule-providers: type: http behavior: domain format: yaml - url: "https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release/clash/ipcheck.yaml" + url: "https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release/clash/ipcheck.yaml" path: ./ruleset/ipcheck.yaml interval: 86400 diff --git a/tools/gitea-release.sh b/tools/gitea-release.sh index c2e2501..e55baa5 100755 --- a/tools/gitea-release.sh +++ b/tools/gitea-release.sh @@ -1,7 +1,7 @@ #!/bin/sh # Создаёт (или обновляет) релиз в Gitea и заливает в него файлы. # -# GITEA_URL=https://gitea.example.com GITEA_REPO=owner/repo GITEA_TOKEN=… \ +# GITEA_URL=https://gitea.hsrv.site GITEA_REPO=mrleo1nid/ipcheck-domains GITEA_TOKEN=… \ # ./tools/gitea-release.sh <тег> <файл-с-описанием> <файл> [файл …] # # Имя ассета — путь относительно dist/ с заменой "/" на "-", чтобы diff --git a/tools/update-geosite.sh b/tools/update-geosite.sh index cc201fc..fb39f18 100755 --- a/tools/update-geosite.sh +++ b/tools/update-geosite.sh @@ -6,14 +6,14 @@ # изменился. Молчит, если обновлять нечего, — cron не будет слать письма впустую. # # ./update-geosite.sh -# BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release \ +# BASE_URL=https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release \ # DEST=/usr/local/x-ui/bin/ipcheck.dat RESTART_CMD='x-ui restart' ./update-geosite.sh # # Коды возврата: 0 — обновлено или уже актуально, 1 — ошибка. set -eu -BASE_URL="${BASE_URL:-https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release}" +BASE_URL="${BASE_URL:-https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release}" DEST="${DEST:-/usr/local/x-ui/bin/ipcheck.dat}" NAME="${NAME:-$(basename "$DEST")}" RESTART_CMD="${RESTART_CMD:-}"