HomeProxy OpenWrt настройка: установка, проверка и откат

HomeProxy OpenWrt настройка: установка, проверка и откат

Kevin Wu
14 октября 2026 г.· 11 мин чтения

HomeProxy OpenWrt настройка добавляет в LuCI интерфейс, который генерирует клиентскую конфигурацию sing-box и направляет в неё трафик роутера. Установите пакет из штатного фида вашей прошивки, пропустите один тестовый клиент через один узел, которым вам разрешено пользоваться, и убедитесь, что остановка службы возвращает сеть к прямой маршрутизации. Процедура составлена по официальным источникам, перечисленным ниже; полный сквозной тест не выполнялся.

Ключевые выводы

  • HomeProxy — это приложение LuCI, а прокси-работу под ним выполняет sing-box.
  • У проекта нет релизов с тегами, поэтому фиксируйте версии прошивки и пакетов, которые ставите.
  • Начинайте с одного клиента из списка: изменения DNS затрагивают всех, кто получает DNS от роутера.
  • Остановленная служба должна убрать свои правила маршрутизации, цепочки межсетевого экрана и настройки dnsmasq.

Что охватывает эта HomeProxy OpenWrt настройка?

Проект описывает HomeProxy как современную прокси-платформу ImmortalWrt для устройств ARM64 и AMD64 на базе sing-box. README в репозитории — короткий список задач, а не руководство по установке, и релизов с тегами нет. Поэтому здесь используется код коммита 98a6ad9 и описываются только параметры, которые в нём есть.[1]

Определение пакета объявляет четыре зависимости: sing-box, firewall4, kmod-nft-tproxy и ucode-mod-digest. В нём же перечислены файлы, которые при обновлении сохраняются как конфигурация, в том числе /etc/config/homeproxy и списки доменов для прямого и проксируемого трафика.[2]

Базовая версия — ImmortalWrt 24.10.6, прошивка на основе OpenWrt: её фид LuCI содержит luci-app-homeproxy версии 26.236.50592~9b8ee64, а фид packages — sing-box 1.12.25-r1.[3][4] В штатной OpenWrt нет официального пакета HomeProxy, поэтому установка сборок с неизвестных зеркал здесь не рассматривается.

Прежде чем начать, решите, нужен ли вам шлюз на роутере вообще. Руководство по ответственности при самостоятельном размещении объясняет, что вы берёте на себя, обслуживая такой путь, а до того как отдавать под это роутер, полезно сравнить собственный сервер с управляемым VPN-сервисом. Если HomeProxy не подходит, другое семейство плагинов описано в пошаговой установке OpenClash с планом восстановления, а обычный туннель — в инструкции по клиенту WireGuard на OpenWrt.

Что HomeProxy меняет на роутере?

Когда служба запускается с выбранным основным узлом, init-скрипт генерирует /var/run/homeproxy/sing-box-c.json и прогоняет по нему sing-box check. Если проверка не проходит, запуск прерывается, а причина записывается в /var/run/homeproxy/homeproxy.log.[5]

Тот же скрипт затрагивает три уровня роутера. Он создаёт каталог конфигурации dnsmasq и перезапускает dnsmasq, добавляет правила policy routing (по умолчанию таблица 100 и метка 101 для TProxy) и перезагружает firewall4 с цепочками HomeProxy. Кроме того, служба перезагружается, когда поднимается интерфейс WAN.[5]

УровеньЧто включается со службойЧто удаляет процедура остановки
Прокси-процессКлиент sing-box из сгенерированного JSONСгенерированный JSON и журнал клиента
DNSdnsmasq пересылает запросы на 127.0.0.1#5333 в режиме GlobalКаталог dnsmasq от HomeProxy, затем перезапуск dnsmasq
Маршрутизацияip rule и локальные маршруты в таблице 100Те же правила и маршруты для IPv4 и IPv6
Межсетевой экранЦепочки и наборы homeproxy_* в inet fw4Очищенные и удалённые цепочки и наборы

