Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Подключение к Cloud.mail.ru с помощью WebDAV эмулятора в Убунту 18.04
title date
Подключение к Cloud.mail.ru с помощью WebDAV эмулятора в Убунту 18.04
2019-02-06

С 2019 года прекратилась поддержка ПК-клиент приложения Cloud.mail.ru для Linux (см. страницу https://help.mail.ru/cloud_web/app/about). Для многих людей, имеющих хороший объем диска в этом облачном хранилище, стал актульным вопрос что-же делать дальше.

Если у вас подключен платный тариф, вы можете подключиться к сервису по протоколу WebDAV. На вашем компьютере Облако будет выглядеть как обычная файловая система. Инструкция по такому подключению есть здесь https://help.mail.ru/cloud_web/app/webdav#linux

К счастью, такое подключение (WebDAV) стало также возможным обладателям бесплатного тарифа благодаря одному разработчику, который разместил код и инструкцию по его применению по адресу:

https://github.com/yar229

Однако инструкция на указанной странице очень краткая, поэтому мне захотелось добавить в нее больше деталей так, чтобы даже человек без опыта работы в Linux (Ubuntu) смог ею воспользоваться.

Итак для подключения к Облаку в Линукс (Убунту), нам необходимо следовать следующим шагам:

  1. Загрузка и установка WebDAV эмулятора

По ссылке https://github.com/yar229/WebDavMailRuCloud/releases/

загружаем свежую версию архива WebDAVCloudMailRu-*-dotNetCore20.zip и распаковыем ее в директории, которая будет служить установочной. Распаковщик через вызов меню правой кнопкой мыши, по умолчанию всегда создаёт директорию, имя которой будет таким же как и имя файла без расширения. В современной версии Убунту, если вы выделите директорию и снова нажмете правую клавишу мыши, вы можете запустить программу Terminal через меню.

Давайте посмотрим какие файлы там есть через команду ls

$ ls
CommandLine.dll                   NWebDav.Server.dll
log4net.dll                       NWebDav.Server.HttpListener.dll
MailRuCloud.Api.dll               wdmrc.config
MailRuCloud.NWebDav.Store.dll     wdmrc.deps.json
MailRuCloud.TwoFA.UI.Console.dll  wdmrc.dll
mrclient.dll                      wdmrc.runtimeconfig.json
Newtonsoft.Json.dll               WinServiceInstaller.dll

  1. Установка необходимых библиотек .NET Core (взято с https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install)

Требования к Linux системе: RHEL, Ubuntu 18.04, Ubuntu 16.04, Ubuntu 14.04, Debian 9, Debian 8, Fedora 28, Fedora 27, CentOS / Oracle, OpenSUSE Leap, SLES

Команды для установки в Ubuntu 18.04 (для других дистрибутивов см. https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install) в терминале:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.2

Можно посмотреть справочную информацию, что мы установили

$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   2.2.103
 Commit:    8edbc2570a

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  18.04
 OS Platform: Linux
 RID:         ubuntu.18.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.103/

Host (useful for support):
  Version: 2.2.1
  Commit:  878dd11e62

.NET Core SDKs installed:
  2.2.103 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

При появлении ошибки Unable to locate package dotnet-sdk-2.2, можно попробовать следующую команду

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
  1. Выбор порта и запуск эмулятора

Выбираем порт, который мы собираемся использовать для подключения к Облаку, в моем примере это 8888, тогда запуск сервиса из командной строки терминала должен быть

dotnet wdmrc.dll -p 8888

Эта команда будет работать, если ее запустить, например в Terminal, в той же директории, где мы распаковали архив WebDAVCloudMailRu-*-dotNetCore20.zip

Для того чтобы команда работала при каждой загрузке Убунту, необходимо добавить её в список приложений, загружаемых автоматически. Находим утилиту Startup Applications и запускаем ее, затем добавляем новое приложение, где в строке command пишем

dotnet /path-to/wdmrc.dll -p 8888

где заменяем path-to на ваш путь к wdmrc.dll файлу. Теперь перезагружаем Убунту и переходим к следующему шагу.

  1. Подключение к эмулятору по протоколу WebDAV из файлового менеджера

В файловом менеджере жмём ctrl+L и в строку вписываем dav://127.0.0.1:8888 жмём enter, система запросит логин и пароль к облаку, вводим (чтобы не набирать это снова и снова, необходимо выбрать пункт сохранения логина и пароля)

login: yourlogin@mail.ru password: yourpassword

и результат - вы в своём облаке.

В добавок после первого подключения лучше сделать закладку в файловом менеджере.

@ghost

This comment has been minimized.

Copy link

ghost commented Feb 6, 2019

starlinq, спасибо, людям пригодится. Но мне Ваша инструкция не подошла из-за ошибок зависимостей, возможно это из-за того что у меня Ubuntu Mate 19.04, пришлось ставить по инструкции https://github.com/yar229.

@starlinq

This comment has been minimized.

Copy link
Owner Author

starlinq commented Feb 6, 2019

@Kiborg-Man Спасибо за сообщение. Обновил инструкцию.

@Faust30000

This comment has been minimized.

Copy link

Faust30000 commented Mar 21, 2019

Круто, спасибо! Небольшое дополнение: подключиться не получится, если в аккаунте МэйлРу включена двухфакторная аутентификация. После ввода пароля и логина просто выскочит ошибка. Чтобы всё работало как надо нужно отключить двухфакторную аутентификацию в настройках безопасности аккаунта МэйлРу.

@yar229

This comment has been minimized.

Copy link

yar229 commented Apr 3, 2019

Весь SDK .NET Core ставить необязательно, достаточно runtime

Недавно файлик переименовался из WebDAVCloudMailRu-*-dotNetCore20.zip в WebDAVCloudMailRu-*-dotNetCore22.zip

@klos105

This comment has been minimized.

Copy link

klos105 commented Jul 6, 2019

В файловом менеджере вписываю dav://127.0.0.1:8888 Enter и мне выдаёт: Недостаточно прав для получения доступа к запрашиваемому адресу. Как это победить??? Если запускать в терминале dotnet wdmrc.dll -p 8888, то процесс завершается Аварийной остановкой

@starlinq

This comment has been minimized.

Copy link
Owner Author

starlinq commented Jul 8, 2019

@klos105 Я бы попробовал следующее:

sudo apt install davfs2

sudo adduser your-login-username davfs2

где your-login-username -- ваш логин в Убунту

@klos105

This comment has been minimized.

Copy link

klos105 commented Jul 8, 2019

@klos105 Я бы попробовал следующее:

sudo apt install davfs2

sudo adduser your-login-username davfs2

где your-login-username -- ваш логин в Убунту

Пробовал. Ничего не изменилось. :( Всё работало до того, как я поменял пароль. После смены пароля и не могу зайти. Уже даже всё полностью удалял и устанавливал снова. Эффекта никакого.

@ghost

This comment has been minimized.

Copy link

ghost commented Jul 8, 2019

Всё работало до того, как я поменял пароль. После смены пароля и не могу зайти.

Удалите сохранённый пароль через seahorse и всё сново заработает.

@klos105

This comment has been minimized.

Copy link

klos105 commented Jul 8, 2019

Удалите сохранённый пароль через seahorse и всё сново заработает.

Спасибо. Помогло!))

