Как синхронизировать через Synology NAS
В этом руководстве описано, как синхронизировать базу паролей KeePassium с другими устройствами с помощью сетевого хранилища Synology (NAS).
KeePassium поддерживает два способа синхронизации с Synology NAS:
- Прямое подключение по WebDAV — более надёжный
- Интеграция с приложением «Файлы» в iOS — проще в настройке
Способ 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.