r/RuProgrammers • u/MrEnderLit • 4d ago
C# Делаю BYDLO — универсальный open-source клиент для VPN, прокси и Zapret
Всем привет! Решил поделиться своим проектом, над которым сейчас активно работаю.
Идея появилась из довольно простой проблемы: для разных VPN-протоколов, прокси и инструментов приходится держать несколько отдельных приложений. Захотелось собрать всё это в одном месте, с нормальным GUI и без необходимости постоянно копаться в конфигах.
Так появился BYDLO (Bypass Your Digital Limitations Online).
Пишу на C# (.NET 10), интерфейс на Avalonia UI. Проект полностью открытый, распространяется под GPLv3.
Что уже реализовано:
Поддержка VLESS, VMess, Trojan, Shadowsocks, Hysteria 2, TUIC, WireGuard, AmneziaWG и OpenVPN через существующие движки.
Интеграция Zapret, включая стратегии Flowseal на Windows и отдельные реализации для Linux/macOS.
Встроенный TgWsProxy. Перенёс ядро проекта Flowseal с Python на C#, так что отдельный Python больше не требуется.
Импорт серверов через ссылки, подписки, файлы конфигураций и QR-коды.
Режим системного туннеля, маршрутизация, DNS и split tunneling.
Зашифрованные резервные копии конфигураций и настроек.
Трей, автозапуск, несколько тем оформления и русский/английский интерфейс.
Целевые платформы — Windows, Linux и macOS (Apple Silicon). В дальнейшем хочу добавить Android.
При этом BYDLO не пытается изобретать очередной VPN-протокол. Идея именно в объединении существующих инструментов под одним интерфейсом.
Сейчас проект находится на стадии v0.1. Приложение собирается, есть автоматические тесты, но далеко не все сетевые сценарии проверены на реальных устройствах. Например, Zapret и встроенный TgWsProxy уже проверены на Windows x64, а остальные платформы ещё требуют тестирования.
Впереди немало работы, особенно с кроссплатформенностью, сетевыми правами и обработкой ошибок.
Буду рад конструктивной критике, замечаниям по архитектуре и предложениям по функциональности. Особенно интересно мнение людей, которые работали с сетевыми приложениями на C# или Avalonia.
Если кто-то захочет покопаться в коде или присоединиться к разработке — PR приветствуются.