VPN (Outline) не работает через мобильную сеть, только по Wi-Fi. Обход DPI, чиним за минуту
Вы настроили свой Outline VPN, и дома через Wi-Fi всё летает. Instagram грузится, YouTube показывает в 4K. Но стоит выйти на улицу и переключиться на LTE/4G, как магия исчезает. Сайты перестают открываться, а приложение выдает ошибки вроде error network changed или просто бесконечно переподключается.
Почему так?
Разница между домашним провайдером и мобильным оператором часто кроется в настройках систем фильтрации трафика (DPI — Deep Packet Inspection).
Мобильные операторы часто используют более агрессивные настройки DPI. Когда вы включаете Outline, он создает зашифрованный туннель. Простой Shadowsocks (протокол, на котором работает Outline) шифрует содержимое, но сам процесс соединения (рукопожатие) может выглядеть подозрительно для умных фильтров.
Оператор видит «непонятный» поток данных, который не похож на обычный просмотр сайтов (HTTP/HTTPS), и на всякий случай разрывает соединение (connection reset), что и приводит к ошибке смены сети.
Здесь добавлю мем про разрыва сессии "Звонок в саппорт Стрима в три часа ночи". (Для TCP важно стабильное соединение без разрывов, в отличие от UDP)
Решение: Маскировка под обычный сайт.
Нужно добавить к вашему ключу доступа специальный "хвост"(prefix). Это заставит соединение выглядеть как обычная отправка данных на веб-сайт (HTTP POST), и оператор его пропустит. Для оборудования провайдера это будет выглядеть так, будто вы просто отправляете форму на сайте или загружаете картинку.
Инструкция:
- Скопируйте ваш текущий ключ Outline в заметки.
В самый конец ключа, без пробелов, добавьте этот текст:
&prefix=POST%20(Важно:
%20— это код пробела, пишите именно так!)Было: ss://Y2hh...443/?outline=1
Стало:
ss://Y2hh...443/?outline=1&prefix=POST%20- Скопируйте новый длинный ключ.
- Удалите старый сервер из приложения Outline и добавьте новый.
Если не помогло: Попробуйте вместо POST использовать GET. Добавьте в конец: &prefix=GET%20