Документация Stealtify

Справочник по клиенту: форматы конфигураций, поля редактора сервера, таблица транспортов, порядок разрешения правил, установка и типичные проблемы. Если нужен не справочник, а пошаговый сценарий первого запуска — он на странице Первый запуск за 5 минут.

Раздел 1. С чего начать

Коротко о главном

Этот раздел — для тех, кто открыл Stealtify впервые. Здесь нет ни одной настройки: только то, что стоит понять до установки. Пять минут чтения избавят от большинства вопросов дальше.

Что это за приложение

Stealtify — приложение для Android, которое решает, каким путём пойдёт трафик каждой программы на вашем телефоне. Одни программы вы отправляете через свой сервер, другие оставляете работать напрямую. Решение принимается для каждой программы отдельно, а не для телефона целиком.

Обычные VPN-приложения работают иначе: они уводят через сервер весь телефон разом. Из-за этого ломаются программы, которые ждут вашего обычного адреса, — банковские приложения, госсервисы, служба доставки. Stealtify этого не делает: то, что вы не отметили, продолжает работать как раньше.

Обычный VPN

  • Банк через сервер
  • Такси через сервер
  • Мессенджер через сервер
  • Браузер через сервер

Через сервер уходит весь телефон разом — и те программы, которым это мешает, тоже.

Stealtify

  • Банк напрямую
  • Такси напрямую
  • Мессенджер через сервер
  • Браузер через сервер

Через сервер идёт только то, что вы отметили. Остальное работает как раньше.

Пример распределения. Какая программа куда идёт — решаете вы, приложение только исполняет.

Сервер приложение не предоставляет. Оно умеет пользоваться тем, к которому у вас уже есть доступ, — вашим собственным или тем, что вы получили у поставщика. Это ключевое отличие от сервисов, где сервер входит в подписку.

Шесть слов, которые встретятся

Дальше в документации эти слова используются постоянно. Их достаточно понять один раз.

Сервер
Чужой компьютер в другом месте, через который идёт ваш трафик. Вы либо арендуете его сами, либо получаете доступ у поставщика.
Конфиг
Набор данных для подключения к серверу: адрес, номер порта, пароль или ключ. Обычно приходит одной длинной строкой или картинкой с QR-кодом. Конфиг — это не сам сервер, а пропуск к нему.
Туннель
Защищённый проход между телефоном и сервером. Пока он поднят, то, что вы отправляете, читается только на двух концах, а не по дороге.
Транспорт
Способ, которым устроен туннель. Их несколько, они отличаются скоростью и заметностью в сети. Выбирать транспорт вручную не нужно: он записан внутри конфига, и приложение читает его само.
Подписка
Одна ссылка, за которой стоит не один сервер, а список. Поставщик обновляет список у себя, приложение перечитывает его само примерно раз в 12 часов — а кнопка «Обновить» подтягивает новые серверы сразу.
Группа
Полка, на которую вы складываете программы. У полки один сервер на всех. Переставили сервер у группы — маршрут поменялся сразу у всех программ на ней.

Что нужно, чтобы всё заработало

Приложение — только половина. Вторая половина у вас.

  • Телефон на Android 10 или новееПрава root не нужны, прошивку менять не надо. Версия смотрится в настройках телефона, раздел «О телефоне».
  • Доступ к серверуЛибо свой сервер, поднятый самостоятельно, либо доступ, полученный у поставщика. Без этого приложение установится, но подключаться будет некуда.
  • Конфиг или ссылка-подпискаТа самая строка или QR-код. Это единственное, что придётся куда-то вставить руками, и делается это один раз.

Если пункта второго и третьего нет — начните с раздела «Свой сервер» ниже: там разобрано, как поднять сервер самому на любом VPS-провайдере.

Чем Stealtify отличается

Четыре вещи, которых по отдельности хватает у других, а вместе — редко.

  • Правила по программам и по сайтам на одном экранеНе нужно выбирать между «весь телефон через сервер» и «ничего через сервер». Список программ и список сайтов лежат рядом, и отметки ставятся касанием.
  • Несколько серверов работают одновременноРазным программам можно назначить разные серверы, и они будут работать в один момент времени. Переключать профили вручную не требуется.
  • Восемь способов подключения в одном приложенииСсылка, которая у вас уже есть, скорее всего подойдёт: приложение понимает восемь распространённых форматов и разбирает их само. Держать несколько клиентов под разные конфиги не нужно.
  • Ничего о вас не собираетсяНи учётной записи, ни аналитики, ни отправки статистики. Настройки и пароли остаются на телефоне, ключи хранятся в защищённом хранилище Android.

