# Pier — сетевые диски в Проводнике

Pier подключает WebDAV (Nextcloud, ownCloud, Synology, Apache), SFTP (любой
SSH-сервер) и NFSv3 как настоящую букву диска Windows. Блочный кеш на
локальном диске держит большие файлы быстрыми, прерванные загрузки и выгрузки
докачиваются с места обрыва, оборванное соединение переподключается само, а
диск можно перевести в офлайн-режим и продолжать работать из кеша.

Бесплатная версия: до 5 дисков, все протоколы и возможности, рекламный баннер
в окне настроек. Pro: без лимита дисков и без рекламы — $19 в год, покупается в
личном кабинете iMobile (https://new-imobile.com/ru/pier/).

## Требования

- Windows 10 или 11 (64-бит), Windows Server 2019 и новее.
- Драйвер файловых систем Dokany (открытый, https://dokan-dev.github.io). Его
  установщик `DokanSetup.exe` лежит в архиве; один запуск, без перезагрузки.
  Если драйвера нет, Pier об этом скажет.
- Права администратора нужны только для установки службы.

## Установка

Запустите `Pier-<версия>-Setup.exe`: он поставит драйвер Dokany, если его нет,
и затем сам Pier (служба, ярлык в меню «Пуск», значок в трее). Удаление —
«Приложения и возможности», Pier; Dokany остаётся и удаляется отдельно.

Портативный вариант, `Pier-<версия>.zip`:

1. Запустите `DokanSetup.exe` из архива (если Dokany 2.x уже стоит — пропустите).
2. Распакуйте `Pier-<версия>.zip` в постоянную папку, например
   `C:\Program Files\Pier`, и запустите `Pier.exe`.
3. Подтвердите установку службы (запрос UAC). Служба `Pier` запускается,
   в трее появляется значок; он же стартует при каждом входе в систему.

Удаление: `Pier.exe uninstall` от администратора, затем удалить папку. Dokany
удаляется отдельно через «Приложения и возможности».

## Обновление с 0.1.0

0.1.0 работала на драйвере WinFsp, 0.2.0 — на Dokany. Запустите `DokanSetup.exe`,
остановите службу (`net stop Pier` от администратора или через меню в трее),
замените `Pier.exe` и запустите снова (`net start Pier`). Диски, кеш и настройки
сохраняются. WinFsp после этого можно удалить через «Приложения и возможности».

## Первый диск

1. Откройте Pier из трея и нажмите **Добавить**.
2. Выберите протокол, укажите сервер, папку и учётные данные, выберите букву.
3. Нажмите **Проверить**: Pier подключится, попробует запись и
   переименование, измерит возможности сервера (докачка, даты, чувствительность
   к регистру) и покажет отчёт. Проблемы видны здесь, а не потом в виде
   непонятной ошибки.
4. Нажмите **OK**. Служба смонтирует букву для всех пользователей машины и
   сохранит её между перезагрузками.

### Страницы диска

- **Соединение** — протокол, сервер, порт, корневая папка, пользователь,
  пароль или файл ключа OpenSSH (Ed25519, ECDSA, RSA, с парольной фразой).
- **Сеть** — таймауты, повторы и паузы для плохих каналов, число параллельных
  соединений, ограничение скорости выгрузки/загрузки.
- **Кеш** — размер и расположение кеша, размер блока, срок доверия к
  листингам каталогов, задержка отложенной записи, офлайн-режим.
- **Совместимость** — что нашла проверка сервера, и переопределения для
  серверов, которые сообщают о себе неверно.

## Повседневная работа

- В меню трея каждый диск: подключить/отключить, «Открыть в Проводнике»,
  «Синхронизировать сейчас».
- Вкладка **Передачи** в окне настроек показывает текущие и ожидающие
  выгрузки и загрузки с прогрессом и повторами.
- **Офлайн**: переведите диск в офлайн-режим, чтобы работать только из кеша;
  изменения записываются в журнал и уходят на сервер, когда вы снова онлайн.
- **Автообновление** включено по умолчанию (меню трея). Pier несколько раз в
  день проверяет новую версию, скачивает и проверяет её и ставит, когда нет
  активных передач. На время обновления диски отключаются примерно на минуту.

## Командная строка

```
Pier.exe status | log [N] | set <mount.json> | mount <id> | unmount <id> |
         remove <id> | sync <id> | clearcache <id> | offline <id> | online <id> |
         probe <id|json> | update [apply] | install | uninstall | version
```

Конфигурация: `%ProgramData%\Pier\config.json` (учётные данные зашифрованы
машинным ключом DPAPI). Кеш: `%ProgramData%\Pier\cache\<id>`. Журнал службы:
`%ProgramData%\Pier\service.log`.

## Приватность

Pier обращается только к серверам, которые вы настроили. Сервер аккаунтов
iMobile (accounts.new-imobile.com) нужен только для лицензии, рекламного
баннера бесплатной версии и проверки обновлений.

© iMobile. Pier использует Dokany (https://dokan-dev.github.io) и libssh2 (https://libssh2.org).
