lionheart
Спасибо всем, кто следил за развитием Lionheart. К сожалению, я принял решение закрыть и заархивировать проект. Изначальная идея оказалась нежизнеспособной для массового использования.
Если вам нужен доступ к нормальному интернету для работы, ведения бизнеса, развлечений и других целей, советуй рассмотреть возможность проксирования трафика через Яндекс Облако. Это сейчас самый простой и надёжный способ. Возможно мой следующий проект будет именно про это.
Вот объяснение того, что произошло:
Изначальная идея
Lionheart задумывался как VPN, способный обходить жесткие "белые списки" провайдеров. Идея была красивой: маскировать наш трафик под видеозвонки Wildberries (WB Stream) и использовать их TURN-серверы для пересылки зашифрованных пакетов на зарубежные VPS. Для систем блокировок это выглядело бы как абсолютно легальный трафик к разрешенному российскому сервису.
Легендарные инженеры WB защитили свою инфраструктуру. Их TURN-серверы настроены на жесткий IP-allowlist (правило denied-peer-ip). Это значит, что сервер WB отказывается пересылать пакеты на любые адреса, кроме их собственных внутренних медиа-серверов. Попытка прокинуть маршрут до обычного VPS моментально отбивается ошибкой 403 Forbidden IP. Лобовой обход через TURN невозможен.
Почему нет альтернативного фикса?
Технически, обходной путь есть. Можно было бы встроить в Lionheart полноценный WebRTC-клиент, подключаться к WB-звонку как обычный пользователь и гонять трафик прямо через "чат" конференции (SCTP DataChannel).
Но моя цель была — сделать массовый, стабильный open-source продукт для тысяч людей. А гонять VPN через чужую закрытую инфраструктуру в таких масштабах — это утопия. Как только проект стал бы популярным, инженеры WB заметили бы аномальную нагрузку на свои серверы от "пустых" комнат и перекрыли бы эту лазейку за один день (например, введя лимиты или капчу).
Делать хрупкий костыль, который сломается при первых признаках популярности, мне неинтересно.
Что полезного осталось в коде
Я не удаляю репозиторий, так как в нем осталось много хорошей, рабочей инфраструктуры для создания VPN. Если вы хотите сделать свой проект (например, на базе VLESS/Reality или Hysteria), вы можете свободно форкать и переиспользовать мои наработки (я знаю, что много проблем, но вот это точно работает):
- Готовый интерфейс для android-клиента
- Умные ключи: Готовая система упаковки конфигов в base64 (Smart Key) и генерации QR-кодов.
- Кросс-компиляция: Готовый build.sh скрипт, который собирает бинарники под 12 платформ, включая MIPS/ARM для домашних роутеров.
- Инсталлятор: systemd-скрипты для автоматического развертывания сервера на VPS.
