All Projects → yar229 → Webdavmailrucloud

yar229 / Webdavmailrucloud

Licence: mit
WebDAV cloud.mail.ru ...& Yandex.Disk | WebDAV Облако Mail.Ru Сетевой Диск

Projects that are alternatives of or similar to Webdavmailrucloud

Tinu
TINU, the open tool to create bootable macOS installers
Stars: ✭ 272 (-29.53%)
Mutual labels:  mac, macosx, disk
Jsonify
♨️A delightful JSON parsing framework.
Stars: ✭ 42 (-89.12%)
Mutual labels:  mac, macosx
Wxhexeditor
wxHexEditor official GIT repo
Stars: ✭ 381 (-1.3%)
Mutual labels:  mac, disk
Youtube Music
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Stars: ✭ 376 (-2.59%)
Mutual labels:  mac, macosx
12306-electron
🚄 electron-vue构建12306跨平台(Mac、Windows、Linux)客户端
Stars: ✭ 125 (-67.62%)
Mutual labels:  mac, macosx
scoot
Keyboard-driven MacOS cursor actuator
Stars: ✭ 55 (-85.75%)
Mutual labels:  mac, macosx
GNU-bash-mac-installer
Downloads and builds a Mac package installer for GNU bash 5
Stars: ✭ 17 (-95.6%)
Mutual labels:  mac, macosx
Unifile
Unified access to cloud storage services through a simple web API.
Stars: ✭ 105 (-72.8%)
Mutual labels:  cloud, webdav
WebDAVServerSamples
WebDAV, CalDAV & CardDAV server examples in C# and VB based on IT Hit WebDAV Server Engine for .NET
Stars: ✭ 39 (-89.9%)
Mutual labels:  mac, webdav
macOS-Tips
macOS 系统的使用技巧介绍、常用软件推荐、效率工具推荐。
Stars: ✭ 23 (-94.04%)
Mutual labels:  mac, macosx
Mac Setup
🛠️ Front end web development setup for macOS.
Stars: ✭ 265 (-31.35%)
Mutual labels:  mac, macosx
sloth-app
Sloth desktop app
Stars: ✭ 16 (-95.85%)
Mutual labels:  mac, macosx
blade runner
Blade Runner is a Jamf Pro based Python application that automates and implements a framework to offboard, secure erase and document deprecated Mac systems.
Stars: ✭ 24 (-93.78%)
Mutual labels:  mac, macosx
brewfile
🍎 Brewfile to install softwares in macOS for engineers
Stars: ✭ 37 (-90.41%)
Mutual labels:  mac, macosx
iOS-AirPrint-for-Mac
enable iOS Airprint Sharing on Mac OS
Stars: ✭ 24 (-93.78%)
Mutual labels:  mac, macosx
Mac-OS-Setup-Applications
👾 All I need to setup a new Mac and the applications I use everyday as a Web Developper
Stars: ✭ 96 (-75.13%)
Mutual labels:  mac, macosx
Dev Setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Stars: ✭ 5,590 (+1348.19%)
Mutual labels:  cloud, mac
Zpan
A self-hosted cloud disk base on the cloud storage./ 一个基于云存储的网盘系统,用于自建私人网盘或企业网盘。
Stars: ✭ 765 (+98.19%)
Mutual labels:  cloud, disk
HEIC-to-JPG-right-click-converter
HEIC to JPG converter with one click integration into Mac OS X
Stars: ✭ 19 (-95.08%)
Mutual labels:  mac, macosx
Shell Safe Rm
😎 Safe-rm: A drop-in and much safer replacement of bash rm with nearly full functionalities and options of the rm command! Safe-rm will act exactly the same as the original rm command.
Stars: ✭ 265 (-31.35%)
Mutual labels:  mac, macosx

WebDAV emulator for Cloud.mail.ru / Yandex.Disk

  • UA users! Mail.Ru заблокирован в вашей стране, используйте, например, эти инструкции

Requirements

WebDAVCloudMailRu-*-dotNet48.zip / WebDAVCloudMailRu-*-dotNetCore30.zip respectively

