32 lines
2.6 KiB
Markdown
32 lines
2.6 KiB
Markdown
# OpenWRT-sing-box-extended
|
||
Скрипт для установки sing-box-extended вместо стандартного sing-box (для OpenWRT и ему подобных)
|
||
|
||
Этот `sh`-скрипт предназначен для автоматического обновления бинарного файла `sing-box` на роутерах OpenWrt. Он использует форк [shtorm-7/sing-box-extended](https://github.com/shtorm-7/sing-box-extended).
|
||
|
||
Скрипт **автоматически находит последний релиз** на GitHub, выбирает архив для нужной архитектуры, скачивает его и заменяет существующий бинарный файл `/usr/bin/sing-box`.
|
||
|
||
# Установка
|
||
|
||
Для установки и обновления используем команду
|
||
```
|
||
sh <(wget -O - https://raw.githubusercontent.com/EikeiDev/OpenWRT-sing-box-extended/refs/heads/main/install.sh)
|
||
```
|
||
|
||
### Что делает скрипт
|
||
|
||
1. **Поиск последнего релиза:** Обращается к API GitHub, чтобы найти URL "latest release".
|
||
2. **Фильтрация по архитектуре:** В ответе API ищет URL для скачивания файла, соответствующего паттерну (по умолчанию `linux-arm64.tar.gz`).
|
||
3. **Скачивание:** Загружает .tar.gz архив во временную папку `/tmp`.
|
||
4. **Остановка сервиса:** Корректно останавливает сервис `sing-box` и принудительно завершает процесс `killall`, чтобы освободить бинарный файл.
|
||
5. **Распаковка:** Аккуратно распаковывает архив, извлекая **только** бинарный файл `sing-box`. Скрипт игнорирует `README` и справляется с тем, что файл лежит во вложенной папке (используя `strip-components=1`).
|
||
6. **Замена:** Перемещает новый бинарный файл в `/usr/bin/sing-box`, заменяя старый.
|
||
7. **Установка прав:** Выдает файлу права на выполнение (`chmod +x`).
|
||
8. **Очистка:** Удаляет временные файлы и архив из `/tmp`.
|
||
9. **Перезагрузка:** Отправляет роутер в перезагрузку.
|
||
|
||
-----
|
||
|
||
# Благодарности / Thanks
|
||
|
||
https://github.com/shtorm-7/sing-box-extended
|