Как выбрать, у кого брать доступ

Мы не продаём доступ и никого не рекомендуем — ни в текстах, ни ссылками. Но выбирать вам, поэтому вот то, на что стоит смотреть. Список работает одинаково для любого поставщика.

  • Пробный период или возврат денег. Поставщик, уверенный в своих серверах, даёт попробовать до оплаты.
  • Сколько устройств на одном доступе. Один телефон, три, пять — цифра должна быть названа заранее, а не выясняться после оплаты.
  • Есть ли в подписке несколько серверов. Один сервер — это одна точка отказа: упал он, и подключаться некуда.
  • Обновляется ли список серверов. Живая подписка подтягивает новые адреса сама; мёртвая остаётся с теми, что были при покупке.
  • Как быстро отвечает поддержка. Проверяется до оплаты одним вопросом.
  • Открывается ли ссылка в стороннем клиенте. Если конфиг работает только в приложении поставщика, вы привязаны к нему целиком — включая его сроки и его решения.
  • Не просят ли лишнего. Для выдачи доступа не нужны ни ваши документы, ни доступ к телефону, ни пароли от других сервисов.
  • Цена, сильно выпадающая из общей, — повод задать вопросы, а не повод радоваться.

Что важно знать заранее

Четыре вещи, которые чаще всего выясняются поздно.

  • Ссылка на сервер — это парольВнутри неё лежат ваши учётные данные. Не публикуйте её в открытых чатах и не пересылайте тем, кому не доверяете: у получившего будет тот же доступ, что у вас.
  • Скорость задаёт сервер, а не приложениеЧерез сервер путь всегда длиннее прямого. Насколько — зависит от того, где сервер стоит и сколько людей на нём. Приложение на это не влияет.
  • Сервер видит, куда вы обращаетесьТуннель закрывает трафик от посторонних по дороге, но не от того, кто держит сервер. Поэтому вопрос доверия к поставщику — не формальность.
  • Настройки переносятся на другое устройствоВсё, что вы настроили, выгружается в один файл и переносится на новый телефон или на телевизор. Заново вставлять конфиги не придётся — подробности в разделах ниже.

Дальше — раздел 2: пошаговый первый запуск, форматы конфигураций, правила маршрутизации и решение проблем.

Раздел 2. Подробная документация

Первый запуск за 5 минут

Инструкция для тех, у кого уже есть подписка или свой сервер. Stealtify — клиент: серверов мы не предоставляем, а подключаемся к вашим. Пройдите шаги по порядку — к концу у вас будет рабочее правило «приложение → группа» и резервный прокси на случай сбоя.

Установка APK

  1. Скачайте файл

    Откройте страницу релизов и скачайте APK последней версии. Загружайте файл только с этого сайта или из канала обновлений — сборки из сторонних каталогов мы не контролируем.

    Открыть страницу релизов

  2. Разрешите установку из неизвестных источников

    Android спросит разрешение при первом открытии файла. Разрешение выдаётся тому приложению, из которого вы открываете APK: браузеру или файловому менеджеру. После установки его можно отозвать.

  3. Откройте приложение

    При первом подключении Android покажет системный запрос на создание VPN-соединения — это стандартное окно VpnService, его нужно подтвердить один раз. Root не требуется.

Экран разрешения установки из неизвестных источников
Системный запрос разрешения на установку.

Импорт подписки: три способа

Конфигурацию даёт ваш продавец подписки или ваш собственный сервер. Клиенту нужен только сам конфиг — в одном из трёх видов.

Ссылка из буфера обмена

Скопируйте ссылку вида vless://…, vmess://…, trojan://…, ss://… или awg://… и нажмите «Добавить сервер» → «Вставить из буфера». Клиент разберёт параметры сам. Это самый быстрый путь, если продавец прислал конфиг текстом.

QR-код

Выберите «Сканировать QR» и наведите камеру на код в личном кабинете продавца. Так удобнее переносить конфиг с экрана компьютера, не пересылая ссылку через мессенджер.

Импорт резервной копии

Если серверов много или вы переносите настройки с другого устройства, используйте импорт конфигурации целиком. Учтите: файл заменяет текущую конфигурацию, а не дополняет её, — сначала сохраните свою через экспорт. Формат файла и что лежит внутри — в разделе Форматы конфигураций.

Добавление сервера вставкой ссылки из буфера обмена
Добавление сервера вставкой ссылки из буфера обмена.
Сканер QR-кода в приложении
Сканирование QR-кода из личного кабинета продавца.

