cadaver – консольный клиент WebDav

Ранее рассматривалась возможность установки файловой системы davfs2 для монтирования облачных сетевых дисков по протоколу WebDav на роутерах с OpenWrt. Также была выявлена проблема с переносом в облако крупных файлов, которое в случае davfs2 происходит с обязательным дублированием всех файлов в кэше.

Частичным решением этого вопроса может стать использование отдельного WebDav-клиента. Изучение поисковиков говорит нам о том, что такой клиент в природе существует – и практически в единственном экземпляре. Это cadaver. И, как водится, под OpenWrt его никто не портировал – так что снова пытаемся решить вопрос портирования самостоятельно.

В ходе непродолжительных изысканий был составлен пакет cadaver, совместимый со стандартным OpenWrt Buildroot. Хранится он, как обычно, в нашем хранилище – fs.erinome.net.

К сожалению, данный пакет тащит за собой довольно большой хвост из зависимостей – это библиотеки libncurses, libreadline, а также знакомые по davfs2 libneon, libexpat и libopenssl. В откомпилированном виде для платформы ar71xx он занимает 81.5K свободного пространства без учета библиотек.

Применение клиента не представляет сложностей, все основные команды изложены в соответствующем ему мануале – например, на linux.die.net.

Пример загрузки файла на сервис Яндекс.Диск:

# cadaver https://webdav.yandex.ru
WARNING: Untrusted server certificate presented for `webdav.yandex.ru':
Issued to: ITO, Yandex, Moscow, Russia, RU
Issued by: ld, yandex, ru
Certificate is valid from Tue, 25 Sep 2012 11:43:32 GMT to Fri, 17 Jan 2014 15:15:46 GMT
Do you wish to accept the certificate? (y/n) y
Authentication required for Yandex.Disk on server `webdav.yandex.ru':
Username: login
Password:
dav:/> put /srv/shared/WTFEntryOutComLp.wav /Music/WTFEntryOutComLp.wav
Uploading /srv/shared/WTFEntryOutComLp.wav to `/Music/WTFEntryOutComLp.wav':
Progress: [=============================>] 100.0% of 16581672 bytes succeeded.
dav:/> exit
Connection to `webdav.yandex.ru' closed.
#

К сожалению, при помощи данной утилиты все же не представляется возможным передать динамически генерируемые файлы с STDIN. Зато крупные файлы можно загружать на удаленный хостинг без дублирования их в кэше.

This entry was posted in Сеть и интернет and tagged , , . Bookmark the permalink.

One Response to cadaver – консольный клиент WebDav

  1. MercuryV says:

    Приветствую!
    Скорее всего добавим cadaver в Entware. Получится своего рода обмен на davfs2 :-)
    Правда на мой взгляд логичнее будет разместить пакет в SUBMENU:=File Transfer (вместо Filesystem)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>