Files
SbLauncher/README.md
T
2026-10-10 14:58:04 +03:00

6.7 KiB
Raw Blame History

SbLauncher

Портативный лаунчер для sing-box с интерфейсом WPF. Работает в Windows 10/11 x64 с .NET Framework 4.x. Поддерживает импорт серверов, три режима подключения (wg, direct, wgonly), проверку конфигурации, запуск и остановку sing-box, логи и светлую/тёмную тему. Для TUN и сетевых маршрутов запрашивает права администратора.

Светлая тема

Тёмная тема

Установка из релиза

Распакуйте SbLauncher-v0.1.2-win-x64.zip в постоянную папку и запустите SbLauncher.exe. В архив уже включены sing-box, файл правил и базовые серверы. На вкладке «Настройки» задайте свой приватный ключ и локальный IP WireGuard; для режима direct выберите свой сетевой адаптер. Программа автоматически сохранит настройки.

Передача коллеге, проверка контрольной суммы и обновление — в HANDOFF.md.

Базовые серверы и личные данные

  • profiles.base.json содержит общий каталог серверов и публичные параметры WireGuard-сервера. Он входит в релиз и обновляется вместе с программой.
  • profiles.json содержит личные серверы, добавленные пользователем, и список скрытых базовых серверов. Он исключён из Git и релиза.
  • local.json хранит приватный ключ, локальный IP WireGuard, сетевой адаптер, тему и выбор сервера. Он исключён из Git и релиза.

При обновлении закройте программу через трей и распакуйте ZIP поверх той же папки. Личные файлы сохранятся, а базовые серверы обновятся. Для перехода с v0.1.1 старый общий список автоматически преобразуется в личный слой с резервной копией profiles.legacy-backup.json.

run/config.json генерируется при подключении. Постоянные изменения правил вносите в templates/*.json, а базовых серверов — в profiles.base.json. Для новых базовых серверов задавайте уникальный id; у существующих его сохраняйте. Личный profiles.json никогда не копируйте в релизный каталог.

Сборка из исходников

Нужен csc.exe из установленного .NET Framework 4.x. build.cmd использует %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe; Visual Studio и .NET SDK не требуются.

В чистом клоне для подключения и проверки конфигов дополнительно разместите совместимый bin/sb.exe и файл правил doc/doc.srs. Бинарники не хранятся в Git, но включаются в готовый релизный ZIP. Текущий комплект использует sing-box 1.12.19, windows/amd64.

cmd /c build.cmd
.\SbLauncher.exe

Базовые серверы загрузятся из profiles.base.json, личные файлы создаются программой при сохранении настроек или импорте. profiles.example.json содержит демонстрационные адреса для тестирования старого формата и не используется для первой установки из релиза.

Проверки

cmd /c build.cmd importtest     # форматы импорта и конфиги sing-box
cmd /c build.cmd profiletest    # импорт и сохранение профилей
cmd /c build.cmd updatetest     # обновление базы и сохранение личных данных
cmd /c build.cmd stress         # нагрузка интерфейса
cmd /c build.cmd themetest      # анимация темы и быстрые переключения

build.cmd selftest проверяет конфигурацию и может читать текущие профили. build.cmd deploy "путь" копирует программу, базовый каталог и шаблоны в явно указанную тестовую папку; local.json и личный profiles.json не заменяет.

Git и релизы

Основная ветка — main. Обновите CHANGELOG.md, три версии в Version.cs и номер assemblyIdentity в app.manifest. Перед коммитом проверьте список файлов: личных настроек, серверов и резервных копий в нём быть не должно. Для версии 0.1.2:

git status
git add -A
git diff --cached --stat
git commit -m "Release v0.1.2"
.\release.ps1 -Version 0.1.2
git tag -a v0.1.2 -m "SbLauncher v0.1.2"
git push origin main
git push origin v0.1.2

release.ps1 требует чистый Git-коммит, собирает приложение и запускает пять проверок. Сверяет версию EXE, запрещает персональные поля WireGuard в базовом каталоге и собирает dist/SbLauncher-vX.Y.Z-win-x64.zip с SHA-256 в соседнем .sha256. Архив содержит приложение, sing-box, файл правил, базовые серверы, шаблоны, примеры и документацию. Личные файлы в него не входят. Сборка идёт через build.cmd staged, поэтому открытый лаунчер не блокирует выпуск. -AllowDirty предназначен для пробной сборки: архив получает суффикс -dev и не должен публиковаться как стабильный релиз.

Создайте релиз v0.1.2 в GitHub/Gitea, вставьте заметки из CHANGELOG.md и прикрепите ZIP и .sha256.