Правило для приложения

Пример: весь трафик Telegram должен идти через US VLESS. Откройте экран правил, найдите Telegram в списке приложений и назначьте его на группу с прокси US VLESS. Всё — правило создано.

Созданное правило сразу видно на главном экране, отдельно искать его не нужно. Включается и выключается оно одним касанием, без правки JSON и без перезапуска подключения.

Экран правил: приложения и домены на одном экране
Экран правил: приложения и домены на одном экране.
Создание правила для приложения
Выбор группы для приложения Telegram.

Правило по домену

Пример: *.youtube.com → US VLESS. На том же экране правил переключитесь к доменам, добавьте маску домена и назначьте её группе с прокси US VLESS. Маршрутизация идёт по домену из TLS SNI, поэтому правило работает для любого приложения, которое ходит на этот адрес.

Правила приложений и правила доменов лежат рядом, на одном экране: видно и то, что назначено приложению, и то, что назначено домену, без переключения между разными разделами настроек.

Создание правила для домена
Добавление доменного правила рядом с правилами приложений.

Резервный прокси и health-check

Добавьте второй сервер тем же способом, что и первый, и укажите его как резервный для основного. Включите health-check: клиент периодически проверяет доступность основного сервера и, если тот перестал отвечать, переключает трафик на резервный.

Смысл в том, чтобы падение одного сервера не превращалось в ручную перенастройку: правила остаются прежними, меняется только сервер под ними.

Настройка резервного сервера и health-check
Настройка резервного сервера и health-check.

Мониторинг

На экране мониторинга видно, сколько трафика израсходовало каждое приложение и через какой сервер оно ходило. Там же лежит журнал соединений — он показывает попытки подключения, ошибки и срабатывания health-check.

Это первое место, куда стоит заглянуть, если что-то работает не так, как ожидалось: журнал обычно сразу показывает, дело в сервере, в правиле или в самой сети.

Потребление трафика по приложениям и журнал соединений
Потребление трафика по приложениям и журнал соединений.

Если прокси не подключается

Короткий чек-лист — в порядке, в котором проще всего проверять:

  • Проверьте срок подписки. Истёкшая или исчерпанная по трафику подписка выглядит точно так же, как «сервер не отвечает».
  • Сверьте SNI и host с тем, что выдал продавец. Опечатка в одном символе домена — самая частая причина, по которой соединение не устанавливается.
  • Проверьте, не истекли ли ключи и не менял ли продавец параметры сервера: иногда конфиг нужно просто импортировать заново.
  • Попробуйте другой транспорт из той же подписки — например AmneziaWG, если VLESS не поднимается: разные транспорты по-разному переживают фильтрацию.
  • Посмотрите журнал соединений: там видно, отвергается подключение сервером или не доходит до него вовсе.

Если проблема воспроизводится на всех серверах одной подписки, вопрос почти наверняка к продавцу подписки, а не к клиенту.

Установка и обновления

Требования

Android 10 и новее, только архитектура arm64-v8a. На 32-битные устройства и более старые версии Android клиент не установится.

Установка

  1. Скачайте APK.
  2. Откройте файл — если Android запросит разрешение на установку из неизвестных источников, разрешите его.
  3. Нажмите «Установить».

К каждой сборке публикуется контрольная сумма SHA-256. Проверить скачанный файл можно командой Get-FileHash с алгоритмом SHA256 и сравнить результат с опубликованным значением.

Обновления

Обновления клиент находит сам: предложение появляется на главном экране и в Настройки → Обновления. Диалог показывает номер версии и список изменений, кнопки «Обновить» и «Позже». Обязательные обновления отложить нельзя.

Первый запуск

Добавьте прокси, нажмите подключение и подтвердите системный запрос разрешения на VPN — статус сменится на «VPN активен».

Откат версии

Android не устанавливает версию с меньшим versionCode поверх более новой, поэтому откатиться на предыдущую сборку простой переустановкой не получится: сначала нужно удалить приложение, а это стирает настройки и базу серверов. Если откат может понадобиться, экспортируйте конфигурацию заранее.

Откуда скачивать

Единственный официальный источник — update.stealtify.app. В Google Play клиента нет и не будет, поэтому Android при установке попросит разрешить установку из неизвестных источников. Надёжнее всего обновляться прямо из приложения: встроенное обновление идёт по защищённому соединению с закреплённым сертификатом, а контрольная сумма проверяется перед установкой.

Проверка подлинности

Контрольная сумма подтверждает только то, что файл скачался без повреждений, — она ничего не говорит о том, кто его собрал. Пересобрать APK со своими серверами и выложить под именем Stealtify может кто угодно, и для VPN-клиента это главная угроза: поддельная сборка видит весь трафик. Поэтому каждая настоящая сборка подписана ключом разработчика, и приложение проверяет подпись при запуске. Если проверка не прошла, клиент не запускается: вместо интерфейса — предупреждение о неподлинной копии и ссылка на официальный источник. Доступа к VPN и настройкам в этом состоянии нет, поэтому подделка не сможет пустить трафик через чужой сервер. Делать для этого ничего не нужно, проверка работает сама.

Сборки старше 1.41.0

Они не могут обновиться по сети: сменился пиннинг сертификатов Let’s Encrypt, и старая сборка не проверяет сертификат сервера обновлений. Скачайте последний APK вручную с официального сайта и установите поверх — конфигурация и данные сохранятся, ключ подписи тот же.

Импорт и управление серверами

Сервер можно добавить тремя способами: кнопкой «+» для быстрого добавления, сканером QR-кода или подпиской по URL. Имя сервера необязательно — если его не указать, клиент подставит «ТИП host». Кнопка «Расширенный ввод» открывает полный редактор со всеми параметрами.

Действия с карточкой сервера

  • Тест — проверка доступности, показывает задержку или текст ошибки.
  • Редактировать — открывает расширенный редактор.
  • Удалить — требует подтверждения «Это действие нельзя отменить».

Поля расширенного редактора

Базовые поля есть у любого сервера: имя, тип протокола, хост, порт, логин и пароль.

  • VLESS, VMess и Trojan — UUID, security (tls / reality / none), транспорт (tcp / ws / grpc), SNI, ALPN, fingerprint, flow, путь и хост WebSocket, имя gRPC-сервиса, параметры REALITY (public key, short ID).
  • Shadowsocks — метод шифрования.
  • SSH — отпечаток ключа хоста, шифр.
  • AmneziaWG — приватный ключ, публичный ключ пира, preshared-ключ, адрес (CIDR), DNS, MTU, keepalive, параметры обфускации Jc/Jmin/Jmax и S1–S4, H1–H4.

Отдельно от протокола: переключатель «Использовать TLS» и настройка «Цепочка» (chain) — пустить трафик сначала через другой прокси, а затем через этот.

Расширенный редактор параметров сервера
Расширенный редактор: базовые поля и параметры выбранного протокола.

Подписки

Карточка подписки показывает название и число серверов в ней, использованный и общий объём трафика, дату окончания и прогресс-бар трафика, который краснеет при расходе больше 90%. Доступны кнопки Обновить и Удалить. Список серверов клиент перечитывает сам примерно раз в 12 часов при наличии сети — точный момент выбирает система, поэтому интервал может оказаться и больше. Открытие приложения и подключение туннеля обновление не запускают, кнопка «Обновить» делает это немедленно. Отключить автообновление или изменить период нельзя.

Форматы конфигураций

Клиент разбирает ссылку одной из восьми схем. Вот они:

  • SOCKS5 — socks5://[user:pass@]host:port (или просто host:port)
  • HTTP CONNECT — http://[user:pass@]host:port
  • Shadowsocks — ss://BASE64(method:password)@host:port#name
  • VLESS — vless://UUID@host:port?параметры#name
  • VMess — vmess://BASE64(JSON)
  • Trojan — trojan://password@host:port?параметры#name
  • AmneziaWG — awg://PRIVATEKEY@host:port?publickey=...&address=...#name
  • AmneziaWG в формате приложения AmneziaVPN — vpn://... (тот же транспорт, другой синтаксис ссылки)

У SSH-транспорта своей схемы ссылки нет: он настраивается только вручную, через расширенный ввод.

Если ссылка не подходит ни под одну из восьми схем, клиент не сможет разобрать её автоматически — параметры нужно будет ввести через расширенный ввод.

QR-коды

Камерой считываются оба вида кодов: с одиночным сервером и с подпиской. Код размером больше 8 КБ или с неизвестной схемой ссылки отклоняется ещё до разбора; входные данные объёмом больше 64 КБ отклоняются тоже.

Резервная копия

Настройки → Данные → Экспорт сохраняет всю конфигурацию в зашифрованный файл stealtify_backup.stbackup — серверы, группы и правила. Старый формат JSON по-прежнему принимается при импорте. Импорт полностью заменяет текущую конфигурацию: прежние серверы, группы и правила удаляются, а не дополняются. Поэтому перед импортом чужого файла сделайте экспорт своего. Файл содержит секреты — ключи и пароли серверов, поэтому хранить его нужно как чувствительные данные; сам клиент никуда его не отправляет.

