Total Pageviews

Saturday, 13 January 2018

通过安装davfs2来挂载webdav网盘

什么是webdav,是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。国外的很多网盘,包括owncloud都支持webdav,本文以yandex为例子介绍,挂载在Linux上。

Linux
  • davfs2或者fusedavWebDAV共享挂载成Coda或者FUSE文件系统。
  • KDEWebDAV作为kio_http的一部分提供原生支持。DolphinKonqueror等其他KDE应用程序可以直接与WebDAV服务器交互。
  • Nautilus也提供内置支持。
  • cadaver命令行工具提供类FTP命令集,也包含在很多Linux发行版中。
  • Apache HTTP服务 提供基于davfsApache SubversionWebDAV模块。
Windows
  • NetDrive:挂载为网络硬盘机
Mac
  • Finder:系统内置程式
本文就是利用davfs2挂载wendav

安装

Linux主要的源中都有davfs2,也可以自己编译,需要准备好环境。
apt-get install davfs2
mkdir /mnt/webdav
mount -t davfs https://webdav.yandex.ru /mnt/webdav
Please enter the username to authenticate with server
https://webdav.yandex.ru or hit enter for none.
  Username: test
Please enter the password to authenticate user test with server
https://webdav.yandex.ru or hit enter for none.
  Password:

配置

可以把账号密码写入配置文件,以普通用户来挂载。
usermod -a -G network username
编辑/etc/fstab文件,在后面添加(username自己替换):
https://webdav.example.com /home/username/webdav davfs user,noauto,uid=username,file_mode=600,dir_mode=700 0 1
创建账号密码配置:
mkdir ~/.davfs2/
echo "https://webdav.example.com webdavuser webdavpassword" >> ~/.davfs2/secrets 
chmod 0600 ~/.davfs2/secrets
yandex url是:
https://webdav.yandex.ru
如果是owncloud, url是:
https://webdav.example.com/remote.php/webdav
多用户配置
/home/username/disk1 webdavuser1 "webdavpassword1"
/home/username/disk2 webdavuser1 "webdavpassword2"
.........
/home/username/diskN webdavuserN "webdavpasswordN"
Now you should be able to mount and unmount ~/webdav:
mount ~/webdav
取消挂载
fusermount -u ~/webdav

错误

如果在复制剪切文件遇到错误,编辑/etc/davfs2/davfs2.conf,修改配置如下,
[...]
use_locks 0
[...]

参考

相关帖子:
http://briteming.blogspot.de/2017/08/centosdavfs2dropbox.html
http://briteming.blogspot.de/2017/09/davfsyandex-disk.html
-----------------------

如何在各个平台下挂载WebDAV

WebDAV

这是什么?有什么用?

https://zh.wikipedia.org/wiki/WebDAV

Linux

Centos & Fedora & RedHat
yum -y install davfs2
其他的比如Ubuntu之类的
apt-get -y install davfs2
安装完davfs2之后执行
sed -i 's/# use_locks 1/use_locks 0/g' /etc/davfs2/davfs2.conf echo "你的WebDAV地址 用户名 密码" >> /etc/davfs2/secrets #保存用户名密码,以后可以直接免密码挂载 mount.davfs 你的WebDAV地址 你想要挂载到的目录
即可成功挂载
注意1:挂载目录必须提前创建好!
注意2:如果你不执行第二句保存用户名密码,那么你以后挂载的时候都会要求输入用户名密码!

开机自动挂载

如果想要开机自动挂载,则再执行
echo "mount.davfs 你的WebDAV地址 你想要挂载到的目录" >> /etc/rc.local
执行完此句之后检查一下/etc/rc.local文件,看看是否有exit 0这句。如果有的话,要手动把上面命令添加进去的语句放到exit 0之前。

Windows

Windows 资源管理器挂载只能挂载 HTTPS 的 WebDAV。如果想挂载 HTTP 的,貌似需要动点手脚,或者使用第三方软件(见下方)。
  1. 直接打开“我的电脑”,右击-添加一个网络位置。
  2. 一路“下一步”,然后在这个框内填入你的WebDAV地址,这里以TeraCLOUD为例.

    3.继续下一步,然后等待,会弹出一个登录框让你输入用户名密码,即为你账户的用户名密码。输入网络位置名称,其实就是取个名字,请随意,然后一路“下一步”,完工,现在你应该可以在我的电脑里看到你挂载的WebDAV了。

    MacOS

    在 Finder 中连接到服务器,操作与Windows大同小异,由于我没有Mac所以就不讲了,此处直接给出苹果官方文档。
    http://support.apple.com/kb/PH3857

    第三方软件

    实际上比较推荐使用第三方软件,特别是Windows,资源管理器总有一点科学无法解释的BUG,使用体验不是很好。
    程序名适用平台许可注释
    RaiDriveWindows免费还支持谷歌、OneDrive等网盘
    CyberduckWindows/MacOS免费
    WebDriveWindows/MacOS免费试用10天
    NetDriveWindows个人免费使用
    IT Hit "Map Drive"Windows商业使用
    GoodSyncWindows/MacOS/Android/iOS免费/专业版适用于双向文件夹同步
    WebDAV NavigatoriOS免费
    WebDAV-Sync任意平台(Java) 开源适用于双向文件夹同步的命令行工具
    DAVbox任意平台(Java)商业使用适用于双向文件夹同步

 

---------------------------------------------------------------------------------------------------------------------


Webdav-aliyundriver,把阿里云盘变成你的电脑硬盘


