Skip to content
levvs-onePublic

About

Открытый VPN-клиент для Windows и Linux: sing-box, Xray и mihomo под одним приложением, REALITY, XHTTP, AmneziaWG, Hysteria2, строгий kill switch, синхронизация в локальной сети и подписанные расширения.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

17 stars

Watchers

1 watching

Forks

Логотип Sora

Sora

Открытый VPN-клиент для Windows и Linux. Вставьте ссылку подписки, выберите сервер, подключитесь.

Русский | English

Release Downloads Checks License

Установка | Возможности | Как это устроено | Документация | Изменения

Главное окно Sora: список серверов подписки и кнопка подключения

Установка

Windows, PowerShell:

irm https://github.com/levvs-one/sora/releases/latest/download/install.ps1 | iex

Linux:

curl -fsSL https://github.com/levvs-one/sora/releases/latest/download/install.sh | sh

Скрипт выбирает пакеты своей системы и архитектуры и сверяет их хеши, а подпись манифеста проверяет при наличии OpenSSL 3 или minisign. Чему при этом доверяет первая установка, описано в условиях первого запуска.

Система Файлы Вручную
Windows 10 1809+ и Windows 11, x64 Sora-Setup-<версия>-x64.exe запустить установщик
Debian, Ubuntu, amd64 и ARM64 sora_<версия>_<arch>.deb и sora-core_<версия>_<arch>.deb apt install ./sora*.deb
Fedora, openSUSE, x86_64 и aarch64 sora-<версия>-1.<arch>.rpm и sora-core-<версия>-1.<arch>.rpm dnf install ./sora*.rpm
Arch, x86_64 и aarch64 sora-<версия>-1-<arch>.pkg.tar.zst и sora-core-… pacman -U sora*.pkg.tar.zst

Все файлы на странице релизов, подробности в docs/install.md. Для старых версий Windows есть отдельный клиент sora-legacy.

Возможности

  • Подписки. Ссылка подписки, включая JSON-подписки Xray. Обновление по расписанию, остаток трафика, срок и объявления провайдера. Свои правки поверх подписки (переименовать, скрыть сервер) переживают её обновление.
  • Протоколы и движки. VLESS, VMess, Trojan, Shadowsocks, Hysteria2, TUIC, WireGuard и AmneziaWG, транспорты REALITY и XHTTP. Три движка: sing-box, Xray и mihomo, движок выбирается под подключение.
  • Выбор сервера. Автовыбор по задержке, по измеренной скорости или по их сочетанию, переключение при сбое и при сильной деградации, цепочки из двух или трёх серверов, свои серверы, добавленные вручную.
  • Защита трафика. Виртуальный адаптер (TUN) или системный прокси. Kill switch, а по желанию строгий режим: он держит блокировку и после сбоя приложения, пока вы явно не отключитесь. Правила по сайтам, IP-адресам и программам.
  • Проверки. Тест утечек DNS, IPv6 и трафика мимо туннеля с подсказкой, как исправить. Экран соединений с группировкой по программам, журнал и экспорт диагностики.
  • Сетевые профили. Настройки привязываются к Wi-Fi, шлюзу или провайдеру и применяются по запросу или сами.
  • Синхронизация. Подписки, правила и настройки между вашими компьютерами в локальной сети: сопряжение по QR-коду, сквозное шифрование, без аккаунтов и облака.
  • Расширения. Каталог подписанных расширений: панели, темы, правила маршрутизации и фоновые задачи с запросами по белому списку адресов только через VPN. Разрешения подтверждаются при установке. Подробнее в docs/extensions.md.
  • zapret на Linux. Обход DPI без сервера, а также вместе с VPN для прямого трафика. Он не скрывает IP-адрес и не заменяет VPN.
  • Остальное. Трей, запуск при входе, обновление из приложения с поэтапной раскаткой и автоматическим откатом на Linux, если новая версия не запустилась. 32 языка интерфейса, светлая и тёмная темы.
Каталог расширений Настройки Уведомления
Каталог расширений Настройки Уведомления

Как это устроено

flowchart LR
  app["Приложение<br>Flutter"] -- "gRPC по локальному сокету<br>или именованному каналу" --> core["Служба sora-core<br>Go"]
  core --> engines["sing-box, Xray, mihomo"]
  core --> guard["Kill switch<br>nftables или WFP"]
  core --> workers["Фоновые задачи<br>расширений"]
  engines --> tun["TUN или<br>системный прокси"]
  app -- "HTTP на localhost" --> sync["sora-sync"]
  sync -- "Noise_XX в локальной сети" --> peer["Ваш другой компьютер"]
Loading

Приложение не работает с сетью напрямую: всё, что требует прав, делает служба sora-core. Она собирает конфигурацию для выбранного движка, поднимает туннель, держит правила межсетевого экрана и запускает фоновые задачи расширений в отдельном процессе с ограничением памяти и процессорного времени. Синхронизация живёт в своём процессе sora-sync и общается только с сопряжёнными устройствами. Подробности в docs/architecture.md.

Безопасность и приватность

  • Телеметрии нет. Само приложение обращается только к GitHub: за сведениями об обновлениях (отключается в настройках) и, когда вы открываете магазин расширений, за каталогом и списком отзыва. GitHub при этом видит ваш IP-адрес, как при обычном посещении сайта.
  • Начиная с 1.1.3 каждый релиз подписан ключом команды Sora (SHA256SUMS.minisig). Приложение и служба проверяют подпись, версию, платформу, размер и хеш обновления до установки, а на Linux ещё и до отката. Неподписанные 1.1.2 и старше не принимаются; см. условия перехода. Установщик Windows пока не подписан Authenticode, поэтому SmartScreen может предупреждать.
  • Каталог расширений и список отзыва подписаны ключом команды Sora, вшитым в приложение. Пакеты расширений подписаны ключами авторов, ключ сверяется при каждом обновлении.

Модель угроз и данные, которые хранит Sora, описаны в docs/security.md. Об уязвимостях пишите по SECURITY.md.

Документация

Участие

Ошибки и предложения в issues. Перед пулл-реквестом прочитайте docs/development.md: там описаны сборка и проверки, которые запускает CI.

Лицензия

GPL-3.0. Лицензии сторонних компонентов.

About

Открытый VPN-клиент для Windows и Linux: sing-box, Xray и mihomo под одним приложением, REALITY, XHTTP, AmneziaWG, Hysteria2, строгий kill switch, синхронизация в локальной сети и подписанные расширения.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

17 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages