NotVPN — VPN-клиент на React Native с Leaf и WinTun

В рамках одного из последних проектов было реализовано современное кроссплатформенное приложение, ориентированное на настольные операционные системы — Windows и macOS. Основная цель заключалась в разработке производительного и удобного в использовании клиента, взаимодействующего с низкоуровневой библиотекой Leaf, а также предоставляющего пользователю гибкую настройку и контроль соединения.

🧱 Стек технологий и архитектура NotVPN

Ключевые технологии:

  • React Native + React Native Windows + React Native macOS — база для кроссплатформенного UI.
  • C++/Objective-C Native Modules — мост между React Native и низкоуровневыми библиотеками (Leaf и WinTun).
  • Leaf (форк v2ray) — движок, обрабатывающий сетевой трафик через TUN-интерфейс.
  • WinTun — виртуальный сетевой адаптер TUN для Windows, обязательный для корректной работы Leaf.

На Windows клиент использует связку Leaf + WinTun, что позволяет реализовать полноценное туннелирование трафика через TUN-интерфейс, обеспечивая высокий уровень контроля и безопасности. На macOS интеграция выполняется с использованием нативного фреймворка, предоставленного заказчиком.

🖥 Интерфейс: акцент на UX

В дизайне приложения особое внимание было уделено удобству пользователя:

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

Ключевые возможности:

  • Частичное и полное шифрование трафика.
  • Выбор протокола (Auto, Shadowsocks, VLESS TLS, VLESS Reality).
  • Настройка DNS (операторский, пользовательский).
  • Выбор стран и городов (с сохранением избранного).
  • Режим туннелирования для отдельных приложений.
  • Блокировка локальной сети при полном шифровании.

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

🔁 Кроссплатформенность без компромиссов

Одно из ключевых требований — реализация интерфейса на React Native с поддержкой как Windows, так и macOS. Благодаря мощной интеграции через нативные модули, удалось обеспечить:

  • минимальное потребление ресурсов;
  • мгновенный запуск и отклик;
  • полноценную работу TUN-интерфейса на обеих платформах;
  • одинаковый UI/UX на всех устройствах.

🧠 Вывод

Этот проект наглядно демонстрирует, как с помощью React Native и правильно реализованной нативной прослойки можно создать кроссплатформенное приложение без ущерба для производительности или пользовательского опыта.

Если вам нужно разработать приложение — будь то VPN-клиент, медиаплеер, админ-интерфейс или любое другое ПО с нативным функционалом — вы можете быть уверены, что я обладаю необходимыми навыками и опытом для реализации задачи любого уровня сложности.

Хочешь такой же клиент под свою инфраструктуру?
📩 Свяжись со мной, и мы обсудим детали!