Release v0.1.2
This commit is contained in:
+84
@@ -0,0 +1,84 @@
|
||||
# Передача 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`.
|
||||
Reference in New Issue
Block a user