Почему ваш VPN постоянно отключается на iPhone (и как это исправить)
Вы разблокируете свой iPhone, открываете Instagram, а он просто бесконечно грузится. Вы смотрите в верхний угол экрана — маленький значок «VPN» исчез. Вы открываете свое VLESS-приложение, снова нажимаете гигантскую кнопку подключения и возвращаетесь в Instagram. Через десять минут вы блокируете телефон, кладете его в карман, и происходит абсолютно то же самое.
Это самая частая проблема пользователей iPhone, работающих с современными прокси-протоколами вроде VLESS и Reality.
Но это не сбой на вашем сервере. Это особенность того, как Apple спроектировала iOS.
Аналогия со строгим родителем
Представьте, что iOS — это очень строгий родитель, который одержим счетами за электричество (зарядом вашей батареи). Когда вы сворачиваете приложение в фон, iOS говорит ему идти спать. Если приложение пытается бодрствовать и выполнять процессы, строгий родитель просто выдергивает вилку из розетки.
Когда вы блокируете телефон, iOS агрессивно управляет оперативной памятью и батареей. VPN-туннель требует постоянного, активного сердцебиения (heartbeat) с сервером, чтобы оставаться живым. Если вы открываете «тяжелое» приложение — например, Камеру или 3D-игру — iOS ищет фоновые приложения, которые можно «убить», чтобы освободить память. Поскольку прокси-клиенты (V2Ray Tun, Streisand, FoXray) технически поддерживают активные локальные сетевые туннели, они часто идут под нож первыми.
Туннель рушится. И вам приходится переподключаться вручную.
Как не дать туннелю уснуть
Вы не можете полностью отключить агрессивный менеджмент памяти от Apple, но вы можете настроить телефон так, чтобы он сопротивлялся. Вот чек-лист:
1. Включите «Обновление контента» (Background App Refresh)
Это «кофе», который не дает вашему VPN-приложению уснуть. Зайдите в Настройки > Основные > Обновление контента и убедитесь, что оно включено для вашего конкретного VPN-клиента (например, Streisand или V2box).
2. Отключите Режим энергосбережения Режим энергосбережения (желтая иконка батареи) — это смертный приговор для фоновых VPN. Он мгновенно приостанавливает сетевую активность при блокировке экрана. Если у вас проблемы с отключениями, не используйте этот режим.
3. Включите «Подключение по требованию» (Connect on Demand) У большинства хороших iOS-клиентов есть настройка «Connect on Demand» или «Always On». Когда iOS неизбежно убивает фоновый процесс, эта настройка заставляет операционную систему автоматически перезапустить VPN-туннель в ту же миллисекунду, когда вы пытаетесь открыть сайт или приложение. Зайдите в настройки VPN-приложения и убедитесь, что тумблер включен.
Исправление на стороне сервера
Иногда отключение происходит не на вашем телефоне, а на сервере. Если ваш VPS не получает сигналов от телефона в течение нескольких минут (потому что телефон заблокирован в кармане), сервер молча закрывает соединение для экономии ресурсов. Когда вы разблокируете телефон, туннель технически «подключен» на вашем экране, но сервер уже повесил трубку.
Чтобы это исправить, нужно зайти по SSH на ваш Linux-сервер и изменить интервалы KeepAlive в конфигурационном JSON-файле Xray.
Я знаю, что ковыряние в JSON-коде через командную строку только ради того, чтобы посмотреть YouTube на телефоне — это именно то, чего вы хотели избежать.
Если вам нужно соединение, которое просто работает и не требует борьбы с операционной системой, наша Услуга настройки VPN создана для этого. Мы настраиваем параметры KeepAlive на стороне сервера специально так, чтобы они дружили с агрессивными менеджерами батареи iOS и Android, поэтому ваш туннель будет работать как часы.