Строка DNS важна для планирования. В режимах Global, Bypass mainland China и Custom routing скрипт отключает обычные upstream-серверы dnsmasq и пересылает запросы на локальный DNS-порт sing-box. Поэтому изменение касается каждого клиента, который спрашивает DNS у роутера, а не только того, кого вы внесли в список для проксирования.[5]

Шаг 1: Проверьте прошивку, архитектуру и место

Используйте роутер, которым вы владеете или управляете, с проводным клиентом на известном порту LAN и задокументированным способом восстановления для вашей модели. До установки запишите релиз прошивки, архитектуру процессора и свободное место.

cat /etc/openwrt_release
uname -m
opkg print-architecture
df -h /overlay /tmp

Сверьте архитектуру с индексом пакетов, который собираетесь использовать. Пакет LuCI не зависит от архитектуры, но sing-box и модуль ядра собираются под конкретную платформу, поэтому роутерам AMD64 и aarch64_cortex-a53 нужны разные бинарные файлы одного и того же релиза.[3][4]

Остановитесь, если прошивка не ImmortalWrt 24.10.6 и вы не можете подтвердить подходящий официальный фид. Пакеты из другого релиза способны сломать зависимости модулей ядра, а совместимость за пределами базовой версии здесь не установлена.

Шаг 2: Резервная копия и установка HomeProxy

В LuCI откройте System → Backup / Flash Firmware и сохраните резервную копию конфигурации на другое устройство. Запишите также текущие DNS-серверы пересылки и адрес тестового клиента в LAN. Всё время держите открытой проводную сессию управления.

На роутере обновите списки пакетов и установите приложение LuCI из официального фида. Списки хранятся в RAM в /tmp/opkg-lists и пропадают после перезагрузки, поэтому перед каждой следующей установкой снова выполняйте opkg update.[6]

opkg update
opkg list-installed | grep -E 'homeproxy|sing-box'
opkg install luci-app-homeproxy

Установка подтягивает объявленные зависимости. Прочитайте вывод транзакции: если opkg сообщает о конфликте зависимостей или модуля ядра, остановитесь и решите его по документации прошивки, а не принудительной установкой.[2][6] После установки обновите LuCI: приложение появится в Services → HomeProxy со страницами Client Settings, Node Settings, Server Settings и Service Status.[1]

Не обновляйте все пакеты роутера ради того, чтобы установка прошла. В документации opkg массовые обновления названы крайне нежелательными, потому что они могут превратить устройство в «кирпич» на программном уровне.[6]

Шаг 3: Импортируйте один разрешённый узел

Откройте Services → HomeProxy → Node Settings. На вкладке Nodes добавьте узел вручную, выбрав Type и заполнив Address и Port, или вставьте ссылку через Import share links. В диалоге импорта поддерживаемыми указаны ссылки Hysteria, Shadowsocks, Trojan, VMess (формат v2rayN) и VLESS.[7]

Используйте только узел, который вы держите сами или на который у вас есть разрешение. Оставьте Allow insecure выключенным: отключение проверки сертификатов скрывает несоответствие, а не устраняет его. Не публикуйте адреса подписок и ссылки на узлы на форумах и в скриншотах — они работают как учётные данные.

HomeProxy собирает конфигурацию sing-box из этих полей. Если параметр протокола непонятен, сверьтесь с описанием соответствующего outbound в документации sing-box для версии, установленной на роутере, а не подбирайте значения наугад.[8]

Шаг 4: Выберите режим маршрутизации HomeProxy для одного клиента

Откройте Client Settings → Routing Settings. В Main node выберите импортированный узел: пока там стоит Disable, клиентская служба не запускается.[5][9] Main UDP node оставьте по умолчанию — тогда используется основной узел.

Routing mode предлагает GFWList, Bypass mainland China (по умолчанию), Only proxy mainland China, Custom routing и Global.[9] Для ограниченного первого теста Global даёт самое простое ожидание: трафик клиента из списка должен уходить через узел. Proxy mode оставьте по умолчанию — Redirect TCP + TProxy UDP; варианты Tun появляются, только когда установлены ip-full и kmod-tun.[9]

