Перейти к содержимому

Как синхронизировать через Synology NAS

В этом руководстве описано, как синхронизировать базу паролей KeePassium с другими устройствами с помощью сетевого хранилища Synology (NAS).

KeePassium поддерживает два способа синхронизации с Synology NAS:

Способ 1: Прямое подключение по WebDAV

При таком подходе KeePassium взаимодействует с вашим сервером Synology напрямую, по протоколу WebDAV.

Подробнее см. в документации Synology: Доступ к файлам Synology по WebDAV

Способ 2: Интеграция с приложением «Файлы» в iOS

  • Установите приложение Synology DS File и введите свои учётные данные
  • Откройте KeePassium и перейдите на экран «Базы паролей» (при необходимости нажмите < Назад)
  • Нажмите ЕщёОткрыть базу паролей
  • Если DS File не отображается в списке, включите его отображение
  • Выберите файл своей базы паролей

Устранение неполадок

«Залипающее» кэширование в Synology Drive

Базы паролей, добавленные через приложение Synology Drive (не DS File), не всегда автоматически скачиваются/загружаются. Поэтому, если база была изменена на сервере, эти изменения могут не стать видимыми для KeePassium. Если же она была изменена в KeePassium, Synology Drive может не заметить изменения и не загрузить файл на сервер. Это проблема приложения Synology Drive.

Мы сообщили Synology об этой ошибке в августе 2020 года (заявка #2604475). Компания подтвердила проблему:

Upon further inspection, our developer confirmed that on some occasions, when using the iOS Files app to browse files on Drive, it does not show the latest version of the files.

They are currently working on a fix that will be released on a later date.

В качестве решения используйте приложение DS File или прямое подключение по WebDAV.

DS File не работает офлайн

Приложению DS File требуется работающее сетевое подключение к серверу. Если NAS недоступен, KeePassium отменит попытку подключения через несколько секунд.

Если вам нужен доступ к базе паролей даже когда NAS недоступен, лучшее решение — вообще отказаться от DS File и использовать прямое подключение по WebDAV.

Нераспознанный формат базы паролей

Иногда KeePassium не может загрузить базу паролей с Synology NAS, и в журнале появляется следующая ошибка:

Unrecognized database format [firstBytes: 7b226572726f7222]

Эта ошибка вызвана двумя багами Synology (о них сообщено в заявке #2591926):

  • Когда DS File подключается к NAS, мобильное приложение получает случайное значение session_id. С вероятностью около 1% этот параметр начинается с цифры. Поскольку приложение не экранирует значение должным образом в последующих запросах, сервер не может разобрать session_id и отвечает кодом ошибки 119.
  • Код ошибки 119 не описан в документации Synology API. Судя по всему, приложение DS File не обрабатывает его корректно — и принимает сообщение об ошибке за фактическое содержимое файла. Иначе говоря, KeePassium получает базу паролей в виде {"error":{"code":119},"success":false} — что, разумеется, не является корректной базой.

Есть три возможных способа обойти эту ошибку:

  • Заново добавьте базу паролей в KeePassium. Смысл в том, чтобы заставить DS File повторно войти на сервер (и тем самым сгенерировать новое, скорее всего корректное, значение session_id).
  • Выключите Wi-Fi на устройстве, подождите минуту, затем включите снова. NAS должен стать доступен снова. (Причина та же, что и выше.)
  • В качестве долгосрочного решения, подключайтесь к вашему NAS через прямое подключение по WebDAV.

См. также