Files

124 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
🇬🇧 [English](Troubleshooting-en) | 🇷🇺 [Русский](Troubleshooting-ru)
# Устранение неполадок
---
## Ошибка «Object not found» при сохранении
**Симптом:** При сохранении любой формы (настройки клиента, списки контроля доступа и др.) появляется:
```
RPC call to luci.homeproxy/[method] failed with error -32000: Object not found
```
**Причина:** rpcd не загрузил модуль `luci.homeproxy`. Чаще всего это происходит сразу после установки или обновления пакета, если скрипт post-install отправил сигнал перезагрузки, когда rpcd ещё не был запущен.
**Решение:**
```sh
/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 и войдите снова, как описано выше. Если вы используете старую сборку — обновитесь до последнего релиза, в котором это исправлено.
---
## Все три проблемы — одно решение
Если вы только что установили или обновили пакет и наблюдаете любую из перечисленных ошибок:
```sh
/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.
**Решение:**
```sh
opkg update && opkg install libustream-openssl ca-certificates
```
Если сам `opkg` не имеет доступа к интернету — скачайте файл `.ipk` или `.apk` на компьютере со [страницы релизов](https://github.com/1andrevich/homeproxy-hiddify/releases) и передайте на роутер через `scp`.
---
## Нет интернета при включённом Re:HomeProxy (конфликт с mwan3)
**Симптом:** Ping и DNS работают, но HTTP/HTTPS-трафик не проходит при включённом Re:HomeProxy. Остановка mwan3 восстанавливает связь.
**Причина:** mwan3 использует fwmark и policy routing для распределения трафика между WAN-интерфейсами. Когда ядро прокси устанавливает исходящие соединения, mwan3 может перехватить их и направить не туда.
**Решение:** Сообщить ОС пропускать логику маршрутизации mwan3 для трафика, уже обработанного Re:HomeProxy (помечен `0x64`).
Добавьте правило в виде постоянного include файрвола:
```sh
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
```
Для проверки, что правило применилось:
```sh
iptables -t mangle -L OUTPUT -n --line-numbers | head -5
```
Правило с меткой `0x64` должно быть первым в списке.
> Здесь намеренно используется `iptables`, потому что **mwan3** работает на уровне iptables. На системе с fw4 / nftables правило всё равно применяется через слой совместимости iptables-nft и не конфликтует с nft-цепочками Re:HomeProxy.
---
## Кнопка обновления подписок не работает
**Симптом:** После нажатия кнопки «Обновить подписки» появляется спиннер, но количество узлов остаётся нулевым после перезагрузки страницы.
**Решение:** Обновитесь до последнего релиза. В более ранних сборках использовался метод фонового выполнения, который некорректно работал в контексте rpcd. В текущей версии используется правильный механизм.
Если вы уже используете последний релиз и проблема сохраняется — запустите вручную через SSH, чтобы увидеть возможные ошибки:
```sh
ucode /etc/homeproxy/scripts/update_subscriptions.uc
```