Правила маршрутизации

Приложения назначаются на группы, а не на прокси напрямую. Прокси задаётся у группы, поэтому одну и ту же настройку прокси переиспользуют сразу несколько приложений.

Порядок разрешения

Для каждого соединения клиент проходит пять шагов по порядку:

Какая группа обслуживает соединение

  1. Правило приложения Правило приложения — если для приложения есть правило, оно назначает его на группу.
    есть → группа приложения правила нет
  2. Правило домена Правило домена — если правила приложения нет, проверяется правило для домена, к которому идёт соединение.
    есть → группа домена правила нет → напрямую

Через что идёт трафик найденной группы

  1. Прокси группы Прокси группы — трафик идёт через прокси, заданный у найденной группы.
    прокси не задан → напрямую недоступен или медленный
  2. Резервная группа Резервная группа — если прокси группы недоступен, используется резервная группа.
    резерва нет
  3. Напрямую Напрямую — если ни одно правило не подошло, трафик идёт напрямую, без прокси.

Доменные маски

Правило для домена принимает одну из трёх форм: точный адрес example.com, поддомен mail.example.com или маска *.example.com. Формат проверяется при вводе. Матчинг идёт по TLS SNI — то есть по имени хоста, которое видно на этапе установления TLS-соединения, — а не по IP-адресу назначения.

Приложение без правила

Если для приложения нет ни одного правила и его домен ни под одну маску не попадает, соединение идёт напрямую.

Пустой случай

Пока в клиенте нет ни одного правила, поднятый туннель ведёт через прокси весь трафик целиком. Как только появляется хотя бы одно правило, ситуация меняется: решают правила, а всё, что под них не попало, идёт напрямую.

Ограничение матчинга

DNS-over-HTTPS и захардкоженные в приложении IP-адреса обходят доменный матчинг, потому что имя хоста в этом случае клиенту не видно. В таких случаях правило по домену не сработает — маршрутизировать нужно приложение целиком, правилом по приложению.

Резервный сервер и health-check

Failover устроен просто: клиент проверяет прокси перед подключением и переключается на резервный, если основной недоступен или отвечает слишком медленно.

Порог задержки

Порог задаётся ползунком от 500 мс до 15 с. Если задержка отклика выше порога, клиент считает прокси недоступным и использует резервную группу. Резервная группа задаётся у самой группы — так же, как основной прокси.

Ручная проверка

Кнопка «Тест» на карточке сервера показывает задержку отклика или текст ошибки. Экран «Прокси (проверка)» показывает список серверов со статусом, пингом и типом транспорта — туда стоит заглянуть первым делом, если что-то не работает.

StealtifyTV — приложение для Android TV

Для телевизоров и приставок выпускается отдельное приложение — StealtifyTV. Это не тот же APK, что для телефона, но маршрутизация в нём та же: правила для приложений работают как в мобильной версии.

StealtifyTV — бета. Поддержка Android TV в активной разработке: возможны нестабильная работа и изменения интерфейса между версиями.

Для кого эта страница

Для владельцев Smart TV и приставок на Android TV, которые хотят пустить трафик телевизора через свой прокси. Роутер при этом трогать не нужно: клиент работает только на той приставке, где установлен, и не влияет на остальные устройства в доме.

Правила по доменам и группам

Трафик приставки идёт через выбранный прокси, а правила для доменов и группы серверов работают так же, как на телефоне: отдельные сайты можно увести в другой прокси или пустить напрямую. Адреса домашней сети в прокси не отправляются никогда.

Без изменений в сети

Ничего не настраивается на роутере и не влияет на другие устройства в доме — клиент работает только на той приставке, где установлен.

Ваши серверы

Как и на телефоне, серверы вы приносите свои: подписку от продавца или собственный VPS. Ссылки и протоколы те же, что в мобильной версии. Клиент к ним подключается, но их не предоставляет.

Как установить StealtifyTV на Android TV