众所周知,常用的文件共享协议主要是FTP、Samba、NFS和WebDAV,其中WebDAV是基于 HTTP 协议的通信协议,在广域网中的文件共享上具有明显优势,它允许客户端/应用程序直接读写Web Server目录与文件,同时支持文件锁定版本控制等常见的操作,简单而言通过WebDAV写,可使用第三方客户端直接链接和读取网络存储服务器中的目录与文件,在WIndows中你甚至可直接将其挂载成“本地磁盘”,让操作更加方便。

因此WebDAV协议相当受欢迎,在许多提供网络存储的产品和服务中,支持WebDAV协议是基本的标配。

webdav-aliyundriver,让阿里云盘支持webdav

实现网盘挂载至本地,首要的重要一步便是解决webdav协议,在国内原生支持webdav协议的个人网盘屈指可数,而国外相对较多,比如谷歌云盘、Dropbox等。

webdav-aliyundriver是Github上一个开源的项目,顾名思义它实现了阿里云盘的webdav协议,只需简单的配置,就可以让阿里云盘变身为webdav协议的文件服务器,而且兼容性不错,支持群辉Cloud Sync、Rclone、MAC/Windows原生等支持。

主要实现的功能:

    查看文件夹、查看文件

    文件移动目录

    文件重命名/文件删除

    文件下载

    文件上传(支持大文件自动分批上传)

    支持超大文件上传(官方限制30G)

    支持WebDav权限校验(默认账户密码:admin/admin)

    文件下载断点续传

    Webdav下的流媒体播放等功能


使用raidrive把阿里云盘挂载到本地

webdav-aliyundriver在Windows中,作者推荐使用raidrive工具挂载,教程也非常简单,阿刚下面简单概述下。

1,获取阿里云盘账号的refreshToken

简单说下refreshToken,它是一种身份权限验证,当前webdav-aliyundriver仅支持此方式登录获取阿里云盘账户中的资料,而refreshToken在登录阿里云盘后,F12快捷键打开开发者工具——>Application——>Local Storage,点击 Local Storage下的www.aliyundrive.com,点击右边的token,此时可以看到里面的数据,其中就有refresh_token,把其值复制出来即可.

2,记事本编辑run.bat,将其里面的refreshToken替换成自己的,端口默认是8080,你可以更改成其他,其余的选项一般默认即可。

3,运行run.bat

4,支持webdav的挂载工具相当多,例如RaiDrive、NetDrive2,例如在RaiDrive中,选择Add New Drive,类型选择NAS,协议WebDAV,自定义选择盘符号。

Address:127.0.0.1 端口8080

账号与密码:admin

设置成功后,点击连接按钮即可连接成功.


RaiDrive挂载阿里云盘

最后实现的效果与上面的CloudDrive相同,挂载为本地硬盘后,所有操作均是相同的。不过这里要说明的是,run.bat必须一直处于运行状态,否则连接无法成功,所以还需要把run.bat设置成开机启动,方法也很简单:

1,右键run.bat发送到桌面快捷方式

2,把桌面上的快捷方式丢在下面的路径中即可.

开机启动

CloudDrive,将阿里云盘挂载为本地硬盘

CloudDrive是一款支持WebDAV的第三方网盘挂载工具,它可以直接阿里云盘、115等网盘挂载成本地硬盘,同时支持WebDAV,你可自定义添加其他网盘产品(有WebDAV协议),既简单又高效。

CloudDrive使用相当简单,初次安装后会通过浏览器自动访问localhost:9798,你首先需要注册并登录一个账号才可使用CloudDrive。

CloudDrive目前支持115、沃家云盘、天翼云盘、阿里云盘等,以阿里云盘为例,添加后需要使用手机APP扫二维码登录,成功后资源管理器会挂载好阿里云盘并自动为其配置一个盘符。

挂载好的阿里云盘,其操作体验与本地硬盘相同,你可以读取目录/文件,拷贝、剪切、移动、删除、重命名、查看文件夹大小,上传文件等,所有操作都将同步。

当然,对于老司机来说最重要的是支持直接查看文件,图片、文档、电影等任何Windows支持的文件格式,都可以直接打开或者编辑,当然这个“硬盘”的读取速度主要取决于你的带宽大小以及挂载的网盘本身的速度,阿里云盘目前未限速,因此它的体验相当好,如果只是看片子,速度是完全够用的。

另外,在使用过程中CloudDrive会产生缓存,尤其是你看大片子的时候,实际会产生大量的缓存文件,由于它默认是存储在C盘,有时会占满你的C盘。这种情况可以在设置中心更改缓存位置。

总的来说,CloudDrive直接方便的把阿里云盘搬回到你的本地硬盘上,相当于让你有了额外的一块硬盘,从功能上来说体验非常好。

不过,CloudDrive并非是开源工具,而且程序的安装位置竟然在C:\Windows\System32\下,说实话真的很少很少见到有软件会安装在这个位置,难怪这工具一些杀软会直接报毒了,因为没开源,所以如果你特别在意网盘里数据的安全性,这个工具可能就不太适合了,如果要用建议大家用小号或者不要在网盘里放重要文件。

最后

国内的个人网盘支持WebDAV协议的实在是凤毛麟角,实际上WebDAV真的相当好用,毕竟相较而言,网络存储空间尤其是网盘产品是最经济实惠的扩展空间的方式,加之现在宽带速率高,将其挂载成本地硬盘后,真的就相当于多加了一块硬盘,体验非常棒。

CloudDrive1.1.44下载地址:

https://isharepc.lanzoui.com/iTCAjwobrxc