origin — gitea.hsrv.site/mrleo1nid/ipcheck-domains, он и проставлен в README и в BASE_URL по умолчанию внутри update-geosite.sh. Раз дефолты теперь верные, примеры cron и ручного запуска сократились до одного RESTART_CMD. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c05f6aa0d7
commit
99724e7791
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user