Проксирование через TURN
Теория
Данный метод заключается в проксировании трафика через доступные TURN сервера (используются например для сетевых звонков), что позволяет обойти самые строгие блокировки.
Сравнение обычного подхода и проксирования через TURN соответственно:
flowchart LR
A[Ввод] --> B[Прокси клиент]
B --> C[Прокси сервер]
C --> D[Вывод]
flowchart LR
A[Ввод] --> B[Прокси клиент]
B --> C[TURN клиент]
C --> D[TURN сервер]
D --> E[Прокси сервер]
E --> F[Вывод]
Реализация
Будет разобран пример на Android, прокси клиент - NekoBox, TURN клиент - FreeTurn.
NekoBox
Необходимо вручную создать Hysteria2 прокси (справа сверху иконка с плюсом → Ручные настройки → Hysteria) и указать следующие параметры:
| Параметр | Значение |
|---|---|
Сервер |
127.0.0.1 |
Удаленный порт |
Порт TURN клиента, стандартный - 9000 |
Пароль |
Взять из настроек протокола Hysteria2 уже добавленной подписки |
Разрешить небезопасное подключение |
Включить |
Сохранить галочкой сверху справа.
Добавить FreeTurn в исключения для проксирования чтобы избежать зацикливания трафика (меню слева → Настройки → Режим VPN для приложений).
FreeTurn
Добавить сервер (снизу справа плюс → Ручная настройка). В настройках подключения:
| Параметр | Значение |
|---|---|
Адрес сервера |
Домен сервера и порт (как правило 56000) |
Ссылка на звонок |
Создать звонок в ВК, скопировать пригласительную ссылку, не завершать |
Запустить подключение сначала во FreeTurn (может попросить пройти капчу), затем в NekoBox, проверить работоспособность.
Подробнее
- https://github.com/cacggghp/vk-turn-proxy - реализация сервера и клиентов на ПК, общая информация о методе
- https://github.com/anton48/vk-turn-proxy-ios - клиент на iOS