@olegspk

This comment has been minimized.

Copy link

olegspk commented Jul 15, 2019

Сильно тормозит, загрузка папки несколько секунд, а где куча папок и файлов вечная загрузка, есть решения, как сделать работу комфортной?

@yar229

This comment has been minimized.

Copy link

yar229 commented Jul 16, 2019

Сильно тормозит, загрузка папки несколько секунд, а где куча папок и файлов вечная загрузка, есть решения, как сделать работу комфортной?

Проблема, собственно, в том, что клиент по отдельности запрашивает информацию по каждой вложенной папке/файлу, в результате - множество запросов к облаку.

В какой-то мере поможет запуск с ключом --cache-listing-depth 2, можно попробовать 3.

@sdkbotik

This comment has been minimized.

Copy link

sdkbotik commented Aug 1, 2019

Все получилось, но как зайти на само облоко, нет я в ступоре ) ссылка в файл менеджере пишет "Invalid protocol"
Screenshot_20190801_164419

@artemijeka

This comment has been minimized.

Copy link

artemijeka commented Aug 10, 2019

СПАСИБО!!! Двухфакторную Защиту пришлось отключить...

@kos2290

This comment has been minimized.

Copy link

kos2290 commented Feb 1, 2020

Большое спасибо за статью! Настроил на Linux Mint 19.3 Cinnamon и всё работает.
Пришлось выключить 2-х факторную авторизацию.
Синхронизация работает.

@Rootdiv

This comment has been minimized.

Copy link

Rootdiv commented Feb 1, 2020

Спасибо, всё отлично работает.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.