5.2 KiB
sb launcher · glass
Лаунчер для sing-box с интерфейсом WPF. Работает в Windows 10/11 x64 с
.NET Framework 4.x. Поддерживает импорт и выбор серверов, три режима
подключения (wg, direct, wgonly), проверку конфигурации, запуск и остановку
sing-box, логи и светлую/тёмную тему.
Это отдельный прототип интерфейса; рабочая копия sb_launcher_rev2 не меняется.
Приложение запрашивает права администратора для настройки сетевых маршрутов.
Подготовка
Для сборки нужен csc.exe из установленного .NET Framework 4.x. build.cmd
использует %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe; Visual Studio
и .NET SDK не требуются.
Для подключения дополнительно нужны совместимый исполняемый файл sing-box и файл правил. Они хранятся только локально и в репозиторий или релизный архив не входят:
bin/sb.exe
doc/doc.srs
Из чистого клона создайте локальные настройки и профили:
Copy-Item .\local.example.json .\local.json
Copy-Item .\profiles.example.json .\profiles.json
cmd /c build.cmd
.\SbLauncher.exe
Демонстрационные адреса из profiles.example.json не подключаются. Добавьте
свои серверы через импорт или в profiles.json, затем укажите приватный ключ
WireGuard, адрес туннеля и сетевой адаптер на вкладке «Настройки». Секреты в
local.json, а также серверы в profiles.json исключены из Git. Не добавляйте
их в коммиты и релизные архивы.
Готовый ZIP из релиза распаковывается аналогично: поместите рядом с лаунчером
bin/sb.exe и doc/doc.srs, скопируйте два файла .example.json без слова
.example в имени и заполните свои данные. Сборка из исходников для ZIP не нужна.
Сборка и проверки
cmd /c build.cmd # SbLauncher.exe
cmd /c build.cmd importtest # импорт ссылок
cmd /c build.cmd profiletest # сохранение профилей
cmd /c build.cmd stress # нагрузка интерфейса
build.cmd selftest проверяет локальную конфигурацию и может использовать
текущие профили. build.cmd deploy "путь" копирует сборку в явно указанную
тестовую папку; локальный local.json в ней не перезаписывается.
Git и релизы
Основная ветка — main. Разработку фиксируйте коммитами в Git. Для очередного
релиза обновите CHANGELOG.md, три версии в Version.cs и номер
assemblyIdentity в app.manifest; используйте формат MAJOR.MINOR.PATCH.
После этого, например для версии 0.1.1:
git status
git add -A
git diff --cached --stat
git commit -m "Release v0.1.1"
.\release.ps1 -Version 0.1.1
git tag -a v0.1.1 -m "SbLauncher v0.1.1"
Перед коммитом проверьте список добавленных файлов: в нём должны быть только
изменения для этого релиза. release.ps1 требует чистую рабочую копию, запускает сборку и три
проверки, сверяет версию EXE и собирает dist/SbLauncher-vX.Y.Z-win-x64.zip
с SHA-256 в соседнем .sha256. Архив содержит только приложение, шаблоны,
примеры конфигурации и документацию. Сборка идёт через build.cmd staged,
поэтому открытый лаунчер не блокирует выпуск. Для пробного запуска на незакоммиченных
изменениях есть -AllowDirty; архив получает суффикс -dev с хешем коммита.
При настроенном удалённом репозитории отправьте ветку и тег:
git push origin main
git push origin v0.1.1
Затем создайте релиз v0.1.1 в GitHub/Gitea, вставьте заметки из
CHANGELOG.md и прикрепите ZIP и .sha256. Если origin ещё не настроен,
сначала добавьте адрес своего удалённого репозитория.