У приставок нет привычной установки из магазина для таких клиентов, поэтому используется sideload — стандартный для Android TV способ поставить APK вручную. Скачивать нужно именно файл StealtifyTV: мобильная сборка на приставке не подойдёт.

  1. Разрешите установку из неизвестных источников

    Настройки → Приложения → Безопасность и ограничения → Неизвестные источники. Разрешение выдаётся тому приложению, через которое вы будете открывать файл: файловому менеджеру или браузеру.

  2. Загрузите StealtifyTV на приставку

    Проще всего — открыть страницу релизов во встроенном браузере приставки и скачать файл StealtifyTV. Второй вариант: скачать APK на компьютер и передать его на приставку через файловый менеджер с общим доступом по сети или через USB-накопитель.

  3. Откройте файл и подтвердите установку

    Файловый менеджер предложит установить приложение. После установки система запросит разрешение на создание VPN-подключения — его нужно подтвердить один раз.

  4. Перенесите конфигурацию с телефона

    Это главный способ: вводить адреса серверов, UUID и ключи Reality пультом почти невозможно. На приставке откройте вкладку «Прокси» → значок телефона: появится QR-код и адрес телевизора. На телефоне откройте Stealtify → «Прокси» → сканер QR-кода и наведите камеру на экран. Переносятся прокси, группы и правила доменов; правила для приложений телефона пропускаются — на приставке таких приложений нет. Обязательное условие: телефон и телевизор в одной сети. Запасной путь, если сеть не позволяет, — ссылка-подписка: она короткая, её реально ввести пультом один раз.

Управление пультом (D-pad)

Все ключевые действия доступны с обычного пульта — сенсорный ввод не нужен ни на одном шаге.

  • Перемещение по списку серверов — стрелками вверх и вниз, выбор — центральной кнопкой.
  • Добавление сервера или подписки: экран импорта, вставка ссылки с экранной клавиатуры или сканирование QR-кода с телефона.
  • Смена активного сервера — наводите фокус на нужную строку в списке и подтверждаете центральной кнопкой.
  • Подключение и отключение — кнопка Connect на главном экране, она получает фокус первой при запуске.
  • Возврат на предыдущий экран — кнопка «Назад» на пульте.

Как открыть настройки без сенсорного ввода

С главного экрана нажимайте «вверх» до верхней панели, доводите фокус стрелкой вправо до значка настроек и подтверждайте центральной кнопкой. Внутри настроек работают те же стрелки: вертикальное перемещение по пунктам, центральная кнопка — переключение.

Список серверов StealtifyTV в навигации D-pad
Список серверов с фокусом D-pad на выбранной строке.

Чем это отличается от мобильной сборки

StealtifyTV — самостоятельное приложение, а не мобильная сборка с другим оформлением. Отличие не в возможностях, а в интерфейсе: он сделан под 10-foot UI, то есть под просмотр с дивана и управление пультом — крупнее элементы, заметнее фокус, меньше действий на экран. Правила маршрутизации, серверы и подписки — те же, что в мобильной версии.

Оценка: поведение может отличаться на разных прошивках Android TV — производители заметно меняют системную оболочку.

Какую сборку скачивать

В отличие от телефонной версии, для приставок публикуется четыре файла — приставки бывают и 64-битные, и 32-битные.

  • arm64-v8a — большинство современных приставок.
  • armeabi-v7a — приставки с 32-битной системой.
  • universal — подходит везде, но примерно вдвое больше. Берите его, если не знаете разрядность: он гарантированно установится.
  • x86 — только для эмулятора Android TV, разработчикам.

Поставили не тот файл — Android откажет с ошибкой «Приложение не установлено» или «Пакет несовместим». Ничего страшного: скачайте universal.

Ограничения

  • Некоторые прошивки Android TV не показывают системный значок VPN в статус-баре. Это особенность оболочки: соединение при этом активно, проверить состояние можно на главном экране клиента.
  • На приставках нет камеры, поэтому сканера QR-кода в TV-версии нет — QR показывает сам телевизор, а сканирует его телефон.
  • Интерфейс приложения пока только на русском.
  • Требования к версии Android указаны на странице релиза рядом с файлом StealtifyTV — на старых прошивках клиент может не запуститься.

DNS: утечки, шифрование и фильтрация

DNS — это разрешение имени сайта в адрес, и по нему видно, куда вы ходите, даже когда сам трафик закрыт. В клиенте это отдельный раздел настроек с четырьмя переключателями.

Защита от утечек DNS

Включена по умолчанию: запросы идут только через туннель. Без неё система может разрешать имена мимо VPN, и тогда провайдер видит список сайтов при работающем туннеле.

Шифрованный DNS (DoT/DoH)

Провайдер выбирается одним списком; пункты с замком шифруют запросы, обычные — нет. Готовые: Cloudflare (1.1.1.1, по умолчанию), Cloudflare DoT и DoH, Google (8.8.8.8) и Google DoT, AdGuard (94.140.14.14) и AdGuard DoT, Quad9 DoT. Можно задать свои — поля основного и резервного сервера с проверкой формата IPv4/IPv6. DoT и DoH скрывают от провайдера, какие сайты вы открываете.

