v1.8.74: skill docs update — resume/retry behavior, Windows SHA256 path fix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-03-01 04:21:04 -05:00
parent 7e7c1d3efc
commit 1ee03a1da4
4 changed files with 6 additions and 2 deletions

Binary file not shown.

View File

@@ -204,11 +204,13 @@ unset SSH_ASKPASS && unset DISPLAY && ssh ALIAS "command"
**ВСЕГДА используй `--upload` / `--download` для передачи файлов.** Это SFTP-протокол с автоматическими фичами: **ВСЕГДА используй `--upload` / `--download` для передачи файлов.** Это SFTP-протокол с автоматическими фичами:
- **Файлы >10MB:** chunked upload с resume — при обрыве продолжит с того места - **Файлы >10MB:** chunked upload с resume — при обрыве продолжит с того места
- **Retry:** до 5 попыток с exponential backoff при сетевых ошибках - **Retry:** adaptive retry — до 30 попыток для больших файлов (exponential backoff, min 5s)
- **SHA256 верификация:** автоматическая проверка целостности после загрузки - **SHA256 верификация:** автоматическая проверка целостности после загрузки
- **Atomic rename:** запись в .part файл → проверка → переименование - **Atomic rename:** запись в .part файл → проверка → переименование
- **Keepalive:** SSH keepalive каждые 15 секунд — не обрывается NAT/роутером - **Keepalive:** SSH keepalive каждые 15 секунд — не обрывается NAT/роутером
- **Прогресс:** 25/50/75% для файлов >1MB - **Прогресс:** 25/50/75% для файлов >1MB
- **Resume:** при повторном запуске `--upload` автоматически продолжает с .part файла (не начинает заново)
- **Windows SSH:** SHA256 через PowerShell `Get-FileHash`, пути автоматически нормализуются
```bash ```bash
# Загрузить файл на сервер (SFTP) # Загрузить файл на сервер (SFTP)
@@ -218,6 +220,8 @@ python ~/.server-connections/ssh.py ALIAS --upload "D:/local/file" //remote/path
python ~/.server-connections/ssh.py ALIAS --download //remote/path/file "D:/local/file" python ~/.server-connections/ssh.py ALIAS --download //remote/path/file "D:/local/file"
``` ```
**Поведение при обрыве:** соединение оборвалось → ждёт 5-30 сек → переподключается → проверяет .part файл на сервере → дозаливает с того места. Если файл полностью залит — проверяет SHA256 → atomic rename `.part` → финальный файл. Работает даже на нестабильных каналах (тестировано: 250MB через 6 reconnect'ов).
**ЗАПРЕЩЕНО** использовать shell-команды как **способ передачи файлов** на/с сервера: **ЗАПРЕЩЕНО** использовать shell-команды как **способ передачи файлов** на/с сервера:
- `echo "длинный_контент" > remote_file` — обрежет данные, сломает бинарники - `echo "длинный_контент" > remote_file` — обрежет данные, сломает бинарники
- `base64` чанки через exec_command — ненадёжно, ломается на больших файлах (exit 127) - `base64` чанки через exec_command — ненадёжно, ломается на больших файлах (exit 127)

View File

@@ -1,6 +1,6 @@
"""Version info for ServerManager.""" """Version info for ServerManager."""
__version__ = "1.8.73" __version__ = "1.8.74"
__app_name__ = "ServerManager" __app_name__ = "ServerManager"
__author__ = "aibot777" __author__ = "aibot777"
__description__ = "Desktop GUI for managing remote servers" __description__ = "Desktop GUI for managing remote servers"