Files
SbLauncher/README.md
T
2026-09-26 21:51:08 +03:00

5.2 KiB
Raw Permalink Blame History

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 ещё не настроен, сначала добавьте адрес своего удалённого репозитория.