Только шифрованный DNS

По умолчанию выключено, и это важно понимать. У шифрованных пресетов обычно есть запасной незашифрованный путь: если провайдер заблокирует DoT или DoH, запросы тихо пойдут в открытом виде. Настройка убирает запасной путь — при блокировке разрешение имени просто откажет, зато открытых запросов не будет.

Фильтрация рекламы и трекеров

Блокировка на этапе разрешения имени: запрос к рекламному домену не уходит с устройства, соединение не устанавливается вовсе. Работает сразу во всех приложениях, отдельный блокировщик не нужен. Счётчик заблокированных виден на плитке трафика.

Технологии Stealtify

Stealtify — Android-клиент маршрутизации. Он подключается к вашим серверам и подпискам и раскладывает трафик по вашим правилам. Ниже — из чего состоит клиент и что именно он умеет подключать.

Два движка под одним интерфейсом

Клиент поднимает локальный VPN через системный VpnService API и передаёт соединения одному из двух движков. Какой из них будет использован, определяется типом транспорта — вручную выбирать движок не нужно.

Нативный движок (Kotlin)

Обработка TCP/UDP-пакетов, маршрутизация по UID приложения и по домену, DNS-кэш и фильтрация. Используется для простых транспортов, где не нужна тяжёлая обвязка.

Продвинутый движок (Go)

xray-core и awg, собранные через gomobile в .aar и подключённые по JNI. Отвечает за транспорты с шифрованием и маскировкой трафика.

Восемь транспортов: подробная таблица

Список закрыт: это всё, к чему клиент умеет подключаться на сегодня. Ничего сверх этого списка не поддерживается.

Транспорты клиента Stealtify: движок, способ авторизации, поддержка UDP и особенности.
Транспорт Движок Доступ UDP Особенности
SOCKS5 Kotlin user:pass поддерживается Базовый прокси без шифрования — подходит для локальных и доверенных сетей.
HTTP CONNECT Kotlin Basic не поддерживается Только TCP: HTTP-прокси не туннелирует UDP-трафик.
SSH Tunnel Go password не поддерживается Dynamic port forwarding поверх обычного SSH-доступа к вашему серверу.
VLESS Go (xray) UUID поддерживается Поддерживаются режимы Reality и XTLS-Vision.
VMess Go (xray) UUID поддерживается Классический транспорт с шифрованием, распространён у продавцов подписок.
Trojan Go (xray) password поддерживается Маскируется под обычный HTTPS-трафик к веб-серверу.
Shadowsocks Go (xray) password поддерживается Лёгкий шифрованный транспорт на общем пароле, без TLS-обёртки.
AmneziaWG Go (awg) ключи поддерживается Обфусцированный WireGuard: тот же принцип на ключах, но с изменённой сигнатурой пакетов.

Про AmneziaWG

AmneziaWG — это обфускация WireGuard: сохраняется работа на ключах, но стартовые пакеты перестают выглядеть узнаваемо для систем фильтрации. В клиенте это отдельный транспорт со своим набором параметров — их даёт ваш сервер или подписка.

Ограничения

Shadowsocks-2022 (SIP022, методы на blake3) больше не поддерживается. Обычный Shadowsocks по-прежнему работает: aes-128-gcm, aes-256-gcm, chacha20-ietf-poly1305, xchacha20-ietf-poly1305.

Что клиент делает и чего не делает

  • Делает: поднимает локальный VPN, применяет ваши правила для приложений и доменов, фильтрует DNS, следит за состоянием подключений и переключается на резервный сервер. Работает и по IPv4, и по IPv6 — включая сети, где IPv6 единственный, и dual-stack с NAT64. поднимает локальный VPN, применяет ваши правила для приложений и доменов, фильтрует DNS, следит за состоянием подключений и переключается на резервный сервер.
  • Не делает: не предоставляет серверы. Stealtify — клиент; адреса, ключи и подписки вы приносите свои.
  • Не собирает: телеметрии нет. Конфигурации и ключи хранятся на устройстве, приватные данные уходят в Android Keystore.
  • Под рукой: плитка в быстрых настройках Android поднимает и опускает туннель без открытия приложения, автозапуск поднимает его после перезагрузки, автопереподключение — после смены сети.

Требования: Android 10+ (API 29), root не нужен — используется системный VpnService API.