ПараметрЗначение для первого тестаЗачем
Main nodeИмпортированный узелБез него клиентская служба не запустится
Routing modeGlobalОдно понятное ожидание для клиента
Proxy modeRedirect TCP + TProxy UDPЗначение пакета по умолчанию, без доп. модулей
IPv6 supportПо вашему плану охватаПри включении добавляет правила IPv6
Proxy filter modeProxy listed onlyОграничивает перехват одним клиентом

Затем откройте вкладку Access Control, выберите LAN IP Policy и установите Proxy filter mode в Proxy listed only. Добавьте адрес тестового клиента в Proxy IPv4 IP-s (и в Proxy IPv6 IP-s, если проверяете IPv6), а компьютер для управления в список не вносите.[9] Сохраните и примените настройки, затем убедитесь, что в Service Status клиент показан работающим.

Шаг 5: Проверьте выход клиента, DNS и IPv6

Проверяйте каждый путь на тестовом клиенте отдельно, затем повторите основные проверки на клиенте не из списка. Таблица описывает ожидаемые наблюдения; свои результаты записывайте сами.

Способ проверкиОжидаемое наблюдениеЕсли не сработало
Страница проверки IP на клиенте из спискаВиден публичный адрес узлаПрочитайте homeproxy.log и поля узла
Та же страница на клиенте не из спискаВиден обычный адрес провайдераПерепроверьте Proxy filter mode и список
Разрешение имени на обоих клиентахОтветы приходят через роутерОстановите службу и сравните dnsmasq
Сайт только с IPv6 на клиенте из спискаСовпадает с выбором IPv6 supportСузьте охват или выключите IPv6 support
Доступ к LuCI с проводного клиентаУправление работаетНемедленно остановите службу

Для проверки выхода сравните видимый публичный адрес на каждом клиенте. Изменившийся адрес на клиенте из списка доказывает лишь то, что его веб-трафик доходит до узла; DNS и IPv6 нужно проверять отдельно.

Посмотрите и на состояние роутера. Пока служба работает, ip rule show должен показывать правило с меткой HomeProxy, а nft list ruleset | grep homeproxy — её цепочки.[5] При включённом IPv6 support скрипт добавляет такие же правила для IPv6; если у клиентов есть IPv6, а тест показывает прямой путь IPv6, зафиксируйте это ограничение до расширения списка.

Шаг 6: Остановите службу и убедитесь в прямом восстановлении

Остановите HomeProxy через init-скрипт и отключите автозапуск, если завершаете пробу. Это касается только HomeProxy на роутере.

/etc/init.d/homeproxy stop
/etc/init.d/homeproxy disable
ip rule show
nft list ruleset | grep homeproxy

Процедура остановки удаляет свои правила и маршруты policy routing, очищает и удаляет цепочки и наборы homeproxy_*, убирает свой каталог dnsmasq и перезапускает dnsmasq.[5] Значит, две проверочные команды не должны показывать записей HomeProxy. На тестовом клиенте страница проверки IP снова должна показать обычный адрес, а разрешение имён — идти через исходные серверы пересылки.

Если в какой-то момент управление потеряно, сначала остановите службу с проводного клиента, затем восстановите резервную копию конфигурации из шага 2. Не очищайте весь межсетевой экран и не сбрасывайте роутер к заводским настройкам первым же действием.

Как безопасно обновить или удалить HomeProxy?

Обновляйтесь только в пределах фида того же релиза прошивки, после opkg update, а затем проверяйте установленную версию. Пакет помечает /etc/config/homeproxy, сертификаты, наборы правил и списки прямого и проксируемого трафика как файлы конфигурации, поэтому они должны пережить обновление; собственную резервную копию всё равно держите.[2][6]

Для удаления остановите и отключите службу, выполните проверки восстановления из предыдущего раздела, затем удалите приложение. opkg remove --autoremove luci-app-homeproxy удаляет и пакеты, установленные только как его зависимости; просмотрите выведенный список до подтверждения, потому что sing-box может быть нужен чему-то ещё.[6] Учётные данные узла, которые засветились во время пробы, отзовите, а не просто удалите локальную копию.

