Skip to content

Instantly share code, notes, and snippets.

@starlinq
Last active October 8, 2024 22:40
Show Gist options
  • Save starlinq/4ef2ef4d348c1b81913a2a201f7ff09e to your computer and use it in GitHub Desktop.
Save starlinq/4ef2ef4d348c1b81913a2a201f7ff09e to your computer and use it in GitHub Desktop.
Подключение к Cloud.mail.ru с помощью WebDAV эмулятора в Убунту 18.04
title date
Подключение к Cloud.mail.ru с помощью WebDAV эмулятора в Убунту 18.04
2019-02-06

Подключение к Cloud.mail.ru с помощью WebDAV эмулятора в Убунту 18.04

Инструкцию для Убунту 20.04 см. здесь.

С 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-*-dotNetCoreXX.zip и распаковыем ее в директории, которая будет служить установочной. Распаковщик через вызов меню правой кнопкой мыши, по умолчанию всегда создаёт директорию, имя которой будет таким же как и имя файла без расширения. В современной версии Убунту, если вы выделите директорию и снова нажмете правую клавишу мыши, вы можете запустить программу Terminal через меню.

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

$ ls
CommandLine.dll                   NWebDav.Server.HttpListener.dll
log4net.dll                       wdmrc.config
MailRuCloud.TwoFA.UI.Console.dll  wdmrc.deps.json
MailRuCloud.TwoFA.UI.File.dll     wdmrc.dll
MihaZupan.HttpToSocks5Proxy.dll   wdmrc.exe
mrclient.dll                      wdmrc.runtimeconfig.json
mrclient.exe                      WinServiceInstaller.dll
Newtonsoft.Json.dll               YaR.Clouds.dll
NWebDav.Server.dll                YaR.Clouds.WebDavStore.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

Минимально необходимая версия определяется версией .Net Core эмулятора WebDAVCloudMailRu-*-dotNetCoreXX.zip, dotNetCoreXX, если XX - 30, значит нам нужен .Net Core SDK (runtime) версии 3.0.

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

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O 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-3.0

Если весь .Net Core SDK не нужен, замените последнюю строчку в командах выше на

sudo apt-get install dotnet-runtime-3.0

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

$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.0.103
 Commit:    b7ef045669

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

Host (useful for support):
  Version: 3.0.3
  Commit:  0090613580

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

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.0.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.0.3 [/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-X.X, можно попробовать следующую команду

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

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

dotnet wdmrc.dll -p 8888

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

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

dotnet /path-to/wdmrc.dll -p 8888 --cache-listing-depth 2

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

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

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

login: yourlogin@mail.ru password: yourpassword

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

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

@wzooroo
Copy link

wzooroo commented Oct 10, 2021

Никак не пойму как прописать логин и пароль на серверной версии линукс? "В файловом менеджере жмём ctrl+L и в строку вписываем dav://127.0.0.1:8888 " как это применить без десктопной версии линукс?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment