Работаем с Яндекс.Диск через WebDAV.
Многие из нас используют в повседневной жизни облачные хранилища, такие как Google Drive, Яндекс.Диск, Облако@Mail.Ru и другие. Однако, немногие знают что существуют альтернативные способы доступа к ним, помимо установки официального приложения. В этом небольшом посте я расскажу о том как можно использовать Яндекс.Диск при помощи WebDAV и о некоторых аспектах практического использования доступа к Яндекс.Диску по WebDAV, например, для создания регулярных резервных копий важной информации, например, для защиты от троянов-шифровальщиков. Здесь и далее будет предполагаться что регулярные резервные копии вашей критически важной информации уже делаются у вас и складываются, например, в отдельную папку, при этом каждой дате соответствует определенный архив.
Для начала давайте разберемся что же такое WebDAV. Сам аббревиатура расшифровывается как Web Distributed Authoring and Versioning, другими словами, WebDAV - это протокол передачи данных и работы с ним, работающий поверх HTTP 1.1. С помощью WebDAV можно управлять файлами на сервере, осуществлять основные файловые операции и многое другое. Для нас же важно, что Яндекс.Диск предоставляет доступ по WebDAV к вашему диску, а ОС Windows позволяет подключить WebDAV-ресурс как отдельный сетевой диск (см. статью Сетевой диск в Windows). Последним способом мы пользоваться не будем, т.к. в случае подключения Яндекс.Диска, как отдельного сетевого диска с назначенной буквой в Windows, есть риски что данные хранящиеся на нем будет изменены вредоносным ПО (например, зашифрованы) и в результате мы получим синхронизированную копию этих данных уже в облаке. Поэтому для организации загрузки файлов резервных копий на Яндекс.Диск через WebDAV мы будем использовать консольный клиент.
Также, если вам удобно работать в любом файловом менеджере - например, Far Manager или Total Commander вы можете использовать соответствующие плагины, позволяющие работать с WebDAV. В Far Manager'е, например, поддержка WebDAV есть во встроенном плагине NetBox. Для доступа к Яндекс.Диск непосредственно из Far Manager достаточно создать новое WebDAV соединение:
картинка во вложении
Для написания скрипта автоматической загрузки файлов на Яндекс.Диск мы будем использовать консольный клиент с поддержкой WebDAV. В данном случае мой выбор пал на многофункциональный WinSCP. С документацией по написанию скриптов для WinSCP можно ознакомиться здесь.
Тут все как раз очень просто. Создаем файл upload.txt со следующим содержанием:
open https://имя_пользователя:пароль@webdav.yandex.ru
put test.txt /
exit
Где имя_пользователя - ваш аккаунт на Яндекс.Диск, с собакой и всем остальным. Пароль - пароль от этого аккаунта. test.txt - это файл, который мы хотим загрузить. И запускаем скрипт - WinSCP.com /script=upload.txt.
В результате наш файл загружается на Яндекс.Диск в корневую папку:
Connecting to host...
Authenticating...
Authenticated.
Starting the session...
Session started.
Active session: [1] decker@yandex.ru@webdav.yandex.ru
test.txt | 6 B | 0,0 KB/s | binary | 100%
Вот вообщем-то и всё. Если вы опасаетесь за безопасность персональных данных при хранении их в облаке - перед загрузкой backup'ов в облако их можно упаковывать в архив Rar с криптостойким паролем, либо применять другие способы шифрования загружаемых в облако файлов.
Полезные ссылки по теме: