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 выберите свой сетевой адаптер. Программа автоматически
сохранит настройки.
Базовые серверы и личные данные
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.
