Устранение неполадок на Android
Решение частых проблем в Throne для Android: VPN не запускается или нет трафика, приложение останавливается в фоне, ошибки подписок и маршрутизации.
Найдите сообщение или признак проблемы, которые вы видите, и выполните указанные шаги. Сообщения приведены так, как их показывает приложение на русском языке; сообщения, у которых нет перевода, приведены на английском с переводом в скобках. О проблемах с Throne для компьютера см. Устранение неполадок.
VPN не запускается или нет трафика
Если запуск не удался, Throne показывает причину на полосе внизу экрана с кнопкой Журналы (Logs). Сообщение остаётся, пока вы не смахнёте его, не нажмёте Журналы или не запустите подключение снова.
«Отказано в разрешении на создание службы VPN» (Permission denied to create a VPN service)
Android не выдал Throne разрешение на VPN. Обычно это значит, что вы отклонили запрос. Кроме того, Android отказывает без запроса, если для другого VPN-приложения включена постоянная VPN (Always-on VPN).
- Снова нажмите кнопку подключения и разрешите запрос.
- Если запрос не появляется, откройте настройки VPN в Android и отключите постоянную VPN для другого приложения.
- Если Throne показывает «VPN confirmation unavailable» (подтверждение VPN недоступно), на вашем устройстве нет экрана для этого запроса. См. Разрешение на VPN.
Android отказывается создавать VPN
Android выдал разрешение, но затем отказался создавать VPN-интерфейс. В этом случае сообщение «Не удалось: …» (Failed: …) обычно содержит «configure tun interface».
- Отключите другие VPN-приложения и проверьте в настройках VPN Android, что ни для одного из них не включена постоянная VPN.
- Перезагрузите устройство и подключитесь снова.
Другие сообщения при подключении
| Сообщение | Причина | Что делать |
|---|---|---|
| «Пожалуйста, выберите профиль» (Please select a profile) | Профиль не выбран. | Нажмите на профиль, затем подключитесь. |
| «Не удалось: Profile … has a type this build cannot use: …» (у профиля тип, который эта сборка не может использовать) | Этот тип профиля есть только в версии для компьютера, например Tailscale или дополнительное ядро (Extra Core). | Используйте другой профиль. См. ниже. |
| Сообщение о маршрутизации или WARP | Проблема в профиле маршрутизации или в настройках WARP. | См. Ошибки маршрутизации и Ошибки WARP. |
| Любое другое сообщение «Не удалось: …» | Ядро сообщило об ошибке. | Нажмите Журналы (Logs) и прочитайте последние строки. |
Подключено, но ничего не загружается
- Нажмите на полосу внизу экрана. «HTTP-соединение установлено за … мс» (Success: HTTP handshake took …ms) означает, что профиль работает. «Ошибка: …» (Failed: …) означает, что не работает профиль или его сервер.
- Если проверка не прошла, нажмите ⋮ →
URL testи выберите работающий профиль. См. Тестирование и автовыбор. - Проверьте прокси для отдельных приложений: откройте
Настройки(Settings) →TUN / VPN→Режим VPN для приложений(Apps VPN mode), чтобы увидеть список приложений. В режимеПрокси(Proxy) VPN используют только выбранные приложения. В режимеОбход(Bypass) выбранные приложения его не используют. Если не выбрано ни одного приложения, VPN используют все приложения. См. Прокси для отдельных приложений. - Переключитесь на профиль маршрутизации
Defaultчерез ⋮ →Routing profileи проверьте снова. Если теперь всё работает, причина — в правиле вашего собственного профиля маршрутизации. См. Маршрутизация. - Проверьте DNS:
Настройки→DNS→Удаленный DNS(Remote DNS), по умолчаниюhttps://8.8.8.8/dns-query. Попробуйте другой сервер. См. DNS. - Если вы включили
Tun IPv6илиTun routingвНастройки→TUN / VPN, выключите их и проверьте снова. ИспользуйтеTun IPv6, только если ваш сервер поддерживает IPv6. Если некоторые приложения или сайты не работают, а другие работают, задайте на том же экранеMTUравным1500и переподключитесь. - Чтобы выяснить, не режим ли VPN вызывает проблему, установите для
Настройки→General→Сервисный режим(Service mode) значениеТолько прокси(Proxy only) и подключитесь. Затем в приложении, у которого есть собственная настройка прокси, укажите прокси SOCKS5127.0.0.1, порт2080— см.Настройки→Inbound→Порт прокси SOCKS5(Proxy port). Если это приложение работает, вернитесь в режимVPNи попробуйте другое значениеРеализация TUN(TUN implementation). См. Режимы VPN и прокси.
Нет интернета, когда Throne выключен
В Android включена постоянная VPN (Always-on VPN) вместе с параметром «Block connections without VPN» (блокировать подключения без VPN). Тогда Android блокирует весь трафик, пока Throne не подключён. Подключите Throne с работающим профилем или отключите этот параметр в настройках VPN Android. См. Постоянная VPN.
У некоторых приложений нет интернета после отключения
Настройки (Settings) → DNS → Включить FakeDNS (Enable FakeDNS) выдаёт приложениям поддельные адреса, которые работают только через Throne. Throne предупреждает об этом: «Может вызвать необходимость перезапуска других приложений для повторного подключения к сети после остановки прокси». Перезапустите эти приложения или выключите Включить FakeDNS.
Throne останавливается в фоне
Типичные признаки: VPN отключается при выключенном экране, уведомление исчезает, подключение перестаёт работать после разблокировки телефона, или кнопки уведомления либо виджета ничего не делают.
- Откройте
Настройки(Settings) →General→Battery optimization. Там должно быть «Unrestricted» (без ограничений). Если это не так, нажмите на пункт и разрешите Throne работать без ограничений. См. Оптимизация батареи. - Откройте
Настройки→General→Background & auto-start. Разрешите Throne автоматически запускаться и работать в фоне. См. Настройки производителя. - Оставьте включённым
Сбросить исходящие соединения при выходе из спящего режима(Reset outbound connections when device wakes from sleep) — он включён по умолчанию. Когда устройство выходит из глубокого сна, Throne закрывает старые соединения, и приложения подключаются заново. Также оставьте включённымСбросить исходящие соединения при изменении сети(Reset outbound connections when network changes). - Включите постоянную VPN, чтобы Android сам снова запускал Throne. См. Постоянная VPN.
- На некоторых устройствах Throne останавливается, если смахнуть его из списка недавних приложений. Оставьте его в списке или закрепите там, если устройство это позволяет.
Проблемы с подписками
При ручном обновлении подписки ошибки появляются внизу экрана в виде имени группы, за которым следует сообщение. Автоматические обновления записывают свои ошибки только в Журналы (Logs).
| Сообщение | Причина | Что делать |
|---|---|---|
| «Request with proxy but no profile started.» (запрос через прокси, но ни один профиль не запущен) | В Настройки (Settings) → Подписки (Subscriptions) включён Use proxy или выбран сервисный режим Только прокси, а Throne не подключён. |
Сначала подключитесь. В режиме VPN можно также выключить Use proxy. |
| «Error transferring … - server replied: …» (ошибка передачи …, ответ сервера: …) | Сервер отклонил запрос, например с кодом 403 или 404. | Проверьте URL. Многие провайдеры принимают запросы только от определённых приложений: укажите User-Agent, который называет ваш провайдер, или включите отправку HWID. |
| «No profiles found in the subscription; it was left unchanged.» (в подписке не найдено профилей; она оставлена без изменений) | В ответе нет профилей, которые Throne может прочитать, например это веб-страница. | Часто это та же проблема с User-Agent или HWID. Также проверьте форматы импорта. |
| «Insecure redirect» (небезопасное перенаправление) | Сервер перенаправил URL https:// на http://. Throne не следует таким перенаправлениям. |
Попросите у провайдера правильный URL https://. |
| «Too many redirects» (слишком много перенаправлений) | Сервер перенаправляет по кругу. | Уточните URL у провайдера. |
| «Response larger than 64 MB» (ответ больше 64 МБ) | Подписка слишком большая. | Попросите у провайдера список поменьше. |
| «Still in use, so kept instead of deleted» (всё ещё используется, поэтому сохранён, а не удалён) или «The running profile was kept.» (запущенный профиль сохранён) | Обновление или один из параметров очистки после него удалил бы профиль, к которому вы подключены, поэтому Throne его сохранил. Это видно в отчёте об изменениях или на экране Журналы. |
Ничего делать не нужно. Чтобы всё равно удалить его, включите Allow stopping the active profile в Настройки → Подписки. |
Чтобы изменить User-Agent или HWID для одной группы, откройте в боковом меню Группы (Groups), нажмите кнопку Редактировать (Edit) у группы и откройте Advanced. Там есть User agent и Send HWID. Настройки для всех групп находятся в Настройки → Подписки. См. User-Agent и HWID.
Провайдер принимает обновления только с вашего собственного подключения
Пока Throne подключён, его собственные запросы, например обновления подписок, тоже проходят через Throne и подчиняются вашему профилю маршрутизации. Некоторые провайдеры принимают запросы на обновление только с вашего собственного интернет-подключения. Добавьте правило, которое направляет домен подписки в direct:
- Откройте в боковом меню
Маршруты(Routing). Откройте меню текущего профиля маршрутизации и выберитеРедактировать(Edit). - Выберите
Add rule. - Установите для
Outboundзначениеdirect. В полеDomain suffixвведите имя хоста из URL подписки, напримерsub.example.com. - Сохраните правило и профиль маршрутизации. Поместите правило выше других правил, которые срабатывают для того же домена.
Если провайдер требует, чтобы запрос приходил с одного из его серверов, выберите вместо этого в Outbound этот сервер.
Ошибки маршрутизации
| Сообщение | Причина | Что делать |
|---|---|---|
| «The routing profile is referencing outbounds that no longer exist, consider revising your settings» (профиль маршрутизации ссылается на outbound, которых больше нет; проверьте настройки) | Правило направляет трафик на профиль сервера, который был удалён, например при обновлении подписки. | Откройте профиль маршрутизации (Маршруты → его меню → Редактировать). Правила с удалённым сервером показывают «Missing server (#…)» (сервер отсутствует). Выберите другой outbound. |
| «Unknown rule-set "…" in rule "…" of routing profile "…"» (неизвестный набор правил в правиле профиля маршрутизации) | Правило использует имя набора правил (rule-set), которое Throne не знает. | На экране Маршруты нажмите Refresh repository list или используйте URL файла .srs. |
| «The rule-set list is not available. …» (список наборов правил недоступен) | Список имён наборов правил не был загружен. | На экране Маршруты нажмите Refresh repository list. |
| «raw routing profiles are not supported on Android» (raw-профили маршрутизации на Android не поддерживаются) | Вы импортировали raw-профиль маршрутизации из Throne для компьютера. | Используйте структурированный или удалённый профиль маршрутизации. |
Ошибки WARP
| Сообщение | Причина | Что делать |
|---|---|---|
| «WARP is enabled but its config has not been generated. Generate it in Settings › Routing › WARP.» (WARP включён, но его конфигурация не создана; создайте её в Settings › Routing › WARP) | WARP включён, но для выбранного режима нет конфигурации WARP. | Откройте Настройки (Settings) → Routing → WARP и нажмите Создать конфигурацию (Generate WARP config). |
| «Не удалось: Warp is enabled but its config has not been generated. Please generate the Warp config first in Routing Settings.» (WARP включён, но его конфигурация не создана; сначала создайте её в настройках маршрутизации) | Та же проблема, показанная при подключении. | То же самое. |
| «Failed to generate WARP config» (не удалось создать конфигурацию WARP) | Регистрация в Cloudflare не удалась. В некоторых сетях она заблокирована. | Подключитесь к работающему профилю, включите Use proxy в Настройки → Подписки (Subscriptions) и создайте конфигурацию снова. |
| Сообщения нет, но при включённом WARP ничего не загружается | В режиме WireGuard для WARP нужен профиль, который пропускает UDP. |
Установите для Mode значение MASQUE, а для HTTP version — HTTP/2: этому варианту нужен только TCP. Создайте конфигурацию для нового режима. |
См. Cloudflare WARP.
Проблемы с обновлением
- «The download is signed with a different key than this build, so Android cannot install it as an update. Back up, uninstall this build and install the release from GitHub.» (загруженный файл подписан другим ключом, чем эта сборка). Ваша копия подписана не релизным ключом Throne. Создайте резервную копию (боковое меню →
Инструменты(Tools) →Create backup), удалите Throne, установите APK с GitHub и восстановите резервную копию. - «This update cannot be installed from the app (…). Download it from the release page.» (это обновление нельзя установить из приложения; скачайте его со страницы релиза). Нажмите
Open in browser, скачайте APK для своего устройства и установите его поверх текущего приложения. - «Could not check for updates» (не удалось проверить обновления): Throne не смог связаться с GitHub. Подключитесь к работающему профилю и попробуйте снова.
- Android не устанавливает 2.0.0 поверх более старого Throne для Android. См. Переход с 1.x или NekoBox.
Профиль работает на компьютере, но не на Android
- Проверьте тип профиля. Профили Tailscale и дополнительного ядра на Android не работают. Настройки TLS spoof на Android игнорируются.
- Сравните настройки, которые влияют на подключение профилей: пресеты в
Настройки(Settings) →Presets(мультиплексирование, фрагментация TLS, TLS tricks, uTLS) иНастройки→Core→Xray VLESS preference. Предпочтение VLESS применяется при импорте профилей, поэтому после его изменения обновите подписку ещё раз. См. sing-box или Xray. - Чтобы получить те же настройки, что и на компьютере, восстановите резервную копию с компьютера. См. Перенос между компьютером и Android.
- Если профиль всё равно не работает, сообщите о проблеме и приложите логи обоих приложений.
Логи
Откройте в боковом меню Журналы (Logs). Там показан лог ядра. На панели инструментов есть Обновить (Update) — перезагружает отображение, — Share logs и Очистить журнал (Clear logs). В меню есть Save logs…, Hide sensitive data и Hide destinations.
Share logs и Save logs… создают один текстовый файл, в котором есть:
- заголовок с версиями приложения и ядра, версией Android, моделью устройства, ABI, сервисным режимом и некоторыми настройками, не содержащими секретов;
- лог ядра и лог ядра предыдущего подключения;
- последние 2000 строк системного лога приложения.
Hide sensitive data по умолчанию включён. Не выключайте его. В экспортированном файле он заменяет:
- путь и параметры запроса в каждом URL, а также имена пользователей и пароли в URL (имя хоста остаётся);
- пароли, ключи, токены, UUID и подобные значения;
- адреса серверов, SNI и имена хостов в конфигурации;
- публичные IP-адреса (частные адреса остаются);
- имена сетей Wi-Fi.
Hide destinations дополнительно скрывает доменные имена в строках о подключениях и DNS. Его можно включить, только пока включён Hide sensitive data, и после перезапуска приложения Throne его не сохраняет. Скрытие работает по мере возможности: прочитайте файл, прежде чем публиковать его.
Для большей детализации установите для Настройки (Settings) → Core → Тип журнала (Log level) значение info или debug и нажмите Применить (Apply), чтобы перезапустить приложение. Воспроизведите проблему, затем поделитесь логами. После этого верните уровень warn.
После сбоя Throne перезапускается и предлагает поделиться файлом лога со скрытыми конфиденциальными данными.
Как сообщить о проблеме
Сообщайте о проблемах с приложением для Android на github.com/throneproj/ThroneForAndroid/issues. Укажите:
- что вы делали, чего ожидали и что произошло;
- файл лога из
Share logsилиSave logs…с включённымHide sensitive data; - тип профиля (например, VLESS с REALITY) и сервисный режим.
Файл лога уже содержит версию приложения, версию ядра и модель устройства. Общие советы см. на странице Как сообщить об ошибке.