Нужна прошивка OpenWrt под ваш роутер, но не хочется сначала разворачивать полноценную среду сборки на компьютере? Откройте онлайн-конфигуратор Wei.G, выберите исходники, целевое устройство, пакеты и параметры прошивки, затем отправьте запрос в GitHub Actions — сборку выполнит облако.

JavaScript HTML CSS Node.js Bash YAML

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

⚠️ Прошивка устройства связана с риском. Сначала проверьте модель роутера, разметку разделов и способ прошивки. Если не уверены — не прошивайте.

Предыстория

  • 【Простой старт】 Если хочется попробовать собрать собственную прошивку, но не хочется начинать с настройки всей локальной toolchain, этот проект даёт более простой вход.
  • 【Пакеты и зависимости】 Некоторые плагины и зависимости нужно включить в прошивку ещё на этапе сборки.
  • 【Настройка】 У OpenWrt много параметров сборки, а сетевые условия в материковом Китае могут дополнительно затруднять загрузку зависимостей.
  • 【Время】 Полная сборка может занимать несколько часов и всё равно завершиться ошибкой, поэтому поиск причины тоже требует времени.
  • 【Цель】 В дальнейшем любой пользователь сможет сделать fork проекта и запустить собственный сайт для сборки OpenWrt на GitHub Pages + Actions.
  • 【Текущий этап】 Проект всё ещё тестируется. Ошибки возможны, а интенсивное использование общего workflow может упереться в политики или лимиты GitHub.

Поддерживаемые устройства

Сейчас проверены только следующие цели. Остальные устройства ещё не тестировались. Если у вас нет способа восстановить устройство после неудачной прошивки, не используйте этот инструмент.

Подготовка

⚠️ Прошивка устройства связана с риском. Сначала проверьте модель роутера, разметку разделов и способ прошивки. Если не уверены — не прошивайте.

1. Выберите параметры

  • После выбора источника найдите через поиск нужную модель или окружение. Также можно загрузить существующую config.

  • Выберите Source → Branch → Target System → Subtarget → Target Profile.

    • Пример для x86/64: ImmortalWrt → openwrt-24.10 → x86 → 64 → Generic x86/64
  • В Advanced menuconfig › LuCI › 3. Applications отметьте нужные приложения.

  • Остальные расширенные параметры в Advanced menuconfig настройте по необходимости.

Затем при необходимости задайте часовой пояс, тему прошивки, NTP-серверы и зеркало пакетов.

Готовая конфигурация

Если у вас уже есть .config, config.buildinfo или ранее скачанный файл запроса, нажмите Загрузить конфигурацию в нижней части страницы. В окне подтверждения проверьте источник, ветку, Target Profile, плагины и настройки прошивки.

2. Отправьте сборку

Нажмите Отправить облачную сборку в правом нижнем углу.

Выберите Скачать запрос и открыть GitHub. Браузер загрузит JSON-файл и автоматически откроет страницу создания нового GitHub Issue.

Перетащите загруженный файл в поле Issue и нажмите Create.

Бот ответит в Issue ссылкой на Actions для этой сборки.

3. Скачайте прошивку

Сборка обычно занимает 2–4 часа. После завершения откройте страницу Actions и скачайте файлы из раздела Artifacts:

  • FIRMWARE-ALL-XXX: все файлы прошивки и контрольные суммы. Для первой прошивки обычно нужен файл типа factory.
  • CONFIG-XXX: отправленная конфигурация, итоговая конфигурация и отличия. Рекомендуется сохранить.
  • BUILD-LOGS-XXX: полные логи сборки для диагностики.

Частые вопросы

  • Что делать, если сборка завершилась ошибкой? Скачайте BUILD-LOGS-… и посмотрите последний Error. Также можно сообщить о проблеме в Issue.
  • Как отменить? Ответьте /cancel в своём Issue сборки.
  • Сколько сборок можно запускать одновременно? Один аккаунт может выполнять только две задачи одновременно, остальные ждут в очереди.
  • Почему нет кнопки скачивания? Для скачивания GitHub Actions Artifacts обычно требуется войти в аккаунт.
  • Слишком длинная очередь в публичном репозитории? В дальнейшем можно будет сделать fork этого проекта и запускать сборку в своём репозитории по подсказкам на странице, избегая общей очереди.

Проект: WeiG-OpenWrt-AutoBuild

Благодарности

  • Исходники: OpenWrt · ImmortalWrt · LEDE · hanwckf

  • Ориентир: P3TERX

  • Авторы LuCI-плагинов

  • Все, кто участвовал в проекте