Usage

	-p, --port         	  (Default: 801) WebDAV server port or several ports separated by `,`
	-h, --host	   	  (Default: "http://127.0.0.1") WebDAV server host with protocol (http://* for http://0.0.0.0)
	--maxthreads       	  (Default: 5) Maximum concurrent connections to cloud.mail.ru
	--use-locks           use locking feature
	--cache-listing    	  (Default: 30) Cache folders listing, sec
	--cache-listing-depth  	  (Default: 1) Cache folders listing depth. 
  					If large folder browsing is extremely slow, set to 2	
	
	--protocol         	  (Default: WebM1Bin) Cloud protocol
				 	  * WebM1Bin	- (Cloud.Mail.Ru) mix of mobile and DiskO protocols
				 	  * WebV2	- (Cloud.Mail.Ru) [deprecated] desktop browser protocol
				 	  * YadWeb	- (Yandex.Disk) desktop browser protocol, see Yandex.Disk readme section

	--use-deduplicate		Enable deduplication (upload speedup, put by hash), see Using deduplication readme section

	--install <servicename>		Install as windows service (Windows/.Net48 version only)
 	--install-display <displayname>	Display name for Windows service (Windows/.Net48 version only)
	--uninstall <servicename>       Uninstall windows service (Windows/.Net48 version only)

	--proxy-address <socks|https|http>://<address>:<port>       Use proxy
	--proxy-user <username>       Proxy user name
	--proxy-password <password>   Proxy password
	
	--help            Display this help screen.
	--version         Display version information.

Hasher.exe usage

Calculating hashes for local files

  --files            (Group: sources) Filename(s)/wildcard(s) separated by space

  --lists            (Group: sources) Text files with wildcards/filenames separated by space

  --protocol         (Default: WebM1Bin) Cloud protocol to determine hasher

  -r, --recursive    (Default: false) Perform recursive directories scan

  --help             Display this help screen.

  --version          Display version information.

Using deduplication (upload speedup, put by hash)

Edit <Deduplicate> section in wdmrc.config:

  <Deduplicate>
    <!-- Path for disk file cache -->
    <Disk Path = "d:\Temp\WDMRC_Cache" />

    <!--
      Cache: on disk or inmemory file caching
      Target: path with filename in cloud, .NET regular expression, see https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/regular-expressions
      MinSize: minimum file size
      MaxSize: maximum file size
      -->
    <Rules>
      <!-- cache any path/file contains "EUREKA" in disk cache-->
      <Rule Cache="Disk" Target = "EUREKA" MinSize = "0" MaxSize = "0" />

      <!-- small files less than 15000000 bytes will be cached in memory -->
      <Rule Cache="Memory" Target = "" MinSize = "0" MaxSize = "15000000" />

      <!-- files larger than 15000000 bytes will be cached on disk -->
      <Rule Cache="Disk" Target = "" MinSize = "15000000" MaxSize = "0" />
    </Rules>
  </Deduplicate>

Then run with --use-deduplicate command line key.

Yandex.Disk

(download latest 1.11.*.*, use --protocol YadWeb command line key)

Yandex.Disk WebDAV issues

  • It seems Yandex.Disk WebDAV is limited by speed now.
  • After file uploading yandex servers calculating hash. E.g. for a 10GB file it may take ~1..2 minutes depending on server load. So most of WebDAV clients drops connection on timeout.
  • There's no WebDAV info in official help now. WTF?

This solution allow to bypass that limits using unofficial Yandex.Disk Web API.

How to use encryption

Using XTS AES-256 on-the-fly encryption/decryption

  • Set (en/de)cryption password

    • with >>crypt passwd special command
      or
    • Add # and separator string to your login: [email protected]#_SEP_
    • After your mail.ru password add separator string and password for encrypting: MyLoginPassword_SEP_MyCryptingPassword
  • Mark folder as encrypted using >>crypt init command

  • After that files uploaded to this folder will be encrypted

Commands
Commands executed by making directory with special name.
Parameters with spaces must be screened by quotes.

  • >>join SHARED_FOLDER_LINK Clone shared cloud.mail.ru file/folder to your account
  • >>join #filehash filesize [/][path]filename Clone cloud.mail.ru file to your account by known hash and size
  • >>link SHARED_FOLDER_LINK [linkname] Link shared folder without wasting your space (or manually edit file /item.links.wdmrc)
    • >>link check Remove all dead links (may take time if there's a lot of links)
  • >>move /full/path/from /full/path/to Fast move (if your client moves inner items recursively)
  • >>copy /full/path/from /full/path/to Fast copy (if your client copies inner items recursively)
  • >>lcopy x:/local/path/from /full/server/path/to If file already in cloud, add it by hash without uploading
  • >>rlist [[/]path] [list_filename] list [path] to [list_filename]
  • >>del [[/]path] Fast delete (if your client makes recursive deletions of inner items)
  • >>share [[/]path] Make file/folder public
    • and create .share.wdmrc file with links
  • >>sharev [[/]path] [resolution] Make media file public
    • resolution = 0p (all), 240p, 360p, 480p, 720p, 1080p
    • and create .share.wdmrc file with public and direct play links
  • >>pl [[/]path] [resolution] Make media file public
    • resolution = 0p (all), 240p, 360p, 480p, 720p, 1080p
    • and create .share.wdmrc file with public and direct play links
    • and create .m3u8 playlist file
  • >>crypt init Mark current folder as encrypted
  • >>crypt passwd password_for_encryption_decryption Set password for encryption/decryption

Settings in wdmrc.exe.config

  • Logging
    <config><log4net>
    It's standart Apache log4net configurations, take a look for examples

  • Default video resolution for generated m3u playlists <config><DefaultSharedVideoResolution>
    Values: 0p auto, m3u contains links to all availiable resolutions 240p ~ 352 x 240 360p ~ 480 x 360 480p ~ 858 x 480 720p ~ 1280 x 720 1080p ~ 1920 x 1080

  • Special command prefix
    <config><AdditionalSpecialCommandPrefix>
    custom special command prefix instead of >>. Make possible to use special commands if client doesn't allow >>.

  • Enable/disable WebDAV properties
    <config><WebDAVProps>
    custom special command prefix instead of >>. Make possible to use special commands if client doesn't allow >>.

  • 2 Factor Authentification
    At this time you can use

    • <TwoFactorAuthHandler Name = "AuthCodeConsole"/> - asks for authcode in application console
    • <TwoFactorAuthHandler Name = "AuthCodeWindow"/> - asks for authcode in GUI window (only for .NET Framework releases)
    •  <TwoFactorAuthHandler Name = "AuthCodeFile">
       	<Param Name = "Directory" Value = "d:"/>
       	<Param Name = "FilenamePrefix" Value = "wdmrc_2FA_"/>
       </TwoFactorAuthHandler>
      
      user must write auth code to file. For example, user [email protected] writes code to d:\[email protected].

    Be careful, this methods does not usable when application started as a service/daemon.
    You can make your own 2FA handlers inherited from ITwoFaHandler and put it in separate dll which name starts with MailRuCloudApi.TwoFA

Connect with (almost any) file manager that supports WebDAV using Basic authentification with no encryption and

  • your cloud.mail.ru email and password
  • or anonymous login if only public links list/download required (WinSCP script example)

Automatically split/join when uploading/downloading files larger than cloud allows.

Russian FAQ
geektimes.ru - Снова про WebDAV и Облако Mail.Ru
glashkoff.com - Как бесплатно подключить Облако Mail.Ru через WebDAV
manjaro.ru - Облако Mail.Ru подключаем через эмулятор WebDav как сетевой диск

Windows

Using as windows service

  • Run cmd with Administrator rights
  • Then, for example, wdmrc.exe --install wdmrc -p 801 --maxthreads 15
  • net start wdmrc

Using from explorer requires enabled Basic Auth for WebDAV * Press Win+R, type `regedit`, click OK * HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters * Right click on the BasicAuthLevel and click Modify * In the Value data box, type 2, and then click OK. * Reset computer (or run `cmd` with admin rights and then `net stop webclient`, `net start webclient`)
Use as Windows disk ``` net use ^disk^: http://^address^:^port^ ^your_mailru_password^ /USER:^your_mailru_email^ ```
Faster WebDAV Performance in Windows 7 Windows 7 client might perform very bad when connecting to any WebDAV server. This is caused, because it tries to auto-detect any proxy server before any request. Refer to KB2445570 for more information.
  • In Internet Explorer, open the Tools menu, then click Internet Options.
  • Select the Connections tab.
  • Click the LAN Settings button.
  • Uncheck the “Automatically detect settings” box.
  • Click OK until you’re out of dialog.
By default, Windows limits file size to 5000000 bytes, you can increase it up to 4Gb * Press Win+R, type `regedit`, click OK * HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters * Right click on the FileSizeLimitInBytes and click Modify * Click on Decimal * In the Value data box, type 4294967295, and then click OK. * Reset computer (or run `cmd` with admin rights and then `net stop webclient`, `net start webclient`)
Wrong disk size when mapped as Windows drive [Microsoft says - "It's not a bug, it's by design"](https://support.microsoft.com/en-us/kb/2386902)

Linux

(tested under Elementary OS and Lubuntu)

See also

Mount with davfs2

  • mkdir /mnt/<folder>
  • edit /etc/davfs2/davfs2.conf set use_locks 0
  • sudo mount --rw -t davfs http://<address>:<port> /mnt/<folder>/ -o uid=<current_linux_user>

As a service (daemon)

CERTIFICATE_VERIFY_FAILED exception Issue 56 default installation of Mono doesn’t trust anyone

In short:

# cat /etc/ssl/certs/* >ca-bundle.crt
# cert-sync ca-bundle.crt
# rm ca-bundle.crt

Mac OS X

Use any client supports webdav.

Remarks

  • RaiDrive
  • NetDrive
  • rclone mount
  • Total Commander:
    • requires to update WebDAV plugin to v.2.9
    • turn on (connection properties) -> Send\Receive accents in URLs as UTF-8 Unicode
  • WebDrive:
    • disable (disk properties) -> HTTP Settings -> Do chunked upload for large files.
  • CarotDAV:
    • check (connection properties) -> Advanced -> Don't update property.
  • avoid using Unicode non-printing characters such as right-to-left mark in file/folder names

Big thanks

See also

Buy me a beer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].