85 lines
6.7 KiB
Markdown
85 lines
6.7 KiB
Markdown
# Передача SbLauncher коллеге
|
||
|
||
## Первый запуск
|
||
|
||
1. Передайте `SbLauncher-v0.1.2-win-x64.zip` и файл `.zip.sha256`
|
||
либо ссылку на релиз. Если репозиторий закрыт, для скачивания по ссылке
|
||
нужен доступ к нему; сам ZIP можно передать напрямую.
|
||
2. Коллега распаковывает ZIP в постоянную папку, например
|
||
`C:\Tools\SbLauncher`. Windows 10/11 x64 и .NET Framework 4.x обязательны.
|
||
Устанавливать Visual Studio, собирать исходники или копировать примеры
|
||
конфигурации не нужно: `bin\sb.exe`, `doc\doc.srs` и базовые серверы уже
|
||
входят в архив. В комплекте используется sing-box `1.12.19`, `windows/amd64`.
|
||
3. Запускает `SbLauncher.exe` и подтверждает запрос администратора,
|
||
необходимый для TUN и сетевых маршрутов.
|
||
4. На вкладке «Настройки» вводит **свой** приватный ключ WireGuard и
|
||
**свой** локальный IP в формате CIDR, например `10.10.0.2/24`.
|
||
Эти данные должны быть выданы и зарегистрированы для него на сервере
|
||
WireGuard. В режиме `direct` вместо WireGuard выбирает свой сетевой адаптер.
|
||
5. Выбирает базовый сервер и подключается. Дополнительные личные серверы
|
||
добавляет через поле импорта. При ошибке смотрит сообщение на вкладке «Лог».
|
||
|
||
Лаунчер автоматически сохраняет введённые настройки. Ваш приватный ключ,
|
||
локальный IP, сетевой адаптер и личные серверы в архив не попадают.
|
||
|
||
## Как устроены файлы
|
||
|
||
| Файл | Содержимое | При обновлении |
|
||
| --- | --- | --- |
|
||
| `profiles.base.json` | Базовые серверы для всех и общие параметры WireGuard-сервера | Заменяется версией из релиза |
|
||
| `profiles.json` | Только личные серверы пользователя и список скрытых базовых серверов | Сохраняется |
|
||
| `local.json` | Приватный ключ, локальный IP WireGuard, адаптер, тема и выбранный сервер | Сохраняется |
|
||
| `profiles.legacy-backup.json` | Резервная копия старого списка при переходе с v0.1.1 | Сохраняется, в релиз не входит |
|
||
| `templates/*.json` | Общие правила подключения | Обновляются из релиза |
|
||
| `run/config.json` | Сгенерированный конфиг sing-box | Создаётся при подключении |
|
||
|
||
Базовые и личные серверы отображаются вместе. Добавление личного сервера
|
||
не меняет базовый каталог. Удаление базового сервера скрывает его для этого
|
||
пользователя, и обновление не возвращает его в список.
|
||
|
||
При первом запуске поверх v0.1.1 общий список `profiles.json` автоматически
|
||
разделяется: совпадающие базовые записи берутся из релиза, личные и изменённые
|
||
записи сохраняются в личном файле. Перед преобразованием создаётся резервная
|
||
копия `profiles.legacy-backup.json`. `local.json` сохраняет настройки пользователя.
|
||
|
||
## Обновление без потери настроек
|
||
|
||
1. Остановите подключение и закройте программу через меню значка в трее.
|
||
2. Для резервной копии сохраните `local.json` и `profiles.json`.
|
||
3. Распакуйте новый релиз **поверх той же папки**, согласившись на замену
|
||
файлов программы, базового каталога и шаблонов.
|
||
4. Запустите лаунчер и проверьте версию в шапке окна.
|
||
|
||
ZIP намеренно не содержит `local.json`, `profiles.json` и резервную копию
|
||
старых профилей, поэтому распаковка не заменяет их. Базовые серверы и правила
|
||
обновятся, а личные серверы, ключ и IP останутся. Если вы редактировали
|
||
шаблоны вручную, сохраните и сравните их перед заменой.
|
||
|
||
При установке в новую папку перенесите туда только свои `local.json` и
|
||
`profiles.json` из прежней установки. Не удаляйте старую папку, пока не
|
||
проверили запуск и сохранённые настройки.
|
||
|
||
## Проверка архива
|
||
|
||
В PowerShell рядом с ZIP и `.sha256`:
|
||
|
||
```powershell
|
||
$archive = '.\SbLauncher-v0.1.2-win-x64.zip'
|
||
$expected = ((Get-Content ($archive + '.sha256') -Raw).Trim() -split '\s+')[0]
|
||
$actual = (Get-FileHash $archive -Algorithm SHA256).Hash
|
||
if ($actual -ine $expected) { throw 'Контрольная сумма ZIP не совпала.' }
|
||
'Контрольная сумма совпала.'
|
||
```
|
||
|
||
## Подготовка следующих релизов
|
||
|
||
Меняйте общий каталог `profiles.base.json`, сохраняя `id` уже существующих
|
||
серверов даже при смене их адресов или ключей. В нём разрешены общие данные
|
||
доступа и публичные параметры WireGuard-сервера; персональных
|
||
`private_key` и `local_address` в нём быть не должно.
|
||
|
||
Не копируйте личный `profiles.json` в релиз и не формируйте из него базовый
|
||
каталог автоматически: в личном файле могут появиться серверы, которые
|
||
пользователь не собирался передавать другим. `release.ps1` берёт серверы
|
||
только из явно подготовленного `profiles.base.json`.
|