sing-box на Android: импорт подписки и базовая проверка подключения
Пошаговая инструкция по импорту подписки в sing-box на Android, настройке TUN, диагностике VLESS-подключения и чтению журналов.
Содержание
В этой инструкции разберём, как импортировать подписку в sing-box на Android, включить перехват трафика через TUN, проверить работоспособность VLESS-подключения и диагностировать типичные ошибки по журналам. Материал рассчитан на пользователей, которые уже получили ссылку на конфигурацию от своего VPN-провайдера.
Подготовка: что нужно знать о подписке и конфиге
Подписка — это URL, который обычно отдаёт сервер в формате v2ray или JSON. sing-box умеет конвертировать многие форматы, но в итоге создаёт собственный JSON-конфиг. На Android приложение работает как прокси-ядро: оно поднимает виртуальный сетевой интерфейс TUN и маршрутизирует трафик через выбранный outbound.
Сначала скачайте приложение SFA (sing-box for Android) с официального сайта или из GitHub-релиза. Версия должна быть актуальной — проверьте на странице релизов.
В конфигурации sing-box используются несколько важных секций: inbounds (входящие подключения, например TUN), outbounds (исходящие — ваши прокси), route (правила маршрутизации) и dns (настройки резолвинга). Для базового VPN достаточно одного outbound типа vless и входящего TUN.
Импорт подписки в sing-box на Android
Откройте приложение, перейдите на вкладку Profile и нажмите «+» в правом верхнем углу.
Выберите один из способов:
- Import from URL — вставьте ссылку на подписку и нажмите Save. Приложение скачает и сконвертирует данные.
- Import from file — укажите локальный файл JSON или v2ray-подписку.
- Create manually — вставьте raw JSON напрямую, если у вас есть готовая конфигурация.
После импорта профиль появится в списке. Если подписка была в формате base64 (типичная v2ray-ссылка), sing-box автоматически преобразует её в свою структуру. Проверьте, что в профиле появились outbounds — их можно увидеть, нажав на профиль и выбрав «View profile».
Важно: некоторые подписки требуют указания server, port, uuid и tls. Если поля пустые или подпись не конвертируется — обновите подписку или запросите новый ключ у провайдера.
Базовая проверка подключения после импорта
Как только профиль импортирован, нажмите на него, чтобы сделать его активным, и затем включите VPN переключателем на главном экране. Приложение запросит разрешение на подключение — подтвердите.
Если TUN настроен правильно, в статусе появится иконка VPN и таймер. Проверьте IP-адрес, открыв сайт для определения IP (например, ipinfo.io) — он должен соответствовать IP вашего прокси-сервера.
Если сайты не открываются, но VPN включается, первым делом посмотрите на вкладку Logs. Там вы увидите попытки соединения и ошибки.
Как читать журналы и искать ошибки
В журнале sing-box уровня debug отображаются все события. Например:
INFO [VPN] outbound/vless: connected to server
ERROR [VPN] outbound/vless: connection failed: context deadline exceeded
Первая строка говорит, что соединение с сервером установлено. Вторая — о тайм-ауте; проверьте имя сервера, порт и сетевые настройки.
Ошибка TLS handshake failed указывает на проблему с сертификатом или шифрованием. Убедитесь, что в конфиге указан правильный serverName, а если сервер использует необычный порт для TLS, он тоже должен совпадать.
Ошибка dns server timeout говорит о сбое в секции DNS. Проверьте, какие DNS-серверы указаны в профиле (обычно это 8.8.8.8 или 1.1.1.1).
Настройка TUN для полноценного VPN
Если после импорта TUN-вход не создан, вы не сможете маршрутизировать системный трафик. Добавьте в inbounds секцию с type tun:
{
"type": "tun",
"tag": "tun-in",
"address": ["10.0.0.1/32"],
"auto_route": true,
"strict_route": true,
"sniff": true
}
Параметр auto_route автоматически добавляет правила для перехвата трафика, strict_route блокирует обход VPN, а sniff определяет действительное имя домена для маршрутизации. После редактирования не забудьте сохранить и перезапустить профиль.
Правила маршрутизации и DNS в контексте проверки
Если трафик идёт в обход нужного outbound, вы не заметите работы VPN. Глобальный route определяет, какие исходящие соединения выбираются для тех или иных адресов. Проверьте, что правило final (последний fallback) указывает на ваш прокси. Если в конфиге есть rule_set, убедитесь, что они загружаются корректно.
DNS в sing-box выполняет двойную задачу: резолвит адреса и может предотвращать утечки. Когда TUN включён, весь DNS-трафик перехватывается и обрабатывается внутри core. Полезно задать явный DNS-сервер, чтобы не зависеть от церковного резолвера. Пример:
"dns": {
"servers": [
{"address": "https://1.1.1.1/dns-query", "tag": "cloudflare"}
]
}
Также в route можно добавить правило, направляющее DNS-запросы на указанный сервер.
Типичные ошибки при импорте и подключении
1. Не скачивается подписка
Проверьте, доступен ли URL из браузера телефона. Если сервер требует расшифровки по токену — обновите ссылку. Иногда помогает переключение между мобильной сетью и Wi-Fi.
2. Профиль импортирован, но нет подключения
Убедитесь, что в конфиге есть хотя бы один outbound. Если там несколько, используйте правила маршрутизации (route), чтобы направить трафик на нужный outbound, либо активируйте outbound вручную через «Settings» — «Active profile».
3. VPN включается, но интернет не работает
Проверьте настройки DNS. Иногда провайдер блокирует стандартные DNS, укажите вариант dns в конфиге: {"dns":{"servers":[{"address":"8.8.8.8"}]}}. Также убедитесь, что размер MTU TUN не превышает значение сервера.
4. VLESS-транспорт WS не проходит
Если используется VLESS + WebSocket, важно правильно указать path и host в транспортной секции outbound. Например:
"transport": {
"type": "ws",
"path": "/my-path",
"headers": {"Host": "example.com"}
}
При отсутствии совпадений сервер отклоняет соединение.
Заключение
Мы разобрали основной сценарий настройки sing-box на Android: импорт подписки, проверку активации, анализ логов и создание TUN-интерфейса. Если после всех шагов соединение не устанавливается, используйте curl из Termux для проверки сервера или обратитесь к документации sing-box по разделам route, DNS и TUN.
Проверено на практике
- Дата проверки: 2025-04-08
- Среда: Android 14, SFA 1.9.0
- Версии: sing-box 1.9.0
Мини-чеклист
- Скачать последнюю версию SFA с официального сайта
- Импортировать подписку через URL или файл
- Проверить, что в импортированном профиле есть outbound
- Включить профиль и подтвердить VPN-соединение
- Открыть сайт для проверки IP и убедиться, что адрес изменился
- Изучить логи при возникновении ошибок
Частые ошибки
- Импорт сырой ссылки без конвертации
- Отсутствие TUN-входа в inbounds
- Неверный путь или Host при использовании WebSocket
- Игнорирование ошибок DNS в логах
Источники и документация
FAQ
Как обновить подписку в sing-box?
В приложении SFA перейдите на вкладку Profile, нажмите на профиль и выберите «Update», либо просто потяните список вниз для обновления.
Можно ли использовать sing-box как обычный VPN?
Да, при включённом TUN весь системный трафик будет перехвачен и направлен через выбранный outbound, что соответствует работе классического VPN.
Что делать, если журнал не показывает никаких событий?
Откройте настройки профиля и установите уровень логирования debug, чтобы видеть детальную информацию о соединениях и ошибках.
Хотите перейти сразу к рабочему доступу?
Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.
Получить доступ