Webdav программа: Изучаем WebDav — «Хакер»
Подключение облачных дисков по протоколу WebDav в среде Windows • Обучение компьютеру
Облачные диски, они же облачные хранилища, они же облачные сервисы, они также и просто облака – незаменимая вещь для веб-сёрфера. Они дают мобильность доступа к данным: в любой точке мира, с любого компьютерного или мобильного устройства мы, как пользователи можем получить доступ к своим личным файлам. Облака могут играть роль обменников файлами, а также могут быть хранилищами резервных копий для ценных данных. При активной работе с различными облачными хранилищами не всегда может быть удобно использовать доступ к своим данным в их веб-интерфейсе.
А для интеграции облачных дисков в среды мобильных и десктопных операционных систем существует масса инструментов — родные клиентские приложения облаков, возможности файловых менеджеров и специальных профильных программ. В среде Windows, например, при помощи её штатного функционала некоторые облака можно подключить как сетевые диски по некому протоколу WebDav. Но что это за протокол, в чём особенности такого подключения? И как реализовать подключение по WebDav в среде Windows 7, 8.1 и 10? Давайте разберемся.
Что такое протокол WebDav
WebDav – это протокол, созданный поверх протокола HTTP и представляющий собой, по сути, свой комплект дополнений к последнему. WebDav обеспечивают управление файлами на удалённых серверах, к числу которых относятся и облачные хранилища. С помощью этого протокола осуществляется интеграция облачных пространств в среду Windows – подключение по типу сетевых дисков.
Клиентские программы облачных хранилищ, интегрирующие их в ОС Windows, обычно работают по принципу загрузки содержимого облака на локальный диск компьютера и синхронизации затем данных с облаком по итогу внесения пользователем каких-то изменений. В этом плане подключение по протоколу WebDav отличается несколько иным механизмом: мы получаем доступ к своим данным в облаке по сети в режиме реального времени. И можем эти файлы копировать, перемещать, переименовывать, удалять. И лишь если нам нужно просмотреть или отредактировать файл в какой-то системной программе, этот файл загружается в системный кэш и уже оттуда потом выгружается снова в облако.
Тогда как родные клиентские приложения при интеграции в среду Windows облачных дисков реализуют в контекстном меню проводника разные операции облаков – типа быстрой загрузки файлов в облако или же получения ссылок для публичного доступа, подключение к облачному содержимому по протоколу WebDav ограничивается только обычными операциями управления. Но эти обычные операции управления мы можем проводить с любым удобным нам файловым менеджером. Хоть это будет проводник Windows, хоть это будет функциональный файловый менеджер с массой продвинутых возможностей по работе с данными, которые будут распространятся и на облачные диски, подключённые по WebDav.
Клиентское приложение каждого отдельного облачного хранилища для обеспечения своих задач нуждается в фоновой работе. А скопление таких приложений (если нужно системно работать с несколькими облачными хранилищами) и их фоновая работа по синхронизации разных данных могут нагружать ресурсы слабых компьютеров. Тогда как подключение с использованием протокола WebDav в среде Windows реализуется единым системным процессом. Так, компания Microsoft продвигает протокол WebDav, и он давно входит в число штатного функционала Windows.
По протоколу WebDav мы сможем подключить несколько своих аккаунтов в одном и том же облачном хранилище. WebDav – это чисто технический функционал, он лишён влияния сковывающей корпоративной политики, как многие клиентские приложения облаков. Немногие из них предусматривают одновременную интеграцию в Windows нескольких облачных дисков с использованием пользовательского мультиаккаунта. Облачным сервисам выгоднее продвигать идею увеличения за доп. оплату облачного дискового пространства, чем создать возможность доступа к бесплатным объёмам в рамках пользования несколькими аккаунтами.
Системный способ подключения облака по WebDav
Как можно подключить облачное хранилище по протоколу WebDav с использованием штатного функционала Windows? Нам нужен системный проводник, открываем в нём среду «Этот компьютер», ну или просто «Компьютер», как в Windows 7. В проводнике последней нажимаем клавишу Alt, чтобы отобразилось дополнительное меню. В этом дополнительном меню выбираем «Сервис», дальше — «Подключить сетевой диск».
В проводнике Win 8.1 и 10 просто открываем на Ribbon-панели вкладку «Компьютер». И здесь выбираем дважды «Подключить сетевой диск».
Дальнейшие действия будут идентичны для всех актуальных версий – Windows 7, 8.1 и 10. Перед нами появится окно подключения сетевого диска. В нём можем выбрать какую-угодно букву для облачного диска. И далее в графе «Папка» вписываем адрес подключения облака по WebDav. Давайте мы рассмотрим всё это с вами на примере подключения OneDrive. В графу «Папка» нам нужно вписать сетевой адрес типа:
https://docs.live.net/наш_ID
Где наш ID – это наш идентификатор, который отображается в адресной строке веб-интерфейса OneDrive.
После ввода адреса жмём кнопку «Готово».
Дальше нам предстоит авторизоваться в облачном хранилище. Ну и чтобы OneDrive у нас постоянно само подключалось при запуске системы ОС Windows, мы активируем чекбокс «Запомнить учётные данные».
Вот, собственно, и все. Теперь в проводнике мы должны увидеть наш облачный диск. При необходимости можем переименовать его и дать более читабельное имя.
Ну а если данный сетевой диск станет ненужным, тогда в этом же контекстном меню можно отключить его.
При подключении облака по WebDav переменным значением является адрес сетевого диска, указываемый в графе «Папка».
Для Яндекс.Диска, например, этот адрес будет:
https://webdav.yandex.ru
Для Box:
https://box.net/dav
Для Dropbox:
https://dav.dropdav.com
Адрес нужного вам облачного хранилища элементарно можно узнать в Интернете, в частности, на сайте самого хранилища.
Недостаток подключения по протоколу WebDav один – его поддерживают, увы, не все облачные сервисы. Причина в упомянутой выше корпоративной политике. Из числа известных, например, это Google Drive, Облако Mail.Ru и Mega. А как же быть в таких случаях?
Что делать, если облако не поддерживает WebDav
Если облачное хранилище не поддерживает подключение по протоколу WebDav, ну тут уж придётся довольствоваться официальным клиентским его приложением. Ну либо искать пути решения вопроса. Например, Google Drive можно подключить как сетевой диск по WebDav с использованием сервиса-посредника DAV-pocket service. Но есть способ чуть проще и более универсальный – подключение с помощью специальных программ, работающих по части интеграции в среду Windows нескольких облачных сервисов. Таких программ много: RaiDrive, CloudBuckIt, MultCloud, FileCloud, ExpanDrive, WebDrive, Mountain Duck и пр. Все они по большей части платные, если не полностью, то как минимум условно-бесплатные. Из них всех сносные условия использования у программы Air Live Drive.
Air Live Drive работает как раз с теми облаками Облако Mail.Ru, Google Drive и Mega, что не предусматривают доступ по WebDav. И у этой программы есть свой функционал подключения по WebDav. В бесплатной версии Air Live Drive у нас есть возможность пользоваться всеми её возможности, но с учётом ограничения в виде подключения до трёх аккаунтов одного и того же облачного хранилища.
Скачать Air Live Drive можно на её сайте: airlivedrive.com/en/
Чтобы подключить облако с помощью Air Live Drive, установим и запустим программу. В её окне жмём «Добавить облачный диск».
Выбираем облако из числа поддерживаемых, пусть это будет, например, Google Drive.
Авторизуемся с помощью Google-аккаунта в окне браузера.
Даём разрешение на доступ программы Air Live Drive к содержимому Google Drive.
Успешная авторизация завершается таким вот окошком.
И в окне Air Live Drive у нас появляется первое подключение – подключение диска Google Drive. Здесь можем выбрать для него букву и жмём «Подключить».
Ну и содержимое Google Drive отобразится в проводнике Windows.
По этому принципу можно подключить другие облачные хранилища, которые будут отображаться в среде Windows как локальные диски. В окне Air Live Drive каждое подключённое облако имеет кнопку в виде шестерёнки, это настройки подключения. В этих настройках можем назначить, чтобы облако подключалось само каждый раз при запуске Windows. Можем сделать так, чтобы оно подключалось только с правами чтения данных. А можем сменить отображаемое в проводнике название облака или покопаться в настройках кэша подключения. Всё это уже индивидуальные настройки.
А на этом пожалуй все. Увидимся на следующих страницах блога. А пока.. Пока.
Как в Windows подключить облачное хранилище в качестве сетевого диска по протоколу WebDav
Привет, друзья. Недавно на сайте была опубликована статья о двух программках Air Live Drive и Air Explorer, реализующих в среде Windows доступ к различным облачным сервисам по типу локальных дисков. Эти программы предлагают большой перечень готовых настроек подключения популярных облаков. Но в бесплатных редакциях они ограничены возможностью подключения к системе не более 3-х хранилищ с одним аккаунтом. Некоторых из вас смутили такие ограничения, и в этой статье я решил осветить процедуру совершенно бесплатного подключения облаков в среду Windows в качестве сетевых дисков по протоколу WebDav. Ну и заодно поговорим о специфике подключения по WebDav.
Как в Windows подключить облачное хранилище в качестве сетевого диска по протоколу WebDav
Что даёт подключение по WebDav
WebDav – это набор расширений и дополнений к протоколу HTTP, который позволяет управлять файлами на удалённых серверах. Облако – это и есть этот самый удалённый сервер. Преимущество подключения облака по WebDav заключается в том, что все наши данные будут нам доступны в среде Windows без их скачивания на жёсткий компьютера, как это реализуют официальные программы-клиенты облаков. Только при запуске и редактировании файлов облачного хранилища, подключённого по WebDav, эти файлы будут скачиваться в системный кэш, а потом выгружаться из него назад в облако. С хранящимися в облаке файлами можем удалённо проводить любые управленческие операции – копирование, перемещение, переименование, удаление – с использованием проводника Windows или любого установленного файлового менеджера.
Кроме того, что подключение по WebDav не захламляет место на локальном компьютере, оно имеет ещё одно преимущество перед официальным клиентским софтом облаков – отсутствие лишних фоновых процессов для обеспечения функционирования клиента и синхронизации данных. Что немаловажно для слабых устройств.
В чём подключение по WebDav уступает официальному клиентскому софту облачных сервисов?
Во-первых, в скорости доступа к данным. Управление будет осуществляться по типу удалённого доступа, и, естественно, операции не будут проводиться так быстро, как в условиях работы с жёстким диском компьютера.
Во-вторых, мы не получим удобной возможности расшаривания ссылок на файлы – в контекстном меню в проводнике или файловом менеджере, как это реализует официальный клиентский софт. Чтобы сделать файл общедоступным и получить его ссылку, нам нужно будет отправиться в веб-интерфейс облака.
В-третьих, не все облачные хранилища предусматривают подключение по WebDav. В их числе, кстати, популярные сервисы Google Диск и Облако Mail.Ru. В таком случае можно либо прибегнуть к помощи сервисов, которые решают эту проблему и реализуют доступ к облаку по WebDav, как, например, сервис DAV-pocket service, либо использовать программы с готовыми пресетами настроек нужных хранилищ. Об одной из таких программ будем говорить ниже.
Как в среде Windows подключить облачный диск по WebDav?
Подключение по WebDav средствами Windows
Подключить облачное хранилище по WebDav можно с использованием штатных средств Windows. В проводнике Windows 8.1 и 10 кликаем вкладку «Компьютер». В проводнике Windows 7 жмём клавишу Alt, выбираем «Сервис». Жмём «Подключить сетевой диск».
В окне подключения можем выбрать букву диска для содержимого облака. В графе «Папка» вводим адрес подключения облака по WebDav. Жмём «Готово».
Авторизуемся в облаке. Выставляем галочку запоминания данных авторизации. Жмём «Ок».
В проводнике должен появиться облачный диск. Можем переименовать его так, как удобно нам.
Если облачный диск станет не нужен, отключаем его в контекстном меню.
Вот так всё просто, если, конечно, знать адрес WebDav. Как узнать этот адрес?
• Для Яндекс.Диска это https://webdav.yandex.ru
• Для Box это https://box.net/dav
• Для OneDrive это https://docs.live.net/Идентификатор
В случае с OneDrive вместо значения «Идентификатор» необходимо подставить свой уникальный код, который отображается в веб-интерфейса хранилища после значения «id=».
Ну а адреса подключения других облаков, если они поддерживают доступ по WebDav, вы, друзья, можете найти в Интернете. Либо же можете обратиться в службу поддержки сервиса.
Подключение по WebDav с помощью Raidrive
Альтернативный способ подключения облачных хранилищ по WebDav – программа RaiDrive. Она полностью бесплатная, это аналог упомянутой выше программы Air Live Drive. RaiDrive не ограничена числом подключаемых сервисов и их аккаунтов, однако, в отличие от Air Live Drive, предлагает весьма скудный перечень готовых настроек подключения облаков. У RaiDrive есть поддержка только Google Drive, Google Photos, Dropbox и OneDrive. Все остальные облачные сервисы подключаются по WebDav, FTP или SFTP при указании нами их адресов. Скачать программу можно на её официальном сайте:
RaiDrive как альтернатива Air Live Drive, конечно же, уступает последней. Но если Raidrive рассматривать как альтернативу штатному способу подключения облаков по WebDav, то у неё есть несколько преимуществ:
• Удобство подключения/отключения сетевых дисков;
• Возможность выбора папки кэша;
• Корректность отображения в проводнике общего и занятого облачного пространства. При подключении по WebDav штатными средствами Windows по объёму хранилищ отображаются неверные сведения.
Как работать с RaiDrive? Запускаем программку. Жмём «Добавить». WebDav в качестве типа подключения выбран по умолчанию. Вводим адрес, логин и пароль аккаунта облака. Жмём «Ок».
В окне RaiDrive подключением можем управлять – отключать, включать, удалять.
Предустановленную папку кэша программы можно сменить в настройках.
***
Метки к статье: Облако Системные функции Программы
Как мы выбрали и реализовали WebDAV в Яндекс.Диске / Блог компании Яндекс / Хабр
Уже в момент запуска Яндекс.Диск дал многим разработчиками возможность использовать его в своих приложениях и программах. И обеспечивает это то, что протоколом для десктопных клиентов Диска мы выбрали WebDAV.
Так как именно протокол определяет то, как общаются между собой программы и сервер, от его выбора зависит примерно всё. И то, как будут устроены клиенты, и то, какие возможности работы с файлами у них будут.
Сегодня мы хотим рассказать о причинах, которые остановили наш выбор именно на WebDAV и сделали его протоколом для клиентов Яндекс.Диска.
Благодаря API, реализованному на его базе, с нашим сервисом уже работают ABBYY FineScanner, Handy Backup 7, ES Проводник и неофициальный клиент Яндекс.Диска для Linux.
Перед тем как выбрать протокол, мы определили для себя важнейшие требования к нему:
- Скорость работы;
- Открытая лицензия;
- Возможность реализации всех необходимых действий: аутентификации, поддержки файловых операций, конкурентного доступа к файлам, докачки с сервера и возобновления закачки на сервер;
- Распространённость — он должен работать с целевыми операционными системами (в первую очередь Windows, Mac OS X, Linux) «из коробки» или с минимальными доработками.
Мы даже были готовы разрабатывать свой собственный протокол, если бы существующие нам не подошли. Изменение протокола после запуска потребовало бы много человекочасов работы, поэтому нужно было изучить разные варианты и выбрать лучше всего отвечающий нашим требованиям.
FTP. Этот протокол для удалённой работы с файлами проверен временем. Но создавался он без учёта требований информационной безопасности, что стало для нас его существенным недостатком. Помимо этого, он не поддерживает многие необходимые нам операции, например, передачу метаданных вместе с содержимым файла. И требует для подключения специальные приложения.
BitTorrent. Так как речь сразу шла о синхронизации между девайсами, то использовать соединение между ними без создания нагрузки на серверы было бы очень полезно, но это потребовало бы двойной работы по разработке клиента. Вдобавок возникли бы проблемы при работе через NAT-ы и firewall-ы, что сильно снизило бы пользу от использования этого протокола.
Amazon S3. Это хранилище использует свой собственный протокол, основанный на HTTP. Мы рассматривали возможность использования API S3, однако отказались от этой идеи из-за отсутствия в нём привычной работы с каталогами и из-за необходимости использовать специальные приложения для доступа.
WebDAV. Основанный на HTTP и XML и нетрудно расширяемый, он поддерживает в спецификациях практически все, что нам нужно. C ним достаточно хорошо работают предустановленные пакеты во всех целевых операционных системах. Кроме того отдел разработки десктопных клиентов Яндекс.Диска, занимавшийся XMPP-сервером Яндекса, на тот момент уже имел опыт работы с открытыми протоколами на базе XML.
Главной причиной, по которой нам не хотелось создавать свой собственный протокол, было то, что работать с ним смогут только наши приложения, а мы хотели открытости.
В итоге, из всех обсуждавшихся вариантов мы выбрали WebDAV. Единственное, чего не хватало в протоколе — это информирования клиента об изменениях на сервере, очень важной фичи синхронизации. Но так как протокол расширяем, это не стало проблемой.
После выбора протокола началась работа над прототипом Яндекс.Диска. Наш WebDAV-сервер мы написали на Erlang. В качестве фреймворка для веб-сервера был выбран mochiweb, достаточно легковесная и хорошо знакомая нашим разработчикам библиотека. Она же была использована в известной статье о подключении миллиона пользователей к одному серверу — A million user comet application. Также мы думали и об использовании веб-сервера Yaws, который можно сравнить с Apache. Это полноценный веб-сервер, умеющий отдавать статику, запускать CGI-скрипты, обрабатывать специальные страницы с серверными скриптами. Но это всё было нам не нужно. Если бы мы начинали делать проект сейчас, выбор пал бы на Cowboy, так как он предоставляет больше возможностей по определению проблем с соединением.
После изучения протокола WebDAV началась работа над операциями листинга файлов и каталогов на сервере. В качестве хранилища для прототипа использовались mysql-база данных, в которой хранилась мета-информация и обычная файловая система для хранения содержимого файлов. Масштабирования и высокой надёжности на этом этапе не требовалось.
Схема была довольно простой, так как это был прототип. Как обычно бывает с файловыми системами, встал вопрос ограничений на пути. Так как максимальная длина пути к ресурсу в протоколе не оговаривалась, было решено сделать длину компоненты пути в 255 символов, а количество уровней вложенности неограниченным. Примерно таблица хранилища файлов выглядела так:
id | число, автоинкремент, уникальный идентификатор ресурса |
uid | пользователь, владелец ресурса |
path | строка длины 255, имя ресурса |
type | тип ресурса, файл или каталог |
parent | число, id владельца |
depth | число, уровень вложенности ресурса использовалось для оптимизации запросов на выборку |
Одной из первых нетривиальных задач стал листинг корня, в котором ничего нет. Сложность в том, что метод PROPFIND, кроме просто листинга, выполняет ещё и задачу чтения свойств ресурса. Необходимо было правильно разбирать запрос, понимать, что мы можем выдать, а что нет; формировать правильный ответ. В качестве первого клиента использовался встроенный в Ubuntu gvfs. Отладив работу с ним, мы решили проверить работу подключения из Windows 7 и обнаружили, что он с нами не работает. Исследование работы с другими серверами показало, что встроенные в Windows клиенты не обрабатывают пространство имён «DAV:», если оно объявлено дефолтным, без префикса. Другие стандартные клиенты оказались более терпимыми и легко переваривали выдачу, сформированную специально для клиентов Windows. К счастью, это была единственная несовместимость, которую нам удалось найти.
Когда работа над листингом была завершена, мы реализовали тривиальные операции создания каталогов и удаления ресусов.
Дальше требовалось научиться заливать файлы, но эта операция была не так проста. А почему — если эта тема будет вам интересна — мы расскажем в следующем посте.
Памятка по использованию WebDAV | Записки программиста
WebDAV — это расширение протокола HTTP, описанное в RFC4918. WebDAV добавляет в HTTP возможность загружать файлы на сервер, а также удалять / перемещать их, и так далее. В итоге мы получаем что-то очень похожее на FTP, или даже на сетевую файловую систему типа NFS или Samba. Давайте же выясним, как этим пользоваться.
Настойка WebDAV-сервера
В качестве примера рассмотрим настройку обычного, доступного всему миру, веб-сервера, но на который авторизованные пользователи могут еще и заливать файлы по WebDAV. Примем за рабочую теорию, что у вас уже есть сервер под управлением Ubuntu, на котором поднят Nginx с прикрученным к нему Let’s Encrypt.
Далее говорим:
sudo apt install nginx-extras
Правим /etc/nginx/sites-enabled/default примерно таким образом:
server {
charset UTF-8;
server_name afiskon.ru;
listen 127.0.0.1:443 ssl
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
try_files $uri $uri/ =404;
root /home/afiskon/afiskon.ru;
location /public/ {
autoindex on;
}
index index.html index.htm;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:r all:r;
client_max_body_size 100m;
create_full_put_path on;
limit_except GET {
auth_basic «Restricted»;
auth_basic_user_file /home/afiskon/.webdav_htpasswd;
}
}
}
У вас пути вряд ли будут такими. Файлы будут жить где-то в /var/www/html.
Создаем файл с логинами-паролями:
cd /home/afiskon/
htpasswd -c .webdav_htpasswd afiskon
chown afiskon:www-data .webdav_htpasswd
chmod 740 .webdav_htpasswd
Важно! Не кладите файл туда, где он будет доступен по WebDAV. В этом случае его сможет просмотреть любой авторизованный пользователь, несмотря на точку в начале имени файла.
Убедимся, что все файлы и каталоги имеют правильные права:
sudo chown -R afiskon:www-data ./afiskon.ru/
sudo chmod -R 775 ./afiskon.ru/
Просим веб-сервер перечитать конфиг:
sudo service nginx reload
Вот и вся настойка!
Работа с WebDAV через curl
Получить список доступных методов:
curl -v -X OPTIONS —user afiskon https://afiskon.ru
Получить список файлов и каталогов в XML:
curl -v -X PROPFIND —user afiskon https://afiskon.ru/
Загрузить файл:
curl -v -T file.txt —user afiskon https://afiskon.ru/
Переместить или переименовать файл:
curl -v -X MOVE —header ‘Destination: https://afiskon.ru/new.txt’ \
—user afiskon https://afiskon.ru/old.txt
Создать новую директорию:
curl -v -X MKCOL —user afiskon https://afiskon.ru/new-dir/
Удалить файл или каталог:
curl -v -X DELETE —user afiskon https://afiskon.ru/some-dir/
curl -v -X DELETE —user afiskon https://afiskon.ru/some-file.txt
Таким образом, какие-то простые операции с WebDAV достаточно комфортно можно делать даже на bash.
Работа с WebDAV на Python
Но на bash мы, конечно же, ничего писать не будем. Вместо этого воспользуемся нормальным скриптовым языком. Как обычно, не засорять систему лишними пакетами поможет virtualenv.
Воспользуемся пакетом webdavclient3:
pip3 install webdavclient3
Создание нового клиента:
$ python3
>>> from webdav3.client import Client
>>> options = {
… ‘webdav_hostname’: ‘https://afiskon.ru’,
… ‘webdav_login’: ‘afiskon’,
… ‘webdav_password’: ‘s3cr3t’
… }
>>> client = Client(options)
Посмотреть файлы и каталоги:
>>> client.list()
[‘file1.txt’, ‘file2.txt’ ‘dir1/’, ‘dir2/’]
Получить информацию по файлу или каталогу:
>>> client.info(‘file1.txt’)
{‘created’: ‘2020-01-23T12:34:56Z’, ‘name’: ‘file1.txt’, ‘size’: ⏎
‘123456’, ‘modified’: ‘Thu, 23 Jan 2020 12:34:56 GMT’, ‘etag’: »}
>>> client.is_dir(‘file1.txt’)
False
Залить файл на сервер:
>>> client.upload_sync(local_path=’/tmp/x.txt’, remote_path=’x.txt’)
Скачать файл с сервера:
>>> client.download_sync(local_path=’/tmp/x.txt’, remote_path=’x.txt’)
Переместить или переименовать:
>>> client.move(remote_path_from=’old.txt’, remote_path_to=’new.txt’)
Создать директорию:
>>> client.mkdir(‘new-dir’)
True
Удалить файл или директорию:
>>> client.clean(‘new-dir/’)
Заметьте, что когда вы хотите сделать действие с директорией, на конце ее имени обязательно должен быть слэш.
Десктоп-клиенты
В MacOS можно подключиться к WebDAV через Finder. Однако на момент написания этих строк он умел работать только в режиме чтения и заметно подтормаживал.
Как достойную замену можно порекомендовать бесплатную программу Cyberduck. Программа умеет работать не только с WebDAV, но также и с FTP, SFTP, S3, Google Drive, Dropbox и много чем еще. Cyberduck работает под Windows и MacOS. Существует консольный вариант под названием duck. Он работает еще и под Linux. Для тех, кому очень хочется виртуальный жесткий диск, есть вариация под названием Mountain Duck, но только за деньги.
Если Cyberduck вам по каким-то причинам не подошел, рассмотрите альтернативу в лице Transmit. Касаемо текущей ситуации с клиентами под Linux лучше всего обратиться к соответствующей странице на Arch Linux Wiki.
Существуют также мобильные клиенты. Впрочем, я их особо не изучал. Заинтересованным читателям предлагается исследовать этот вопрос самостоятельно.
Заключение
Как видите, с WebDAV трудно соревноваться в простоте. WebDAV может быть неплохим выбором, если вы хотите сделать небольшую файлопомойку на Raspberry Pi. Или, например, вам нужен обычный статический сайт. Но чтобы страницы на нем время от времени обновлялись скриптами, которые запускаются по расписанию в GitHub Actions. В общем, звучит как что-то, что полезно держать на вооружении.
А пользуетесь ли вы WebDAV? Если да, то в каких задачах его применяете?
Метки: Linux, Python.
Подключение сетевой папки к «Файлам» через WebDAV — Webasyst
Доступ к файлам, хранящимся в приложении «Файлы» в вашем Webasyst-аккаунте, можно получить и через обычный файловый менеджер («Проводник») в виде папки с файлами, которые можно открывать, копировать, сохранять или удалять — без использования браузера.
Для управления файлами из Webasyst-аккаунта в виде папки на своем компьютере установите плагин «WebDAV» в разделе «Плагины» приложения «Файлы».
Поселение для «Файлов»
Перейдите в бекенд приложения «Сайт» и в разделе «Структура» добавьте правило-поселение для приложения «Файлы». Если такое правило у вас уже есть, то второе создавать не нужно.
Для некоторых предыдущих версий операционных систем Windows, например, Windows 7, важно, чтобы поселение приложения «Файлы» было настроено в корне доменного имени, например: mydomain.ru/*, а не mydomain.ru/files/*
Если вы планируете настроить доступ к приложению «Файлы» не из последней версии Windows, то для этого может потребоваться создание отдельного домена или поддомена.
Для поддержки пользователей любых операционных систем Windows необходимо установить валидный SSL-сертификат для доменного имени, по которому будет выполняться доступ к файлам.
Настройка сетевого подключения к «Файлам»
В настройках плагина «WebDAV» активируйте внешний доступ к файлам и скопируйте URL поселения, которое вы настроили с помощью приложения «Сайт».
Этот адрес необходимо указать при подключении к сетевому ресурсу на вашем компьютере, как описано ниже.
WebDAV-подключение в Windows 7 и выше
- Откройте раздел «Компьютер» в «Проводнике».
- Нажмите в верхнем меню «Подключить сетевой диск».
- Выберите любую букву диска и вставьте скопированный URL поселения «Файлов» в поле «Папка».
- Включите флажок «Использовать другие учетные данные».
- Нажмите «Готово».
- В окне авторизации введите свои логин и пароль для входа в Webasyst-аккаунт.
WebDAV-подключение в Mac OS X
- В приложении Finder выберите «Переход → Подключение к серверу».
- В появившемся окне вставьте скопированный URL поселения «Файлов» и нажмите «Подключиться».
- В окне авторизации введите свои логин и пароль для входа в Webasyst-аккаунт.
WebDAV-подключение в Linux (Gnome)
- В приложении Nautilus выберите «Подключение к серверу».
- В появившемся окне вставьте скопированный URL поселения «Файлов», замените в нем название протокола http:// или https:// на davs://, после которого добавьте свое имя пользователя в Вебасисте и символ @, чтобы получилась строка вида davs://[имя пользователя]@[URL поселения «Файлов»] и нажмите «Подключиться».
- В окне авторизации введите свой пароль для входа в Webasyst-аккаунт.
WebDAV-подключение в Linux (KDE)
- В приложении Dolphin в адресную строку вставьте скопированный URL поселения «Файлов», заменив название протокола http:// или https:// на davs:// и нажмите Enter.
- В окне авторизации введите свои логин и пароль для входа в Webasyst-аккаунт.
WebDAV-подключение в Linux (XFCE)
- В приложении Thunar выберите «Переход → Открыть адрес».
- В появившемся окне вставьте скопированный URL поселения «Файлов», заменив название протокола http:// или https:// на davs://, и нажмите «Открыть».
- В окне авторизации введите свои логин и пароль для входа в Webasyst-аккаунт.
Снова про WebDAV и Облако Mail.Ru / Хабр
В каждой теме, касающейся Облака Mail.Ru, имеются комментарии — «когда будет WebDAV?» и родственное «Как подключить Облако Mail.ru как сетевой диск?». Судя по тому, что обещают уже несколько лет (хотя в облаке для бизнеса webdav имеется), бесплатные пользователи его не дождутся.
В общем, гора к Магомету не идёт, но и Магомет как-то не торопился, хотя, казалось бы, все для этого есть — и реализации API, и реализации webdav-серверов. Вполне логично было бы взять и то, и другое и объединить.
Что, собственно, и было сделано на базе
и с некоторыми доработками оных получен WebDAV cloud.mail.ru.
Для запуска под Windows требуется .NET Framework 4.5, под Linux — Mono 4.6. Параметры достаточно подробно описаны в readme проекта.
- Файлы, превышающие максимальный размер, автоматически разбиваются на куски при закачке и собираются обратно при скачивании.
- Частичное скачивание. Например, вы можете смотреть фильм, используя перемотку и не скачивая его полностью. К сожалению, стандартный windows webdav-клиент не умеет так, но с помощью RaiDrive (бесплатный), NetDrive (платный) — легко. Без подключения диска можно смотреть через PotPlayer.
- [Updated 2017-06-01] Поддержка двухфакторной аутентификации
- [Updated 2017-09-22] Присоединение расшаренных папок/файлов без траты собственного объёма диска
- [Updated 2017-11-22] Шифрование данных XTS-AES-256
- [Updated 2018-01-09] Встроенный запуск как windows service
Спасибо за внимание.
UPD. Спасибо coderun
Подтверждаю работу в OS X (10.12) через Mono. Просто скачал Mono, установил пакет. Скачал с Гитхаба релиз для Mono, запустил в консоле mono /path/to/programm -p number_of_port и все заработало. Единственное что работать получилось только через ForkLift, в Finder не верно определяет оставшееся место поэтому никак нельзя ничего закачать.
UPD.2 Небольшой FAQ из комментариев/вопросов
UPD.3 2017-09-08 mail.ru открыла штатный доступ к webdav для платных аккаунтов
UPD.4 2017-11-28 mail.ru выпустила собственное приложение (статья на гиктаймс). Если вас не интересует webdav, linux, закачка больших файлов и шифрование, то — Диск O:
UPD.5 2017-02-01 Текущий Linux-клиент «Облака Mail.ru» больше не может подключиться к хранилищу. Программа требует обновления до новой версии, которой нет, и не ожидается
www.opennet.ru/opennews/art.shtml?num=50073
help.mail.ru/cloud_web/app/linux
UPD.6 2019-12-19 Ввиду того, что Яндекс, похоже, душит и собирается приподзакрыть webdav, добавлена также поддержка Яндекс.Диска через web-протокол.
Поднимаем webdav-сервер в Linux и Windows
В этой статье я расскажу, как быстро развернуть webdav-хранилище под Linux или Windows. Это может понадобиться для подобных сценариев:
– Открыть доступ к папке с фотографиями на домашнем ПК, чтобы просмотреть их с телефона или выгрузить туда новые фотографии.
– Открыть доступ к фонотеке и иметь возможность проигрывать музыку на Android-устройстве или с другого компьютера, к которому подключены колонки.
При желании можно организовать и более сложные варианты, где будет использоваться аутентификация, а у пользователей будут права доступа к определённым директориям.
Содержание– Настраиваем webdav-сервер
– Подключаемся с Android
– Подключаемся с Windows
– Подключаемся с Linux
– Автозапуск сервера при загрузке системы
Настраиваем webdav-сервер1. Заходим на страницу https://github.com/hacdias/webdav/releases и качаем последнюю версию под свою систему (там множество сборок под все возможные платформы).
2. Распаковываем архив в удобную папку и создаём файл конфигурации config.yml:
address: 192.168.1.139
port: 8082
auth: true
tls: false
users:
— username: admin
password: «{bcrypt}$2y$12$E4n7DvySA7UfzyBTNikkFeSFuQ8sEDxI37hjCTZQyjouLm.Ox6G.2»
modify: true
scope: «E:/MUSIC/»
— username: share
password: 12345
modify: true
scope: «E:/MUSIC/Share/»
2.1. В поле address указываем IP адрес компьютера в вашей локальной сети
2.2. В поле port укажите удобный свободный порт (убедитесь, что порт открыт и фаерволл не блокирует к нему доступ).
2.3. В users указываются пользователи, их пароли для входа и путь к директории, которая будет доступна им (используйте прямой слэш / для путей). В данном случае у пользователя admin будет полноценный доступ ко всей папке с музыкой, а пользователь share имеет доступ только к папке для обмена файлами.
2.4. Пароль можно задавать в открытом виде, как это сделано для пользователя share, но для администратора так делать не рекомендуется. Чтобы задать пароль, идём на https://bcrypt-generator.com/, в поле String to encrypt указываем желаемый пароль и нажимаем кнопку Hash
В данном случае для пароля
My5uper5ecretPa$$w0rd
получили хэш
$2y$12$E4n7DvySA7UfzyBTNikkFeSFuQ8sEDxI37hjCTZQyjouLm.Ox6G.2
Записываем в конфиг это значение с префиксом {bcrypt} и в двойных кавычках:
«{bcrypt}$2y$12$E4n7DvySA7UfzyBTNikkFeSFuQ8sEDxI37hjCTZQyjouLm.Ox6G.2»
3. Запускаем программу из консоли/терминала, передав файл конфига:
Если всё пройдёт успешно, покажется сообщение «Listening on 192.168.1.139:8082»
Подключаемся с AndroidЯ буду использовать MiXplorer, но подойдёт любой файловый менеджер с поддержкой webdav.
1. В боковом меню добавляем новое хранилище
2. Выбираем из списка WebDav
3. Вводим адрес, заполняем логин и пароль. Жмём Save.
4. Подключаемся и видим список наших файлов с полноценным доступом по сети.
Подключаемся с WindowsДля подключения можно воспользоваться WinSCP:
В диалоге создания сессии добавьте новый сайт, укажите протокол WebDAV и заполните значения
Также можно добавить хранилище в плеере AIMP:
Переходим на вкладку Мои облака, жмём ПКМ и Добавить хранилище
Заполняем данные
Если всё успешно, можно будет проигрывать музыку, которая находится на удалённом компьютере:
Также возможен вариант подключения через RaiDrive:
Выбираем Add, во вкладке NAS выбираем WebDAV, убираем галочку https (4), заполняем IP, порт, данные пользователя и нажимаем OK
Если сделали всё правильно, откроется проводник с указанной папкой, а в списке дисков появится новый диск Z:/
Подключаемся с LinuxНа примере Ubuntu. Заходим в Files -> Other Locations и внизу в поле Connect to Server вводим строку:
dav://192.168.1.139:8082
Жмём Connect и вводим данные пользователя:
После чего webdav-хранилище будет доступно в файловом менеджере.
Автозапуск сервера при загрузке системыДля быстрого поднятия сервера, чтобы послушать музыку пару часов или посмотреть фотографии несложно запустить сервер из командной строки вручную. Но что, если хочется, чтобы сервер стартовал сам при загрузке системы и был доступен всегда, пока включен компьютер? Да и лишнее окно с консолью иметь не хочется. В таком случае, нужно создать сервис.
В Linux можно добавить задачу в cron:
(crontab -l ; echo «@reboot cd /path/to/webdav/binary && webdav -c config.yml») | crontab —
Либо добавить юнит для сервиса systemd.
В Windows так просто сервис не создать, но на помощь приходит NSSM. Скачиваем архив с программой и помещаем nssm.exe в папку %WINDIR% (обычно C:\Windows). В папке с webdav.exe открываем командную строку и вводим:
В появившемся окне выбираем программу webdav.exe, автоматически заполнится поле Path и Startup directory.
В Arguments вписываем
-c config.yml
А в Service name желаемое имя сервиса. После этого жмём Install service.
При желании можно заполнить описание на вкладке Details и выбрать желаемый способ запуска сервиса на вкладке Log on (по умолчанию сервис будет стартовать при входе в систему Windows).
Теперь в диспетчере задач будет виден новый сервис
Также можно проверить статус из командной строки:
Остановить службу:
Запустить её вновь:
Или вовсе удалить:
Безопасный обмен файлами в Интернете | Открытый диск для WebDav
WebDAV
Теперь вы можете получить доступ к файлам в своей учетной записи OpenDrive через нашу новую бета-версию WebDAV, подключившись к нашему серверу здесь:
https://webdav.opendrive.com
Воспользуйтесь теми же правами доступа к файлам, привилегиями доступа и функциями безопасности, которые являются стандартными для всех учетных записей OpenDrive премиум-класса, новым удобным способом, объединяющим все платформы. Поскольку платформа WebDAV находится через защищенное соединение HTTPS, вам не следует использовать WebDAV с VPN или прокси-сервером, поскольку они не нужны, и это может привести к снижению скорости передачи и соединений.
В отличие от большинства серверов WebDAV, вся структура ваших файлов и папок с разрешениями, уже установленными в соответствии с настройками вашей учетной записи, будет доступна для доступа с самого начала. Вы можете легко входить в систему, загружать / скачивать элементы и автоматически просматривать файлы и папки, так же, как через наш веб-интерфейс и приложения.
Протокол WebDAV также предлагает возможность сопоставить OpenDrive как сетевой диск, позволяя вашим сторонним приложениям видеть каталоги, в которых находятся ваши файлы, теперь, когда OpenDrive может быть доступен как буква диска, так же, как и любой другой диск на вашем компьютер.
Windows Vista / 7/8/10
Чтобы настроить подключение OpenDrive WebDAV через Windows:
- Убедитесь, что настройки локальной сети позволяют Windows подключаться к OpenDrive в качестве сетевого расположения, убедившись, что параметр «Автоматическое определение параметров подключения» не отмечен.
- Откройте проводник Windows и щелкните Подключить сетевой диск в верхней части окна.
- Необязательно. Если вы не видите эту опцию, вы можете щелкнуть правой кнопкой мыши «Этот компьютер» в левой части окна проводника Windows.
- Выберите букву диска, которую хотите использовать.
- Вставьте следующий адрес в поле «Папка»: https://webdav.opendrive.com
- В зависимости от ваших предпочтений выберите, следует ли включать повторное подключение при входе в систему.
- Нажмите Готово.
- При появлении запроса введите имя пользователя и пароль OpenDrive.
- Выберите, хотите ли вы запомнить пароль, и нажмите OK.
OpenDrive теперь появится в «Мой компьютер» как подключенный диск с собственной буквой диска.
Обратите внимание, что настройки Windows по умолчанию не разрешают передачу файлов через WebDAV, размер которых превышает 4 ГБ, а также время ожидания, если передача файла занимает более 30 минут. Вы можете обойти эти ограничения Windows, выполнив действия, описанные в этой статье Microsoft Technet.
Linux
Чтобы установить соединение OpenDrive WebDAV через Ubuntu Linux:
- Установите пакет WebDAV, введя следующую команду:
apt-get install davfs2
- Войдите в следующий набор команд и следуйте появляющимся подсказкам:
% sudo mount -t davfs https: // webdav.opendrive.com / mnt
[sudo] пароль для gt19:
Пожалуйста, введите имя пользователя для аутентификации на сервере
https://webdav.opendrive.com или нажмите Enter, чтобы ничего не было.
Имя пользователя:
Пожалуйста, введите пароль для аутентификации пользователя на сервере
https://webdav.opendrive.com или нажмите Enter, чтобы ничего не было.
Пароль:
%
OpenDrive теперь будет смонтирован в / mnt как доступный диск.
Mac OSX
Чтобы установить соединение OpenDrive WebDAV через Mac OSX:
- В Finder выберите Перейти
- Выберите Подключиться к серверу
- Введите https: // webdav.opendrive.com в поле адреса сервера
- Нажмите Connect
.
новейших вопросов ‘webdav’ — qaru
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
.