Skip to content

Sophiedevops/singbox-padavan-easy-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

singbox-padavan-easy

Sing-box Extended for Padavan with auto-rotation and proxy-parsing scripts Static Badge Static Badge Static Badge

singbox-padavan-easy 🚀

Автоматизированный комплекс для работы с Sing-box (Extended) на роутерах Xiaomi Mi-router 3.

Основные возможности 🌟

  • 📥 Установка в одну команду — скрипт сам проверяет ресурсы, зависимости и настраивает окружение.
  • 🔄 Умная ротация прокси — автоматический парсинг подписок, тест на скорость (latency) и выбор лучших узлов.
  • Автоматическое переключение в случае "просадки" пинга до текущего узла (проверка раз в 3 минуты).
  • 🛡️ Безопасность "из коробки" — автоматическая генерация уникальных паролей и ключей для каждого пользователя.
  • 📉 Экономия ресурсов — пакетное сканирование узлов (Batch Mode) для стабильной работы на ограниченном ОЗУ.
  • 🕵️ Маскировка трафика — использование актуальных SNI (icloud.com) для обхода глубокого анализа пакетов (DPI).
  • 🖇️ Генератор ссылок — встроенная утилита gen_links.sh для создания клиентских ссылок (SS, Hy2...) прямо из вашего конфига.

Спецификации и Совместимость 🛠️

  • Устройство: Специально адаптировано под Xiaomi Mi-router 3. Протестировано и подтверждена стабильная работа на Padavan Version 3.4.3.9L-105_5d69a44 (На других моделях работа не тестировалась).
  • Архитектура: MIPS (ядро 3.4).
  • Платформа: Прошивка Padavan с установленным репозиторием Entware.
  • Core: Sing-box Extended (от shtorm-7/sing-box-extended). В текущей версии используется бинарник ветки extended.
  • Примечание: Предпочтение отдано по причине заявленной поддержки Amnezia 1.5 (добавление будет реализовано позже).

Подробная логика работы скрипта 🛠️

1. Процесс установки (install.sh) 🏗️

При запуске инсталлятор проходит строгую цепочку проверок и настроек:

  • Инспекция ресурсов: Скрипт проверяет наличие свободного места в /opt (минимум 128MB) и объем свободной оперативной памяти (минимум 30MB).

  • Проверка зависимостей:

  • Lua 5.1: Должен быть в системе (Version 3.4.3.9L-105_5d69a44 содержит при сборке).

  • JQ: Если не найден, скрипт установит его автоматически (opkg install jq).

  • OpenSSL 3.x: Скрипт проверяет версию. Если она ниже 3.0, будет произведена попытка обновления для корректной генерации ключей .

  • ** Создаёт файл /etc/init.d/S99singbox (стандарт для Padavan/Asus). Это запускает sing-box в фоне при загрузке роутера.

  • ** Скрипт добавляет задание в crontab ежедневный запуск update3.sh в 3:00 ночи (обновление outbounds — прокси нод из списка). На время обновления sing-box отключает клиентские соединения и запускает свою копию на порту 25555 для теста новых серверов.

  • ** Не нарушаются существующие маршруты. Создается отдельный сервер для доступа через который необходимо использовать клиентские конфиги, сгенерированные gen_links.sh (генерирует для локальной сети) или прописать свои (для удаленного доступа).

  • ** По причине слабой производительности процессора MT7620A нет смысла включать ресурсоемкое шифрование для локальных клиентов (вполне достаточно Shadowsocks).

  • Автоматическая загрузка: Инсталлятор сам скачивает бинарник sing-box из раздела Releases, а также все вспомогательные скрипты из веток репозитория.

  • Генерация уникальной среды: Для каждого пользователя генерируются индивидуальные UUID, пароли для Shadowsocks/Hysteria2 .

  • Безопасность (Rollback): Перед заменой старой версии создается бэкап в папку .bak. Если новый бинарник не сможет выполнить команду version, скрипт немедленно вернет старую версию на место.

2. Логики обновления: update3.sh 🔄

  • update3.sh (Продвинутый):
  • Скачивает список, прогоняет через конвертер.
  • Ориентирован на фильтрацию и качество.
  • Позволяет задать свой список целевых стран (например, NL, DE, US) и конкретных протоколов.
  • Гибкость: Проверяет при запуске работоспособность текущих узлов, если не менее 3-х из них рабочие, скрипт не сканирует по-новому весь список. Если у вас настроено: FILTER_COUNTRIES="NL,DE,US" и приоритет Shadowsocks. Скрипт сначала проверит ВСЕ голландские Shadowsocks. Если наберет 10 штук — остановится. У вас будет идеальный пинг и шифрование. Если голландских SS мало, он добьет список голландскими VMess/Vless. Если в Нидерландах всё плохо, он перейдет к Германии (DE), тоже начиная с Shadowsocks. США будут только в самом конце, как резерв.

Important

Страна определяется не по базам а исключительно из описания к ссылки(возможны несовпадения). Если строки конфига с выбором страны и протокола будут закоментированы, скрипт будет собирать сервера подряд, удовлетворяющие уловию скорости загрузки для чего кроме ping выполняет тест на скорость скачивания и сравнивает результат с значеним PERFECT_SPEED_KBPS= .

  • Поддерживает множественные источники подписок (список URL). Если у Вас лимитные подключения - хорошо подумайте. Скрипт для проверки стабильности прокси отправляет пакеты по 10Мб поэтому возможен перерасход трафика в лимитных подключениях.

3. Критическое требование к ссылкам ⚠️

Important

Формат ссылок: Все ссылки на файлы подписок (на GitHub или других ресурсах), которые вы добавляете в скрипты, ОБЯЗАТЕЛЬНО должны быть в формате RAW (прямая ссылка на текст).

  • Правильно: https://raw.githubusercontent.com/.../sub.txt
  • Неправильно: https://github.com/.../blob/main/sub.txt (в этом случае скрипт скачает HTML-страницу вместо списка прокси, и конвертер выдаст ошибку).

Что подготовить пользователю перед запуском 📋

Хотя скрипт максимально автоматизирован, убедитесь в следующем:

  1. У вас установлен Entware на внешний накопитель или в раздел памяти.
  2. У вас есть доступ к SSH консоли роутера.
  3. Ваш интернет-канал активен (скрипт проверяет пинг до 8.8.8.8 перед началом загрузки).

Быстрый старт ⚡

Для установки выполните команду в консоли роутера:

wget -qO- "https://raw.githubusercontent.com/Sophiedevops/singbox-padavan-easy-crawler/main/install.sh" | sh

Управление 🖊️

  • update3.sh — запустить парсинг подписок и обновление рабочих узлов.
  • gen_links.sh — сгенерировать ссылки для подключения ваших устройств к роутеру.
  • converter.lua — автономный конвертер подписок (не требует внешних библиотек Lua).

Безопасность и Откат 🔒

  • 🔙 Rollback: Если скачанный бинарник окажется несовместимым, скрипт автоматически вернет систему к предыдущей рабочей версии из бэкапа.
  • 🧹 Cleanup: Автоматическое удаление временных файлов после завершения инсталляции.

About

Sing-box Extended for Padavan (MIPS BE) with auto-rotation and proxy-parsing scripts

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors