|
|
@@ -6,8 +6,8 @@
|
|
|
|
Собирается в несколько форматов. Основной — `geosite.dat` (protobuf v2ray/Xray) для 3x-ui.
|
|
|
|
Собирается в несколько форматов. Основной — `geosite.dat` (protobuf v2ray/Xray) для 3x-ui.
|
|
|
|
CI на Gitea Actions пересобирает всё при каждом изменении `data/` и раз в сутки по расписанию.
|
|
|
|
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` перезаписывается при каждой сборке, ссылки стабильные:
|
|
|
|
Ветка `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`:
|
|
|
|
`/usr/local/x-ui/bin` (установка скриптом) или `/usr/local/share/xray`:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
```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`:
|
|
|
|
Дальше в панели: **Xray Settings → Routing Rules → Add Rule**, поле `domain`:
|
|
|
@@ -91,17 +91,15 @@ Xray читает `.dat` только при старте, поэтому обн
|
|
|
|
### Установка
|
|
|
|
### Установка
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
```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
|
|
|
|
chmod +x /usr/local/bin/update-geosite.sh
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Проверьте вручную — первый запуск скачает файл и перезапустит панель:
|
|
|
|
`BASE_URL` и `DEST` уже прописаны в скрипте по умолчанию, так что задать нужно только
|
|
|
|
|
|
|
|
команду перезапуска. Проверьте вручную — первый запуск скачает файл и перезапустит панель:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
```bash
|
|
|
|
BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release \
|
|
|
|
RESTART_CMD='x-ui restart' /usr/local/bin/update-geosite.sh
|
|
|
|
DEST=/usr/local/x-ui/bin/ipcheck.dat \
|
|
|
|
|
|
|
|
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 ночи, чтобы не совпадать с чужими крон-джобами):
|
|
|
|
`crontab -e` от root, одна строка (04:17 ночи, чтобы не совпадать с чужими крон-джобами):
|
|
|
|
|
|
|
|
|
|
|
|
```cron
|
|
|
|
```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
|
|
|
|
```bash
|
|
|
|
BASE_URL=https://gitea.example.com/mrleo1nid/ipcheck-domains/raw/branch/release
|
|
|
|
export BASE_URL=https://gitea.hsrv.site/mrleo1nid/ipcheck-domains/raw/branch/release
|
|
|
|
DEST=/usr/local/x-ui/bin/ipcheck.dat
|
|
|
|
export DEST=/usr/local/x-ui/bin/ipcheck.dat
|
|
|
|
RESTART_CMD=x-ui restart
|
|
|
|
export RESTART_CMD='x-ui restart'
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
```cron
|
|
|
|
```cron
|
|
|
|
17 4 * * * . /etc/default/ipcheck && /usr/local/bin/update-geosite.sh >> /var/log/ipcheck-update.log 2>&1
|
|
|
|
17 4 * * * . /etc/default/ipcheck && /usr/local/bin/update-geosite.sh >> /var/log/ipcheck-update.log 2>&1
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Скрипт не экспортирует переменные сам — при таком варианте добавьте в файл
|
|
|
|
`export` здесь обязателен: скрипт читает переменные из окружения, а не из своего шелла.
|
|
|
|
`export BASE_URL DEST RESTART_CMD` последней строкой.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Вариант 2: systemd timer
|
|
|
|
### Вариант 2: systemd timer
|
|
|
|
|
|
|
|
|
|
|
@@ -144,7 +142,7 @@ Wants=network-online.target
|
|
|
|
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
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=DEST=/usr/local/x-ui/bin/ipcheck.dat
|
|
|
|
Environment=RESTART_CMD=x-ui restart
|
|
|
|
Environment=RESTART_CMD=x-ui restart
|
|
|
|
ExecStart=/usr/local/bin/update-geosite.sh
|
|
|
|
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` | куда положить файл |
|
|
|
|
| `DEST` | `/usr/local/x-ui/bin/ipcheck.dat` | куда положить файл |
|
|
|
|
| `NAME` | имя файла из `DEST` | имя файла в репозитории |
|
|
|
|
| `NAME` | имя файла из `DEST` | имя файла в репозитории |
|
|
|
|
| `RESTART_CMD` | пусто | что выполнить после успешного обновления |
|
|
|
|
| `RESTART_CMD` | пусто | что выполнить после успешного обновления |
|
|
|
@@ -204,7 +202,7 @@ DEST=/var/lib/x-ui-bin/ipcheck.dat RESTART_CMD='docker restart 3x-ui' /usr/local
|
|
|
|
"type": "remote",
|
|
|
|
"type": "remote",
|
|
|
|
"tag": "ipcheck",
|
|
|
|
"tag": "ipcheck",
|
|
|
|
"format": "binary",
|
|
|
|
"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",
|
|
|
|
"download_detour": "direct",
|
|
|
|
"update_interval": "1d"
|
|
|
|
"update_interval": "1d"
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -223,7 +221,7 @@ rule-providers:
|
|
|
|
type: http
|
|
|
|
type: http
|
|
|
|
behavior: domain
|
|
|
|
behavior: domain
|
|
|
|
format: yaml
|
|
|
|
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
|
|
|
|
path: ./ruleset/ipcheck.yaml
|
|
|
|
interval: 86400
|
|
|
|
interval: 86400
|
|
|
|
|
|
|
|
|
|
|
|