背景
一直对软路由硬件J4125之类的痴迷,想要它虚拟出另外一个系统实现NAS本地云存储的功能,可是碍于广大群众对这种集成方案的实用性、稳定性、低维护性产生实践中的顾虑和问题,更倾向于独立的NAS硬件。我也一直在思考NAS在日常生活中除了备份旧文件用处的其他实用性考究。
音乐文件的跨平台同步需求越来越急切。各大平台对音乐版权的收紧,使得我不在寻找播放软件APP的解决方案,转而更希望保存我喜爱的歌曲。存储在网盘中不占用手机内存和电脑硬盘是个不错的选择(电影文件显然也是类似的)
思路
1. 将 阿里云盘 开放出 WebDAV 服务
2. 将 rclone 用于同步 电脑中 和 阿里云盘 中的文件和目录
3. 将 nplayer 用于播放 WebDAV中的音乐(电影也是一样)
安卓手机手机都可以的,电脑上用Potplayer之类的。
技术步骤汇总
1. 工具#1: https://github.com/messense/aliyundrive-webdav
根据您平台的构架来选择不同的可执行文件(以我的MAC为例,下载:aliyundrive-webdav-v2.3.2.apple-darwin.tar.gz)
1.1 解压缩后得到文件:aliyundrive-webdav
1.2 Terimal运行:
aliyundrive-webdav -r eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzYjg0YzM0OTczNjA0OTk4OTRjYjI3OWUzOTM1ZTA0OSIsImF1ZCI6IjczZTYxMTgzMWE3YzRkODdhYzQ5Yzg0ODFiZjlmMmM0IiwiZXhwIjoxNzAwNzI5MTM4LCJpYXQiOjE2OTI5NTMxMzgsImp0aSI6IjJjNDVlZDdhNWUyZjQxOTg5ZTk2NDA4NmQ1OTE1MzhiIn0.LcDVLaeqaQWpvE7eBbEv-KnA27JP6bmk7Rxw1vK6ZD3EqSGQuaH-DVE6lU8NneiN1h0z8mW1ImrkjFQ1234
如何获取这个refresh-token,作者在页面做了详细的说明:https://github.com/messense/aliyundrive-webdav。
实测也可以使用Chrome登录云盘后https://www.aliyundrive.com/drive/file/backup,在Chrome > Application > Local Storage > share_token 中复制。
成功运行后的日志类似:
2023-08-25T21:10:27.769474+08:00 INFO aliyundrive_webdav::drive: refresh token succeed
2023-08-25T21:10:30.984144+08:00 INFO aliyundrive_webdav::drive: found default drive drive_id=71999****
2023-08-25T21:10:30.985527+08:00 INFO aliyundrive_webdav::webdav: listening on http://0.0.0.0:8080
1.3 运行后WebDAV就启用了,可以通过Mac的Finder来验证:Finder > Go > Connect to Server
输入http://127.0.0.1:8080
在提示的用户名密码都输入:admin
2. 工具#2: https://github.com/rclone/rclone
获取:根据您平台的构架来选择不同的可执行文件(以我的MAC为例,下载:rclone-v1.63.1-osx-arm64.zip)
2.1 解压缩后得到文件:rclone
2.2 Terimal运行配置(一次性):
rclone config name> webdav Storage> 47 url> http://127.0.0.1:8080 vendor> 6 user> admin password: admin
其他的参数都直接回车,默认即可。
第二步中的47指向webdav
47 / WebDAV
\ (webdav)
2.3 Terimal运行配置(日常同步):
rclone lsd webdav: 列出目录 rclone ls webdav: 列出根目录下所有文件 rclone copy /Users/***/MusicSyncCar webdav:MusicSyncCar rclone sync --interactive /Users/***/MusicSyncCar webdav:MusicSyncCar works great, will ask for new files to sync rclone sync /Users/***/MusicSyncCar webdav:MusicSyncCar works great too, without any question, but minor error.
详细的说明:https://rclone.org/docs/
如下(注意下面列子的remote就是webdav的创建时的名称)
rclone uses a system of subcommands. For example
rclone ls remote:path # lists a remote
rclone copy /local/path remote:path # copies /local/path to the remote
rclone sync --interactive /local/path remote:path # syncs /local/path to the remote
3. 工具#3:Nplayer安卓版
直接把链接中的apk下载后,在手机中安装添加WebDAV, 主要的参数:
主机:选择运行aliyundrive-webdav的电脑的局域网IP地址(http://192.168.6.221:8080)
用户名/密码:admin
端口:8080
背景知识
NAS是网络接入存储(Network Attached Storage)的简称,也就是存储系统直接接入网络,通过网络交换机,将服务器与存储连接在一起,用户可以通过TCPIP协议访问数据,并通过标准的业界文件共享协议,如CIFS、NFS来实现目录级的共享。
感谢
感谢所有以上工具的作者与参与者,感恩。
后续
文章分享没有几天,聪明的朋友就寻出了不便之处:上面这个方案,需要电脑上开启WebDAV服务然后手机才能连接上去播放媒体文件等访问网盘的内容。
那么有没有办法直接把WebDAV架设在手机上呢?这样就不需要一台‘服务器’开着。答案是有的:
https://github.com/eritpchy/aliyundrive-webdav/releases
下载这个apk文件 net.xdow.webdavaliyundriver.3.1.0.release.apk
(视频介绍:通过安卓手机启用阿里云盘webdav服务,实现把云盘资料挂载为本地硬盘使用,无压缩播放原画质视频)
安装到安卓手机上,打开这个APP,设置好Refresh_token(扫码获取),手机上点击启动WebDAV服务。 在切换到手机上nplayer,同理,建立新的连接到手机本机(127.0.0.1)8080端口上的WebDAV即可。 标签:webdav,rclone,云盘,NAS,跨平台,aliyundrive,path,WebDAV From: https://www.cnblogs.com/backuper/p/17658130.html