В каждой теме, касающейся Облака Mail.Ru, имеются комментарии — когда будет WebDAV? Судя по тому, что обещают уже несколько лет (хотя в облаке для бизнеса webdav имеется), бесплатные пользователи его не дождутся.

В общем, гора к Магомету не идёт, но и Магомет как-то не торопился, хотя, казалось бы, все для этого есть — и реализации API, и реализации webdav-серверов. Вполне логично было бы взять и то, и другое и объединить.

Что, собственно, и было сделано на базе
и с некоторыми доработками оных получен WebDAV cloud.mail.ru.

Для запуска под Windows требуется .NET Framework 4.5, под Linux — Mono 4.6. Параметры достаточно подробно описаны в readme проекта.

Файлы, превышающие максимальный размер, автоматически разбиваются на куски при закачке и собираются обратно при скачивании. Где-то в планах — шифрование.



Спасибо за внимание.

UPD. Спасибо coderun
Подтверждаю работу в OS X (10.12) через Mono. Просто скачал Mono, установил пакет. Скачал с Гитхаба релиз для Mono, запустил в консоле mono /path/to/programm -p number_of_port и все заработало. Единственное что работать получилось только через ForkLift, в Finder не верно определяет оставшееся место поэтому никак нельзя ничего закачать.


UPD.2 Небольшой FAQ из комментариев/вопросов
Поделиться с друзьями
-->

