6.8 KiB
Устранение неполадок
Ошибка «Object not found» при сохранении
Симптом: При сохранении любой формы (настройки клиента, списки контроля доступа и др.) появляется:
RPC call to luci.homeproxy/[method] failed with error -32000: Object not found
Причина: rpcd не загрузил модуль luci.homeproxy. Чаще всего это происходит сразу после установки или обновления пакета, если скрипт post-install отправил сигнал перезагрузки, когда rpcd ещё не был запущен.
Решение:
/etc/init.d/rpcd restart
Затем выйдите из веб-интерфейса и войдите снова. Существующая сессия не подхватывает новые разрешения без повторного входа.
Недоступны режимы прокси (нет TProxy, нет Tun)
Симптом: Селектор режима прокси на странице «Клиент» показывает только «Redirect TCP». Опции TProxy и Tun отсутствуют, хотя необходимые модули ядра установлены.
Причина: Та же, что выше — luci.homeproxy не загружен. Вызов определения возможностей (singbox_get_features) возвращает пустой объект, все флаги оказываются ложными и опции скрываются.
Решение: То же — перезапустить rpcd и войти заново.
TypeError на странице «Клиент»
Симптом: При открытии /cgi-bin/luci/admin/services/homeproxy/client появляется:
TypeError: Cannot read properties of undefined (reading 'content')
Причина: Вызов RPC для загрузки списков доменов завершился неудачей (модуль не загружен или первая загрузка системы), а старая версия пакета не обрабатывала это корректно.
Решение: Перезапустите rpcd и войдите снова, как описано выше. Если вы используете старую сборку — обновитесь до последнего релиза, в котором это исправлено.
Все три проблемы — одно решение
Если вы только что установили или обновили пакет и наблюдаете любую из перечисленных ошибок:
/etc/init.d/rpcd restart
Выйдите из веб-интерфейса и войдите снова. Нужны оба шага.
Не удаётся скачать пакет через wget (HTTPS не работает)
Симптом:
Failed to send request: Operation not permitted
Failed to allocate uclient context
Причина: Встроенный wget в OpenWRT (uclient-fetch) не имеет установленной SSL-библиотеки и не умеет работать с HTTPS.
Решение:
opkg update && opkg install libustream-openssl ca-certificates
Если сам opkg не имеет доступа к интернету — скачайте файл .ipk или .apk на компьютере со страницы релизов и передайте на роутер через scp.
Нет интернета при включённом Re:HomeProxy (конфликт с mwan3)
Симптом: Ping и DNS работают, но HTTP/HTTPS-трафик не проходит при включённом Re:HomeProxy. Остановка mwan3 восстанавливает связь.
Причина: mwan3 использует fwmark и policy routing для распределения трафика между WAN-интерфейсами. Когда ядро прокси устанавливает исходящие соединения, mwan3 может перехватить их и направить не туда.
Решение: Сообщить ОС пропускать логику маршрутизации mwan3 для трафика, уже обработанного Re:HomeProxy (помечен 0x64).
Добавьте правило в виде постоянного include файрвола:
uci add firewall include
uci set firewall.@include[-1].path='/etc/firewall.d/homeproxy-mwan3'
uci set firewall.@include[-1].type='script'
uci set firewall.@include[-1].reload='1'
uci commit firewall
mkdir -p /etc/firewall.d
cat > /etc/firewall.d/homeproxy-mwan3 << 'EOF'
#!/bin/sh
iptables -t mangle -I OUTPUT 1 -m mark --mark 0x64/0x64 -j RETURN
EOF
chmod +x /etc/firewall.d/homeproxy-mwan3
/etc/init.d/firewall reload
Для проверки, что правило применилось:
iptables -t mangle -L OUTPUT -n --line-numbers | head -5
Правило с меткой 0x64 должно быть первым в списке.
Здесь намеренно используется
iptables, потому что mwan3 работает на уровне iptables. На системе с fw4 / nftables правило всё равно применяется через слой совместимости iptables-nft и не конфликтует с nft-цепочками Re:HomeProxy.
Кнопка обновления подписок не работает
Симптом: После нажатия кнопки «Обновить подписки» появляется спиннер, но количество узлов остаётся нулевым после перезагрузки страницы.
Решение: Обновитесь до последнего релиза. В более ранних сборках использовался метод фонового выполнения, который некорректно работал в контексте rpcd. В текущей версии используется правильный механизм.
Если вы уже используете последний релиз и проблема сохраняется — запустите вручную через SSH, чтобы увидеть возможные ошибки:
ucode /etc/homeproxy/scripts/update_subscriptions.uc