lionheart

Introduction: A resilient SOCKS5 tunnel. Bypasses firewalls and DPI by masking traffic as standard WebRTC video streams.
More: Author   ReportBugs   
Tags:

Приватный децентрализованный self-hosted туннель

Latest Release Go Version Android API License

Оригинальный репозиторий.

🇷🇺 Русский · 🇬🇧 English


Спасибо всем, кто следил за развитием 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.
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools