mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-14 04:15:06 +08:00
124 lines
6.8 KiB
Markdown
124 lines
6.8 KiB
Markdown
🇬🇧 [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
|
||
```
|