Комментарии (74)


  1. lemproix
    05.02.2017 18:34
    +1

    Я очень благодарен вам за WebDAV(mail.ru), но что будет с куском файла при передаче, если произойдет разрыв связи в сети? Возможно ли докачка в облако


  1. yar229
    05.02.2017 18:36

    «Снаружи», на уровне webdav, будет ошибка закачки целого файла. Соответственно, файл надо перезакачать.
    Докачкой (пока?) не занимался.


  1. vostapenko
    05.02.2017 20:00

    Спасибо за ваш труд!


  1. demshin
    05.02.2017 20:29
    +1

    Для MacOS планируете?


    1. yar229
      05.02.2017 20:40

      Скорее всего, под Mono on MacOS заработает


      1. demshin
        07.02.2017 20:11
        +1

        Да, работает. Благодарю.


  1. RubberSoul
    05.02.2017 21:21

    Mail.Ru — корпорация Зла. Их агрессивная реклама это доказывает.


    1. yar229
      05.02.2017 21:21
      +7

      Ну что же, пусть та сила, что вечно хочет зла (с нашей небольшой помощью) совершит благо


    1. dmitry_ch
      05.02.2017 23:33

      Впечатление, что, пока технарям не мешают, парни там творят чудеса. Как только кто-то из менеджмента обращает на конкретную разработку вопрос «а нам что с того?», так сразу возникают нелепости и откровенные глупости продаванские заумности.

      Так что остается верить, что на webdav никто в большой мейле никогда не посмотрит как на средство заработать еще немного бонусов.


  1. shmulka
    06.02.2017 00:04
    -4

    Будьте добры, напишите, как пользоваться Вашей программой. Не имел раньше дела с github. а то у меня 1Тб на мейле, но ограничение размера просто убивает


  1. yar229
    06.02.2017 00:21
    +2

    На гитхабе у проекта есть закладка Releases — там можно выкладывать уже скомпиливанные, готовые к употреблению программы. Для windows скачайте это и распакуйте в отдельную папку.

    Должен предупредить, что в Windows webdav реализован, скажем так, не очень, поэтому использовать его как сетевой диск — не самый лучший выбор. Лучше использовать любой другой клиент — Total Commander c webdav-плагином, Far c NetBox-плагином, CarotDAV, BitKinex и т.п.

    Тем не менее, если очень хочется

    1. Разрешаем Basic Auth для встроенного в windows WebDAV:

    • Нажмите Win+R, Наберите regedit, нажмите OK
    • Идем по дереву в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    • Щелкаем правой клавишей мыши на BasicAuthLevel, выбираем Modify
    • В поле Value пишем 2, щелкаем OK.
    • Перезагружаемся


    2. По умолчанию, windows ограничивает максимальный размер файла для webdav в 5000000 байт, делаем 4Гб:
    • Нажмите Win+R, Наберите regedit, нажмите OK
    • Идем по дереву в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    • Щелкаем правой клавишей мыши на FileSizeLimitInBytes, выбираем Modify
    • Выбираем Decimal
    • В поле Value пишем 4294967295, щелкаем OK.
    • Перезагружаемся


    3. В папке, где находится wdmrc.exe, создайте bat-файл со следующим содержимым:
    rem пристрелить сервер, если уже запущен
    taskkill /im wdmrc.exe
    
    rem запускаем сервер
    start "WebDAV Cloud Mail.Ru" wdmrc.exe -p 3332
    
    rem подождем, пока запустится
    ping 127.0.0.1 -n 6 > nul
    
    rem если диск V: уже подключен - отключим
    net use V: /DELETE
    
    rem подключаем облако как диск V:
    net use V: http://127.0.0.1:3332 <ваш_пароль_к_облаку> /USER:ваша_почта_с_облаком@mail.ru
    


    Запустите его (возможно, с правами администратора)
    в результате запустится эмулятор webdav и появится диск V:


    1. yar229
      06.02.2017 00:28

      Возможно, если вам не нужен вебдав как диск и не нужно выполнять какие-то автоматические действия (копирование скриптами, использование в backup-программах и т.д.), вам будет проще использовать Облако Mail.ru в Total Commander


    1. enamchuk
      06.02.2017 04:44

      У меня и товарища не заработало через коммандную строку. Пишет, что команда выполнена успешно, но диск не появляется. Проделал ровно то же, только через графический интерфейс.
      Непонятно только, куда копируется файл перед отправкой в Облако. И всё же есть некоторые проблемы с закачкой файлов более 2 ГБ и обратным закачиванием на компьютер — долго обрабатывает, с файлами до 2 ГБ проблемы нет.
      Есть идея запускать приложение в качестве службы. А пока это первое и единственное нормально работающее решение.


      1. yar229
        06.02.2017 09:00

        Непонятно только, куда копируется файл перед отправкой в Облако.

        Должен предупредить, что в Windows webdav реализован, скажем так, не очень, поэтому использовать его как сетевой диск — не самый лучший выбор.

        Встроенный в Windows клиент WebDAV не копирует его, а зачем-то считывает, как будто в dev/null.
        И это только начало, много еще непонятных кривулин.
        Попробуйте, например, подключить диском облако Яндекса — такое же поведение.
        На (относительно) мелких файлах не очень заметно, а с большими есть некоторая печаль
        Лучше использовать любой другой клиент — Total Commander c webdav-плагином, Far c NetBox-плагином, CarotDAV, BitKinex и т.п.



        1. Torps
          07.02.2017 22:24

          как подключиться по Carot-DAV? какой URI писать?


          1. yar229
            07.02.2017 22:24


  1. enamchuk
    06.02.2017 00:29
    +1

    Огромное Вам спасибо! Действительно, работает!


  1. 25080205
    06.02.2017 01:43

    Спасибо за программку, этого только и ждал!
    Да, хейтерам мыла.ру — сервис бесплатный, ну где еще дадут терабайт за просто так и навсегда? Ежели что не нравится — отсылаю к народной мудрости про дареного коня.


    1. vanyas
      06.02.2017 08:55
      -1

      Специально сейчас зашёл на cloud.mail.ru, никаких терабайт там нет, 100Гб только бесплатно, дальше платно.


      1. yar229
        06.02.2017 09:04
        +3

        Было время золотое, когда Облако Mail.Ru было еще маленьким — деревья у него были очень высокими :)


      1. tmin10
        06.02.2017 12:06

        При открытии раздавали терабайт, многие забрали.


      1. 25080205
        06.02.2017 17:09

        Это сейчас. А еще недавно раздавали по терабайту для хабровчан и я нахватал на все свои аккаунты. Абсолютно бесплатно, до сих пор работает и никто их не отобрал. В отличие от платного мелкософтовского сервиса, поменявшего условия задним числом.


      1. lamo4ok
        07.02.2017 08:35

        Про терабайт уже выше ответили, а я добавлю, что и 100 Гб — очень неплохо бесплатно получить.


  1. 42dmitriy
    06.02.2017 09:00

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


    1. yar229
      06.02.2017 09:02

      Да, берётся информация от облака, каков максимально разрешенный размер файла для аккаунта.


  1. AVX
    06.02.2017 09:26
    -1

    под Linux — Mono 4.6

    Чего? А я просто открываю webdav ресурсы в файловом менеджере Dolphin. Не припомню, чтобы дополнительно что-то ставил для этого.
    Неужто раньше этого (webdav) нельзя было сделать? В том же яндекс.диске уже давно это работает.


    1. yar229
      06.02.2017 09:42

      Собственно, об чём и статья — Яндекс.Диск предоставляет webdav, а вот Облако Mail.Ru — нет.

      Данная программа является неким прокси, который позволяет обмениваться данными с облаком по проколу webdav.


  1. ukt
    06.02.2017 09:43

    Благодарю за программу.

    Можно вызов архиватора или шифратора добавить. Что бы файлы в зашифрованном, а не открытом виде лежали в облаке, одной кнопкой?


    1. yar229
      06.02.2017 09:45

      Можно, при желании даже самому — исходники открыты на гитхабе.
      У меня это есть в планах, там даже кое-что как-то где-то написано в ветке dev-encrypt, но пока не знаю, когда смогу доделать.


  1. ruwebstyle
    06.02.2017 10:56

    Можно инструкцию для Linux на русском? По ссылкам не совсем всё ясно.


    1. yar229
      06.02.2017 11:31

      В барабанах линуксах я сам в общем-то ни бум-бум.

      В простейшем варианте

      • берем и распаковываем файл wdmrc-mono-*.tar.gz из последнего релиза
      • Устанавливаем моно — sudo apt install apt mono-complete
      • Запускаем из консоли сервер — mono wdmrc.exe -p {port}


      и из какого-нибудь файлового менеджера, например, того же Dolphin'а, подключаемся к http://127.0.0.1:{port}, указав логин/пароль от облака.

      Все можно сделать значительно красивее — устанавливать только необходимый функционал из моно, сделать демоном, выставить разрешения, автоматически монтировать в davfs2, но тут мне тоже надо гуглить и разбираться.


      1. ruwebstyle
        06.02.2017 11:45

        Благодарю, буду разбираться. Давно хотел избавиться от софта мейлру.


        1. pfg21
          06.02.2017 13:02

          расскажи плз потом как делать компиляцию,
          вещица жутко нужна.
          жаль что без костылей не работет.


          1. yar229
            06.02.2017 13:03

            Я для сборки проекта пользую TravisCI
            Полный лог — как и что ставится


          1. yar229
            06.02.2017 15:17

            Вот здесь AlekseyNemiro подробно расписал, только сейчас исходники менять уже не надо.


  1. Eldhenn
    06.02.2017 11:34

    Спасибо большое!


  1. commensal
    06.02.2017 11:40

    Не режет файлы почему-то. Выкидывает ошибку.
    image


    1. yar229
      06.02.2017 12:00

      Скорее всего вызвано тем, что файловый менеджер, в котором запустили копирование, пытается изменить свойства файла (дату, атрибуты, права), а само облако не реализует такого функционала.
      Возможно, в ближайшем будущем я что-нибудь с этим сделаю (в смысле, не реализую функционал, а буду подавлять эту ошибку)

      На данный момент нужно у файлового менеджера отключить изменение свойств. Например, в Far+Netbox при создании папки надо убрать галку «Установить разрешения»

      Если не трудно, отпишите в ЛС подробнее, чем копируете, точное название файла (а то, кажется, консолька его при выводе попортила) и его размер


      1. yar229
        06.02.2017 12:30

        Для CarotDAV'а —

        image


        1. commensal
          06.02.2017 12:39

          Спасибо. Работает!


          1. yar229
            06.02.2017 21:15

            По последним сведениям, CarotDAV не даёт копировать файлы больше 4Гб.
            Проверил Total Commander — всё ок.


  1. commensal
    06.02.2017 12:37

    Подскажите клиента синхронизирующего папку на винде с WebDav и совместимого с данным прокси?


    1. yar229
      06.02.2017 13:00

      Любой, поддерживающий WebDAV
      Конкретно не могу посоветовать, не пользуюсь.


    1. yar229
      10.02.2017 01:01

      Пробовал Allway Sync, работает


  1. inoyakaigor
    06.02.2017 13:23

    А что насчёт двухфакторной авторизации?


    1. yar229
      06.02.2017 13:28

      Поскольку основная цель — использование в автоматическом режиме, без дополнительных ручных действий, то даже не думал.
      Не могу обещать в ближайшее время.


    1. EJUO
      08.02.2017 23:13
      +1

      Сделал форк библиотеки автора с поддержкой двухфакторной авторизации http://ejuo.livejournal.com/35729.html. Можете её попробовать.


      1. yar229
        08.02.2017 23:15
        +1

        Супер!
        Только не забывайте обновлять саму библиотеку, со времен вашего последнего коммита был поправлен миллион багов.
        Рекомендую Git — Подмодули
        Ну или действительно форкнуть и мержить по мере надобности


      1. inoyakaigor
        09.02.2017 00:06

        Вот спасибо, мил человек! Правда, только со второго раза программа завелась Окошко, оставшееся после ввода кода авторизации лучше скрывать в трей :-) А то я после ввода кода закрыл окошко с мыслью, что сервис где-то в фоне висит и в итоге получил шиш с маслом. Ну и настройку добавления в автозапуск тоже бы было бы здорово, если бы вы добавили.
        Заранее спасибо!


  1. merl1n
    06.02.2017 16:25

    1. dmitry_ch
      06.02.2017 16:46
      +1

      Ну да. Это годами известно. Только бесплатного гигабайта нет, а webdav давно есть.


      1. commensal
        06.02.2017 17:06

        «Тера-» Дима, «Тера-» ;)


        1. jetexe
          06.02.2017 18:06

          «Земля! Земля!» — кричали с корабля


          1. commensal
            06.02.2017 19:32

            Тогда бы была «Терра» )


  1. enamchuk
    06.02.2017 19:45

    Опытным путём выяснили, что одной запущеной копии достаточно, чтобы подключить более одного аккаунта на одном компьютере (пробовали с двумя — работает). Идея попробовать запустить приложение на одном компьютере в сети, а подключить аккаунт в другом — не сработала. Не подключается. Удобненько было бы запустить на домашнем сервере «проксик», а на клиентских подключить диски. По возможности, ждём новых версий!


    1. yar229
      06.02.2017 19:52

      Все правильно, так можно.
      Используйте при запуске ключ --host http://<IP компьютера>
      Не забудьте открыть порт в файрволле.


      1. enamchuk
        06.02.2017 20:31

        Чудесато заработало! Спасибо!


  1. wanomgn
    06.02.2017 20:28

    в far с netbox не может ничего удалить (ни каталог ни файл)
    [56]: DELETE:http://127.0.0.1:801/22222/:127.0.0.1:801 — Start processing
    [56]: Unable to delete '/22222' directory.
    System.AggregateException: Произошла одна или несколько ошибок. ---> System.Net.WebException: Удаленный сервер возвратил ошибку: (403) Запрещено.


    1. yar229
      06.02.2017 20:33

      Не смог воспроизвести, Far v.3.0.4774, NetBox v.2.3.0.436
      Давайте в ЛС версию фара и нетбокса, здесь по результату отпишем


    1. yar229
      06.02.2017 22:07

      Разобрались с вопросом, вроде всё нормально.
      Попутно выяснено, что mail.ru в логине необязательно писать.


      1. yar229
        07.02.2017 21:17

        Обманул.
        С помощью kt368 выяснено, что если в логине не писать mail.ru (@mail.ua, etc.) то заходить заходит, но удалять запрещено.


  1. coderun
    07.02.2017 18:50
    +1

    Подтверждаю работу в OS X (10.12) через Mono. Просто скачал Mono, установил пакет. Скачал с Гитхаба релиз для Mono, запустил в консоле mono /path/to/programm -p number_of_port и все заработало. Единственное что работать получилось только через ForkLift, в Finder не верно определяет оставшееся место поэтому никак нельзя ничего закачать.
    А так по сути огромное спасибо. Отличная фича!


  1. C-A-T
    07.02.2017 23:07
    +1

    Всем привет.

    Прогу можно запустить как службу вот по такому примеру
    http://windowsnotes.ru/programs/kak-zapustit-prilozhenie-v-vide-sluzhby-windows/
    там все доступно расписано, так что повторяться смысла нет)

    image


    1. C-A-T
      07.02.2017 23:13

      в новой версии программы логин и пароль указываются непосредственно при входе в облако, тоесть скорее всего службу можно запустить без костыля nssm, сразу wdmrc.
      image


  1. C-A-T
    08.02.2017 12:28

    добавили поддержку Облака mail.ru
    http://airexplorer.net/blog/

    еще не пробовал)


    1. rvt
      08.02.2017 17:25

      Проверил. Работает.


    1. coderun
      08.02.2017 20:03

      Только Win =(


  1. fuzzi
    08.02.2017 22:24

    Пытаюсь запускать под Линуксом:


    при попытке смонтировать — прогпмма "выдаёт" вот такую ошибку


    # mono ./wdmrc.exe -p 3009 
      WebDAVCloudMailRu: WebDAV emulator for Cloud.Mail.ru
      v.1.0.0.0
      yar229@yandex.ru
    [1]: WebDAV server running at http://127.0.0.1:3009
    [Threadpool worker]: OPTIONS:http://127.0.0.1:3009/:127.0.0.1:3009 - Start processing
    [Threadpool worker]: OPTIONS:http://127.0.0.1:3009/:127.0.0.1:3009 - Finished processing (7ms, HTTP result: 200)
    [Threadpool worker]: PROPFIND:http://127.0.0.1:3009/:127.0.0.1:3009 - Start processing
    [Threadpool worker]: Unexpected exception while handling request (method=PROPFIND, url=http://127.0.0.1:3009/, source=127.0.0.1:3009
    System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.Net.WebException: Error: TrustFailure (Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED) ---> Mono.Btls.MonoBtlsException: Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
    

    и ниже ещё 2 экрана красным.
    гуглёж по "Mono.Btls.MonoBtlsException: Ssl error:1000007d:" ничего вразумительного не дал...


    памагите, чяднт?


    1. yar229
      08.02.2017 22:25
      +1

      1. fuzzi
        08.02.2017 22:38

        !!! ййййеааа!!!

        Спасибо огромное, «она вертится»!!!


  1. commensal
    11.02.2017 23:26
    +1

    ВНИМАНИЕ!
    Не отображает более 1999 файлов в папке!
    Само облако в веб интерфейсе говорит полное количество файлов, но при этом также не отображает более 1999 файлов.
    Насколько я понимаю выгрузить такое количество файлов можно только через родное приложение.

    Любая синхронизация при наличии папки с более 1999 фалов обречена на бесконечную заливку файлов в облако!


    1. commensal
      11.02.2017 23:55

      Само облако в веб интерфейсе говорит полное количество файлов, но при этом также не отображает более 1999 файлов.
      В веб интерфейсе в очередной раз дообновилась страница и все файлы отобразились. Но в webdav по прежнему только 1999.


      1. yar229
        12.02.2017 00:09
        +1

        Спасибо за информацию.
        Исправлено в v.1.5.40


        1. commensal
          12.02.2017 00:18
          +1

          Сверхоперативно :)