2026-09-26 21:49:44 +03:00
|
|
|
|
# sb launcher · glass
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
Лаунчер для sing-box с интерфейсом WPF. Работает в Windows 10/11 x64 с
|
|
|
|
|
|
.NET Framework 4.x. Поддерживает импорт и выбор серверов, три режима
|
|
|
|
|
|
подключения (`wg`, `direct`, `wgonly`), проверку конфигурации, запуск и остановку
|
|
|
|
|
|
sing-box, логи и светлую/тёмную тему.
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
Это отдельный прототип интерфейса; рабочая копия `sb_launcher_rev2` не меняется.
|
|
|
|
|
|
Приложение запрашивает права администратора для настройки сетевых маршрутов.
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|

|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
[Тёмная тема](preview/glass-dark.png)
|
|
|
|
|
|
|
|
|
|
|
|
## Подготовка
|
|
|
|
|
|
|
|
|
|
|
|
Для сборки нужен `csc.exe` из установленного .NET Framework 4.x. `build.cmd`
|
|
|
|
|
|
использует `%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe`; Visual Studio
|
|
|
|
|
|
и .NET SDK не требуются.
|
|
|
|
|
|
|
|
|
|
|
|
Для подключения дополнительно нужны совместимый исполняемый файл sing-box и
|
|
|
|
|
|
файл правил. Они хранятся только локально и в репозиторий или релизный архив
|
|
|
|
|
|
не входят:
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
bin/sb.exe
|
|
|
|
|
|
doc/doc.srs
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Из чистого клона создайте локальные настройки и профили:
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
|
|
|
|
|
```powershell
|
2026-09-26 21:49:44 +03:00
|
|
|
|
Copy-Item .\local.example.json .\local.json
|
|
|
|
|
|
Copy-Item .\profiles.example.json .\profiles.json
|
2026-09-26 14:41:04 +03:00
|
|
|
|
cmd /c build.cmd
|
|
|
|
|
|
.\SbLauncher.exe
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
Демонстрационные адреса из `profiles.example.json` не подключаются. Добавьте
|
|
|
|
|
|
свои серверы через импорт или в `profiles.json`, затем укажите приватный ключ
|
|
|
|
|
|
WireGuard, адрес туннеля и сетевой адаптер на вкладке «Настройки». Секреты в
|
|
|
|
|
|
`local.json`, а также серверы в `profiles.json` исключены из Git. Не добавляйте
|
|
|
|
|
|
их в коммиты и релизные архивы.
|
|
|
|
|
|
|
|
|
|
|
|
Готовый ZIP из релиза распаковывается аналогично: поместите рядом с лаунчером
|
|
|
|
|
|
`bin/sb.exe` и `doc/doc.srs`, скопируйте два файла `.example.json` без слова
|
|
|
|
|
|
`.example` в имени и заполните свои данные. Сборка из исходников для ZIP не нужна.
|
|
|
|
|
|
|
|
|
|
|
|
## Сборка и проверки
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
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](CHANGELOG.md), три версии в `Version.cs` и номер
|
|
|
|
|
|
`assemblyIdentity` в `app.manifest`; используйте формат `MAJOR.MINOR.PATCH`.
|
|
|
|
|
|
После этого, например для версии `0.1.1`:
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
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` с хешем коммита.
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
При настроенном удалённом репозитории отправьте ветку и тег:
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
```powershell
|
|
|
|
|
|
git push origin main
|
|
|
|
|
|
git push origin v0.1.1
|
|
|
|
|
|
```
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-09-26 21:49:44 +03:00
|
|
|
|
Затем создайте релиз `v0.1.1` в GitHub/Gitea, вставьте заметки из
|
|
|
|
|
|
`CHANGELOG.md` и прикрепите ZIP и `.sha256`. Если `origin` ещё не настроен,
|
|
|
|
|
|
сначала добавьте адрес своего удалённого репозитория.
|