2026-09-27 15:24:51 +03:00
|
|
|
|
# SbLauncher
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
Портативный лаунчер для sing-box с интерфейсом WPF. Работает в Windows 10/11
|
|
|
|
|
|
x64 с .NET Framework 4.x. Поддерживает импорт серверов, три режима подключения
|
|
|
|
|
|
(`wg`, `direct`, `wgonly`), проверку конфигурации, запуск и остановку sing-box,
|
|
|
|
|
|
логи и светлую/тёмную тему. Для TUN и сетевых маршрутов запрашивает права
|
|
|
|
|
|
администратора.
|
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)
|
|
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
## Установка из релиза
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
Распакуйте `SbLauncher-v0.1.2-win-x64.zip` в постоянную папку и запустите
|
|
|
|
|
|
`SbLauncher.exe`. В архив уже включены sing-box, файл правил и базовые серверы.
|
|
|
|
|
|
На вкладке «Настройки» задайте свой приватный ключ и локальный IP WireGuard;
|
|
|
|
|
|
для режима `direct` выберите свой сетевой адаптер. Программа автоматически
|
|
|
|
|
|
сохранит настройки.
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
## Базовые серверы и личные данные
|
|
|
|
|
|
|
|
|
|
|
|
- `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 не требуются.
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
В чистом клоне для подключения и проверки конфигов дополнительно разместите
|
|
|
|
|
|
совместимый `bin/sb.exe` и файл правил `doc/doc.srs`. Бинарники не хранятся
|
|
|
|
|
|
в Git, но включаются в готовый релизный ZIP. Текущий комплект использует
|
|
|
|
|
|
sing-box `1.12.19`, `windows/amd64`.
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
cmd /c build.cmd
|
|
|
|
|
|
.\SbLauncher.exe
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
Базовые серверы загрузятся из `profiles.base.json`, личные файлы создаются
|
|
|
|
|
|
программой при сохранении настроек или импорте. `profiles.example.json`
|
|
|
|
|
|
содержит демонстрационные адреса для тестирования старого формата и не
|
|
|
|
|
|
используется для первой установки из релиза.
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
## Проверки
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
|
|
|
|
|
```powershell
|
2026-10-10 14:58:04 +03:00
|
|
|
|
cmd /c build.cmd importtest # форматы импорта и конфиги sing-box
|
|
|
|
|
|
cmd /c build.cmd profiletest # импорт и сохранение профилей
|
|
|
|
|
|
cmd /c build.cmd updatetest # обновление базы и сохранение личных данных
|
2026-09-26 21:49:44 +03:00
|
|
|
|
cmd /c build.cmd stress # нагрузка интерфейса
|
2026-10-10 14:58:04 +03:00
|
|
|
|
cmd /c build.cmd themetest # анимация темы и быстрые переключения
|
2026-09-26 21:49:44 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
`build.cmd selftest` проверяет конфигурацию и может читать текущие профили.
|
|
|
|
|
|
`build.cmd deploy "путь"` копирует программу, базовый каталог и шаблоны в
|
|
|
|
|
|
явно указанную тестовую папку; `local.json` и личный `profiles.json` не заменяет.
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
|
|
|
|
|
## Git и релизы
|
|
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
Основная ветка — `main`. Обновите [CHANGELOG.md](CHANGELOG.md), три версии
|
|
|
|
|
|
в `Version.cs` и номер `assemblyIdentity` в `app.manifest`. Перед коммитом
|
|
|
|
|
|
проверьте список файлов: личных настроек, серверов и резервных копий
|
|
|
|
|
|
в нём быть не должно. Для версии `0.1.2`:
|
2026-09-26 21:49:44 +03:00
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
git status
|
|
|
|
|
|
git add -A
|
|
|
|
|
|
git diff --cached --stat
|
2026-10-10 14:58:04 +03:00
|
|
|
|
git commit -m "Release v0.1.2"
|
|
|
|
|
|
.\release.ps1 -Version 0.1.2
|
|
|
|
|
|
git tag -a v0.1.2 -m "SbLauncher v0.1.2"
|
2026-09-26 21:49:44 +03:00
|
|
|
|
git push origin main
|
2026-10-10 14:58:04 +03:00
|
|
|
|
git push origin v0.1.2
|
2026-09-26 21:49:44 +03:00
|
|
|
|
```
|
2026-09-26 14:41:04 +03:00
|
|
|
|
|
2026-10-10 14:58:04 +03:00
|
|
|
|
`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`.
|