Свой сервер

Ещё один вариант — не пользоваться готовой подпиской, а поднять сервер самостоятельно. Схема одинакова для большинства протоколов из поддерживаемого списка:

  1. Арендуйте VPS у любого VPS-провайдера — конкретный выбор не имеет значения для клиента.
  2. Установите на сервере панель управления — например, 3x-ui, Marzban или Xray — и настройте нужный транспорт.
  3. Сгенерируйте конфигурацию на своей стороне: панель выдаёт готовую ссылку или QR-код с параметрами сервера.
  4. Импортируйте эту ссылку или QR-код в Stealtify тем же способом, что и любую другую конфигурацию.

Клиент в этой схеме ничего не меняет: он подключается к серверу так же, как к любому другому, — одним из восьми поддерживаемых транспортов.

Решение проблем

Установка

  • APK не устанавливается. Разрешите установку из неизвестных источников, проверьте, что устройство на arm64-v8a и Android 10 или новее, и удалите версию с другой подписью, если она уже стоит.

Подключение

  • Ничего не происходит при нажатии «Подключиться». Разрешите системный запрос на VPN, отключите другой активный VPN — Android допускает только одно VPN-соединение одновременно — и убедитесь, что добавлен хотя бы один сервер.
  • «Все прокси недоступны». Проверьте серверы кнопкой Тест, сверьте хост, порт и учётные данные, ослабьте порог failover.
  • Подключение установлено, но интернета нет. Откройте экран «Прокси (проверка)», переназначьте приложение на другую группу или временно поставьте его «без группы».

Маршрутизация

  • Приложение всё равно идёт напрямую, а не через прокси. Трафик без правила по умолчанию идёт напрямую: назначьте приложению группу с рабочим прокси и проверьте, что группа включена и у неё есть прокси.
  • Правило по домену не срабатывает. Матчинг идёт по TLS SNI — проверьте формат маски. DoH и захардкоженные IP-адреса обходят доменный матчинг: в этом случае маршрутизируйте приложение целиком, правилом по приложению.

Kill Switch

  • DNS уходит мимо прокси. Включите защиту от утечек DNS в настройках. Трафик, для которого нет правила, идёт напрямую по замыслу — это не утечка в узком смысле.
  • После разрыва VPN пропадает интернет целиком. Это штатная работа Kill Switch: переподключитесь или отключите его. На системном уровне похожий эффект даёт Always-on VPN с опцией «блокировать соединения без VPN».
Переключатель Kill Switch в настройках безопасности
Настройки безопасности: Kill Switch и защита от утечек DNS.

Работа в фоне и автозапуск

  • VPN отключается в фоне. Исключите приложение из оптимизации батареи и включите автопереподключение.
  • Клиент не запускается автоматически при загрузке устройства. Включите автозапуск при загрузке в настройках приложения; на Xiaomi, Huawei, Oppo и Samsung дополнительно разрешите автозапуск в системных настройках и снимите агрессивное управление батареей для приложения.

Импорт, подписки и QR

  • Подписка вернула 0 серверов. Проверьте, что URL — валидная точка подписки http(s):// с путём, что ссылка не истекла и что она достижима.
  • QR-код не сканируется. Проверьте разрешение камеры и освещение. Коды больше 8 КБ и коды с неизвестной схемой ссылки отклоняются.

Отдельные протоколы

  • VLESS, VMess или Trojan с TLS или REALITY не подключаются. Проверьте UUID, SNI, fingerprint, flow и транспорт, переключите «Использовать TLS», сверьте время на устройстве — рассинхронизация часов ломает TLS-рукопожатие.
  • Shadowsocks подключается, но данных нет. Проверьте метод шифрования — он должен совпадать с тем, что задан на сервере.

Обновления и уведомления

  • Обновление зацикливается. Проверьте доступность канала обновлений и при необходимости скачайте APK вручную. Обязательные обновления отложить нельзя — это сделано намеренно.
  • В уведомлении не видно статистики трафика. Включите разрешение на уведомления для приложения.

Резервная копия

  • После импорта бэкапа пропали серверы и правила. Так и задумано: импорт полностью заменяет текущую конфигурацию содержимым файла, а прежняя удаляется. Восстановить её можно только из своего экспорта, сделанного до импорта.

Если ничего из этого не помогло, включите журнал соединений и напишите на support@stealtify.app. Перед отправкой обязательно отредактируйте в логе IP-адреса, имена хостов и учётные данные.

Хотите попробовать?

Скачайте APK и подключите свою подписку — это занимает несколько минут.