Files

104 lines
6.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SbLauncher
Портативный лаунчер для sing-box с интерфейсом WPF. Работает в Windows 10/11
x64 с .NET Framework 4.x. Поддерживает импорт серверов, три режима подключения
(`wg`, `direct`, `wgonly`), проверку конфигурации, запуск и остановку sing-box,
логи и светлую/тёмную тему. Для TUN и сетевых маршрутов запрашивает права
администратора.
![Светлая тема](preview/glass-light.png)
[Тёмная тема](preview/glass-dark.png)
## Установка из релиза
Распакуйте `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`.
```powershell
cmd /c build.cmd
.\SbLauncher.exe
```
Базовые серверы загрузятся из `profiles.base.json`, личные файлы создаются
программой при сохранении настроек или импорте. `profiles.example.json`
содержит демонстрационные адреса для тестирования старого формата и не
используется для первой установки из релиза.
## Проверки
```powershell
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](CHANGELOG.md), три версии
в `Version.cs` и номер `assemblyIdentity` в `app.manifest`. Перед коммитом
проверьте список файлов: личных настроек, серверов и резервных копий
в нём быть не должно. Для версии `0.1.2`:
```powershell
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`.