Когда один способ подключения перестаёт работать, начинается перебор приложений: здесь VLESS, там DNS-туннель, отдельно — транспорт через звонки. Разработчик Rawline решил собрать этот набор в одном клиенте для Android, Windows, Linux и macOS. За основу взяты Throne и сетевые ядра sing-box и Xray.
Как устроен проект и какие проблемы безопасности пришлось решать, автор рассказал на Хабре.
Помимо привычных VPN-протоколов, Rawline поддерживает нестандартные транспорты через звонки VK и MAX, WebRTC, DNS и S3. Все подключения представлены обычными профилями, их можно импортировать по ссылке или QR-коду, проверять пинг, объединять в цепочки и настраивать маршрутизацию по приложениям и доменам. Работоспособность конкретного способа при ограничениях придётся проверять на своей сети.
Отдельный акцент — защита от приложений, исключённых из VPN. По словам автора, через незащищённый локальный прокси или прямое обращение к интерфейсу туннеля они могут отправить запрос через VPN и узнать адрес сервера.
В Rawline разработчик убрал лишние прокси-входы, защитил внутренние соединения случайными паролями и добавил проверку принадлежности трафика приложениям. Последняя защита включена по умолчанию на Android 10 и новее.
При проверке также обнаружилась проблема в нескольких транспортных мостах: постороннее приложение могло первым отправить UDP-пакет и перехватить канал. Автор сообщает, что исправил её и добавил тесты. Код и сборки опубликованы на GitHub.









