目录
简介
https://www.aliyundrive.com
阿里云盘是一款速度快、不打扰、够安全、易于分享的网盘,你可以在这里存储、管理和探索内容,尽情打造丰富的数字世界。本项目实现了阿里云盘的webdav协议,只需要简单的配置一下,就可以让阿里云盘变身为webdav协议的文件服务器。 基于此,你可以把阿里云盘挂载为Windows、Linux、Mac系统的磁盘,可以通过NAS系统做文件管理或文件同步,更多玩法等你挖掘。
Github
https://github.com/zxbu/webdav-aliyundriver
开始
创建一台服务器
准备一台Linux服务器,以腾讯云为例;注册|登录腾讯云控制台,创建一个实例;
创建一个竞价实例(1C1G即可)
选择Centos8镜像
配置登录方式
然后开通实例,一台服务器就创建好了
在控制台查看实例的公网IP
放行端口
接下来放行端口避免出现无法访问的情况,在实例的安全组里修改规则即可。
登录服务器
通过SSH登陆服务器,推荐使用 FinalShell 或者 Termius 客户端;也可以通过Windows系统的Terminal登录
ssh root@ip 然后输入密码
环境配置
以此粘贴下面命令配置环境
更新系统yum -y update安装EPEL源yum -y install epel-release安装开发工具包yum -y groupinstall "Development Tools"Docker
curl -fsSL| bash systemctl start docker service docker start systemctl enable docker.service systemctl status docker.service如图Docker服务已正常运行,Ctrl+C 返回终端
Docker-Compose
sudo curl -L-s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose rm -f `which dc` ln -s /usr/local/bin/docker-compose /usr/bin/dc查看安装是否成功
docker-compose -v浏览器获取refreshToken方式
先通过浏览器(建议chrome)打开阿里云盘官网并登录:https://www.aliyundrive.com/drive/登录成功后,按F12打开开发者工具,点击Application,点击Local Storage,点击 Local Storage下的 https://www.aliyundrive.com/,点击右边的token,此时可以看到里面的数据,其中就有refresh_token,把其值复制出来即可。(格式为小写字母和数字,不要复制双引号。例子:ca6bf2175d73as2188efg81f87e55f11)第二步有点繁琐,大家结合下面的截图就看懂了容器运行
docker run -d --name=webdav-aliyundriver --restart=always -p 8080:8080-v /etc/localtime:/etc/localtime -v /etc/aliyun-driver/:/etc/aliyun-driver/ -e TZ="Asia/Shanghai" -e ALIYUNDRIVE_REFRESH_TOKEN="your refreshToken" -e ALIYUNDRIVE_AUTH_PASSWORD="admin" -e JAVA_OPTS="-Xmx1g" zx5253/webdav-aliyundriver # 将your refreshToken替换为上面获取的refreshToken# 8080:8080 第一个8080为服务器webdav服务的端口,可修改# /etc/aliyun-driver/ 挂载卷自动维护了最新的refreshToken,建议挂载# ALIYUNDRIVE_AUTH_PASSWORD 是admin账户的密码,建议修改# JAVA_OPTS 可修改最大内存占用,比如 -e JAVA_OPTS="-Xmx512m" 表示最大内存限制为512m举个例子,假如我的运行端口是8082,refreshToken是,admin账户的密码是E,那么我的命令是
docker run -d --name=webdav-aliyundriver --restart=always -p 8082:8080 -v /etc/localtime:/etc/localtime -v /etc/aliyun-driver/:/etc/aliyun-driver/ -e TZ="Asia/Shanghai" -e ALIYUNDRIVE_REFRESH_TOKEN="" -e ALIYUNDRIVE_AUTH_PASSWORD="E" -e JAVA_OPTS="-Xmx1g" zx5253/webdav-aliyundriver现在WebDav服务就启动完成了,在浏览器中通过公网ip:服务端口,输入登录密码即可访问。无法访问请检查端口是否放行。
Docker-Compose
如果你使用的是宝塔面板或者通过Finalshell客户端登陆服务器,可以在/opt 目录下创建一个 docker-compose.yml 文件,写入并修改下面内容并保存。
version: "3.0" services: webdav-aliyundriver: image: zx5253/webdav-aliyundriver container_name: aliyundriver environment: - TZ=Asia/Shanghai - ALIYUNDRIVE_REFRESH_TOKEN=refreshToken - ALIYUNDRIVE_AUTH_USER-NAME=admin - ALIYUNDRIVE_AUTH_PASSWORD=admin - JAVA_OPTS=-Xmx1g volumes: - /etc/aliyun-driver/:/etc/aliyun-driver/ ports: - 6666:8080 restart: always # “refreshToken”请根据下文说明自行获取。 # “ALIYUNDRIVE_AUTH_USER-NAME”和“ALIYUNDRIVE_AUTH_PASSWORD”为连接用户名和密码,建议更改。 # “/etc/aliyun-driver/:/etc/aliyun-driver/”,可以把冒号前改为指定目录,比如“/homes/USER/docker/alidriver/:/etc/aliyun-driver/”。 # 删除了“/etc/localtime:/etc/localtime”,如有需要同步时间请自行添加在environment下。 # 端口6666可自行按需更改,此端口为WebDAV连接端口,8080为容器内配置端口,修改请量力而为。 # 建议不要保留这些中文注释,以防报错,比如QNAP。在 docker-compose.yml 所在路径下执行该命令 Compose 就会自动构建镜像并使用镜像启动容器,在安装docker-compose过程中已经将docker-compose命令替换为dc,所以在命令中docker-compose替换为dc也可执行
cd /opt // 访问/opt目录 docker-compose up // 启动并运行容器 docker-compose up -d// 后台启动并运行容器 或 dc up // 启动并运行容器 dc up -d// 后台启动并运行容器现在WebDav服务就启动完成了,在浏览器中通过公网ip:服务端口,输入登录密码即可访问。无法访问请检查端口是否放行。
参数说明
--aliyundrive.refresh-token 阿里云盘的refreshToken --server.port 非必填,服务器端口号,默认为8080 --aliyundrive.auth.enable=true 是否开启WebDav账户验证,默认开启 --aliyundrive.auth.user-name=admin WebDav账户,默认admin --aliyundrive.auth.password=admin WebDav密码,默认admin --aliyundrive.work-dir=/etc/aliyun-driver/ token挂载路径(如果多开的话,需修改此配置)客户端兼容性
各个平台挂载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
启用WebClient服务
唤出"计算机管理"程序窗口。选择"服务和应用程序"项,下步将进行启用WebClient服务的操作。
注册表使得WIN同时支持http和https
定位到 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebClientParameters 把BasicAuthLevel 值改成2,即同时支持http和https,默认只支持https
然后管理员Terminal重启webclient服务:
net stop webclient net start webclient在win10中挂载WebDav
打开"此电脑",在空白处点击右键,然后点击"添加一个网络位置"
接下来,就可以像使用本地硬盘/U 盘一样,向里面存储或者删除数据
Windows RaiDrive
这里推荐使用一款名叫 RaiDrive 的软件,官网地址:www.raidrive.com,RaiDrive 是一款免费的软件,不仅支持 WebDAV 协议,还支持常见的 SFTP、FTP 协议,以及 Google Drive、OneDrive、Dropbox、Nextcloud 等常见网盘的挂载。
进入软件后,点击右上角的添加
在服务类型中选择 NAS,再选择 WebDAV,虚拟驱动器中可以自定义一个未占用的盘符和名称,地址中输入 WebDAV 的地址和路径,最后在账户中输入用户名和密码,点击小箭头就完成挂载了。
最后,打开此电脑,就可以访问网络位置的 WebDAV 了。
建议在软件的设置中勾选添加到启动项,可以在 Windows 开机后自动挂载,如果你的 WebDAV 服务器位于国外,下载速度缓慢,还可以在设置中添加代理,并且为挂载的 WebDAV 勾选代理选项。
Mac OS
在 Finder 中连接到服务器,操作与Windows大同小异,由于我没有Mac所以就不讲了,此处直接给出苹果官方文档。http://support.apple.com/kb/PH3857
Android
因为大部分 Android 手机自带的文件管理器都不支持挂载 WebDAV,所以这里借助第三方文件管理器:ES 文件浏览器来实现该功能,该软件同 RaiDrive 一样,也支持常见协议及网盘的连接。
首先在软件侧栏的网络中选择 FTP,然后点击新建,选择 WebDAV,服务器填写 WebDAV 服务器的 URI,加密协议根据自己情况而定,输入 WebDAV 的用户名和密码,即可完成挂载。
第三方软件
实际上比较推荐使用第三方软件,特别是Windows,资源管理器总有一点科学无法解释的BUG,使用体验不是很好。