Работа по WebDAV с облачным хранилищем Mail.ru#

Была задача по настройке такой радости для клиента.

Начнём с того, что WebDAV для обычных смертных закрыт (плати за бзнес-аккаунт), но есть костыль https://github.com/yar229/WebDavMailRuCloud#linux который помогает это преодолеть. Костыль представляет собой прокси между Mail.ru и WebDAV-клиентом. Таким образом WebDAV-клиент просто подключается к URI прокси вместо прямого подключения к webdav.mail.ru. Прокси же транслирует запросы от клиента (WebDAV) в запросы API Mail.ru и обратно. Конечно же это очень медленно.

Для костыля (далее прокси) есть готовые образы Docker (см. ссылки на GitHub). Сначала поставим докер: https://docs.docker.com/engine/install/#server

1. Ставим прокси в докер, возьмём этот имедж https://hub.docker.com/r/slothds/wdmrc-proxy/:

docker pull slothds/wdmrc-proxy
  1. Запускаем контейнер:

    docker run -d --restart always --name wdmrc-proxy -p 8010:8010 slothds/wdmrc-proxy:stable
    
  2. Проверяем, что оно запустилось:

    # Таким запросом нам должно вернуть HTTP код 401
    curl 127.0.0.1:8010 -Lv
    
  3. Монтируем диск. Здесь нам предложит ввести логин и пароль аккаунта Mail.ru:

    root@cloud:~# mount --rw -t davfs http://localhost:8010 /mnt/webdav/ -o uid=1000 -o gid=1000
    Please enter the username to authenticate with server
    http://localhost:8010 or hit enter for none.
      Username: xxxxxxxx@mail.ru
    Please enter the password to authenticate user xxxxxxxx@mail.ru with server
    http://localhost:8010 or hit enter for none.
      Password:
    

Не знаю, что я делал не так, но пароль из файла /etc/davfs2/secrets davfs отказывался читать и надо было руками вводить реквизиты. При этом надо отметить, что в этом случае нужны логин и пароль от самой учётки в Mail.ru, а не специальный пароль для внешних приложений.