Итоги

  • Фиксируйте версии прошивки, пакета LuCI и sing-box: у проекта нет релизов с тегами.
  • Ставьте пакет из официального фида прошивки и останавливайтесь при конфликтах зависимостей.
  • Проксируйте одного клиента из списка в режиме Global, помня, что DNS меняется для всех клиентов роутера.
  • Проверяйте выход, DNS, IPv6 и управление по отдельности, затем убедитесь, что остановка возвращает прямую маршрутизацию.

Часто задаваемые вопросы (FAQ)

HomeProxy и sing-box — это одно и то же?

Нет. HomeProxy — приложение LuCI, которое пишет конфигурацию sing-box, правила маршрутизации и настройки dnsmasq, а sing-box — отдельная прокси-программа, которая переносит трафик.

Можно ли установить HomeProxy на штатную OpenWrt?

Проект не выпускает пакетов с тегами релизов, и в штатных фидах OpenWrt его нет. Эта инструкция охватывает ImmortalWrt 24.10.6, где пакет есть в официальном фиде LuCI.

Почему DNS меняется у клиентов, которых нет в списке?

В режиме Global и похожих режимах HomeProxy направляет dnsmasq на локальный DNS-порт sing-box. Через этот путь идёт каждое устройство, получающее DNS от роутера, даже если его трафик не проксируется.

С какого режима маршрутизации начать?

Global вместе с Proxy listed only даёт одно понятное ожидание для одного клиента. Переходите к другому режиму только после того, как первый тест и откат оба сработали.

Нужен ли режим Tun?

Для первого теста — нет. Режим по умолчанию Redirect TCP + TProxy UDP не требует дополнительных модулей, а варианты Tun появляются только после установки ip-full и kmod-tun.

Что делать, если служба не запускается?

Проверьте, что в Main node не выбрано Disable, затем прочитайте /var/run/homeproxy/homeproxy.log. Неудачная проверка конфигурации sing-box прерывает запуск и записывается туда.

Восстанавливает ли удаление приложения сеть само по себе?

Правила и изменения dnsmasq убирает именно остановка службы. Остановите её, убедитесь, что на роутере нет правил HomeProxy, проверьте клиента и только после этого удаляйте пакет.

Отказ от ответственности: Данная статья носит исключительно информационный характер и не является юридической, технической или иной профессиональной консультацией. Мы не гарантируем точность, полноту или актуальность содержания. Используйте только сети, роутеры и прокси-узлы, которыми вы владеете или на использование которых у вас есть разрешение.

Источники:

  1. ImmortalWrt — HomeProxy repository (commit 98a6ad9) — https://github.com/immortalwrt/homeproxy/tree/98a6ad9e71484528008ff435694fd107591f3a1d
  2. HomeProxy — package definition (Makefile) — https://github.com/immortalwrt/homeproxy/blob/98a6ad9e71484528008ff435694fd107591f3a1d/Makefile
  3. ImmortalWrt — 24.10.6 LuCI feed (aarch64_cortex-a53) — https://downloads.immortalwrt.org/releases/24.10.6/packages/aarch64_cortex-a53/luci/
  4. ImmortalWrt — 24.10.6 packages feed (aarch64_cortex-a53) — https://downloads.immortalwrt.org/releases/24.10.6/packages/aarch64_cortex-a53/packages/
  5. HomeProxy — service init script — https://github.com/immortalwrt/homeproxy/blob/98a6ad9e71484528008ff435694fd107591f3a1d/root/etc/init.d/homeproxy
  6. OpenWrt — opkg package manager — https://openwrt.org/docs/guide-user/additional-software/opkg
  7. HomeProxy — node settings view — https://github.com/immortalwrt/homeproxy/blob/98a6ad9e71484528008ff435694fd107591f3a1d/htdocs/luci-static/resources/view/homeproxy/node.js
  8. sing-box — Configuration — https://sing-box.sagernet.org/configuration/
  9. HomeProxy — client settings view — https://github.com/immortalwrt/homeproxy/blob/98a6ad9e71484528008ff435694fd107591f3a1d/htdocs/luci-static/resources/view/homeproxy/client.js

Sources checked 14 октября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

HomeProxy OpenWrt настройка: установка, проверка и откат | AethoVPN