CloudDrive2 公测版本 - 自建多媒体平台
🔴IMPORTANT❗🔴 由于 CloudDrive 为闭源软件,无法完全确保其安全性,如果有担心建议使用单独网盘账号。
介绍
该软件能把 115/阿里云/PikPak/WebDAV 等网盘挂载到本地。目前暂无官网和作者详细信息,通过 Telegram 频道进行代码分发和讨论。作者回复非常积极,点赞。
Docker Hub: https://hub.docker.com/r/cloudnas/clouddrive2-unstable
Telegram Channel: https://t.me/cloud_nas
Telegram 讨论组:https://t.me/cloudnaschat
升级内容
CloudDrive2 整体提升非常大,个人感觉比较明显的点:
- 镜像使用 alpine,加上使用 rust 开发整体包的大小和资源占用都有很大提升。
- Plex 扫库不全的问题,试了库里 200 多直接扫没有出现不全的问题。
- 内嵌了 WebDAV 服务,不再需要用 NAS 转发了,方便很多。
- 支持推送变更通知文件系统,Plex/Emby 可实时监控文件夹获取文件变更推送。当然会有一些限制,网盘客户端上的变更无法同步,客户端不会主动通知 CD2;支持 CD2 的 Web 界面或者对挂载文件的修改可以主动通知。
- fuse 基于 3,终于可以完美支持 musl 系统了(OpenWrt)。
- PikPak 网盘支持,PikPak 的 Telegram 机器人是真的好使。
以下是完整升级清单,由于作者更新非常频繁以下内容针对 0.2.5 Build 23-01-02 14:54:46
版本:
CloudDrive2主要特性:
1.用rust重新开发了全部后端,和CloudDrive1相比CPU和内存占用率极大降低,Web前端暂时以Blazor WebAssembly形式复用CloudDrive的Blazor方案
2.linux版放弃fuse2支持,基于fuse3,完美支持基于musl的系统,包括openwrt,修复linux下plex扫库不全的问题
3.改进的多线程下载算法,可根据请求动态调整下载速度,尽量做到播放视频时可流畅拖动,拷贝文件时可高速下载
4.改进的WebDAV Client,兼容目前主流的WebDAV Server
5.WebDAV Server功能,可提供WebDAV服务给第三方客户端使用:WebDAV服务器地址: http://ip:19798/dav
用户名/密码:和登录Web界面的用户名密码相同
WebDAV Server支持设置root路径和只读属性,目前暂时没有Web设置的界面,需要手动修改confiig.toml文件的[webconfig]项目中webdav_root和webdav_readonly值,修改后重启生效
6.PikPak网盘支持
7.支持推送变更通知给挂载文件系统,jellyfin/emby/plex可选择实时监控文件夹以获得文件变更实时推送。变更来源支持对挂载文件系统的常规文件操作;支持通过网页的文件操作包括创建、删除、移动、重命名、导入SHA1、跨网盘迁移的变更操作;支持通过WebDAV客户端连接CloudDrive WebDAV Server的变更操作
8.115网盘增加访问速度控制,避免因访问过于频繁导致被115临时封禁。注意:如果多个CloudDrive2登录同一个115账号同时访问,访问控制可能会失效。
新增的网盘和新的改进都将在CloudDrive2上进行,CloudDrive原则上不再开发新功能
CloudDrive2目前还未实现的CloudDrive1特性主要包括:
1.暂不支持CloudDrive的分享功能
2.暂时不支持通过web挂载iso文件
3.暂时不支持阿里云盘的web界面媒体文件缩略图预览4.暂时不支持通过Web界面上传文件
测试须知
1.CloudDrive2可以和CloudDrive共存,不影响CloudDrive使用
2.Windows版将安装最新版Winfsp,如已安装过CloudDrive1,将会提示卸载旧版本Winfsp后重启,按提示卸载Winfsp重启后重新执行安装即可,安装新版Winfsp后,CloudDrive1仍然可以正常工作
3.CloudDrive2目前提供Windows-X64、Linux x86_64、Linux arm64、Linux arm版本,其它架构的版本后续会陆续提供,Docker版安装运行的方法和CloudDrive1类似,仍然需要make-shared、映射/dev/fuse、设置管理员权限等前置操作和参数
和CloudDrive1的数据兼容
1.CloudDrive2在测试期间和CloudDrive1的本地数据不兼容,是两个独立的安装目录,用户云盘登录数据可以通过云端同步数据兼容
2.如果需要兼容CloudDrive1的数据,请先将CloudDrive1升级到最新版1.1.72,登录时选择账号信息同步到云端,等待一分钟左右即可完成数据升级
3.CloudDrive1数据升级完成后,CloudDrive2登录时也选择账号信息同步到云端,即可导入CloudDrive1的数据
4.注意:因为CloudDrive1不支持Pikpak,所以通过CloudDrive2添加Pikpak后,不要再使用CloudDrive1的云端同步功能,否则CloudDrive1可能会覆盖云端数据,导致Pikpak登录信息丢失
5.登录同一个账号的所有CloudDrive1请都升级到最新版,否则老版本CloudDrive1还可能把老数据覆盖到云端,导致数据不兼容
6.如果云端数据没有升级,CloudDrive2将会自动禁止同步到云端功能,以保证老数据不会丢失
安装步骤
本文是在威联通的 NAS 上进行安装,Docker 安装可参考 Docker 环境和 compose 的简要安装。
docker-compose 配置文件
version: '3'
services:
cloudnas:
image: cloudnas/clouddrive2-unstable
container_name: clouddrive2
environment:
- CLOUDDRIVE_HOME=/Config
- UID=1000
- GID=100
volumes:
- /share/Container/conf/clouddrive2/config:/Config
- /share/CloudDrive:/CloudNAS:shared
devices:
- /dev/fuse:/dev/fuse
restart: unless-stopped
pid: "host"
#privileged: true #or you can try capp_add -SYS_ADMIN
cap_add:
- SYS_ADMIN
ports:
- 19798:19798
配置说明
container_name: clouddrive2
容器名称,因为 1 代使用的 clouddrive,所以这里使用 clouddrive2- CLOUDDRIVE_HOME=/Config
指定配置文件的目录,默认在 root 里面,需要和下面 volumes
中的配置目录保持一致- UID
和 - GID
可以使用命令 id {loginname}
查看当前登录用户的 uid
和 gid
- /share/Container/conf/clouddrive2/config:/Config
配置文件目录映射,:
前面部分为主机上配置存储路径(按需修改),后面 /Config
为 environment
中指定的 CLOUDDRIVE_HOME
目录。- /share/CloudDrive:/CloudNAS:shared
挂载目录映射,:
把配置分成了三部分。第一部分/share/CloudDrive
,通过 CloudDrive 挂载的网盘,会出现在该文件夹内(按需修改);第二部分 /CloudNAS
为 CloudDrive 中挂载的目录后面会用到。第三部分 :shared
为必选否则本地无法挂载,只能通用提供的 WebDav 服务访问。ports
端口映射,CD1 为 9798
,所以此处使用 19798
避免冲突也可按需修改,访问 Web 界面时使用该端口。
配置完成后,使用命令 docker compose up -d
或者 docker-compose up -d
启动。
CloudDrive2 配置
启动完成通过 http://ip:19798
进入 Web 界面进行管理和配置。基础注册就不重复了,设置好帐号、密码登录就能正常使用。
挂载点配置
CD2 和 CD1 有个很大的不同,CD1 是默认有挂载点,CD2 需要手动进行挂载点配置,否则会发现 WebDAV 能正常访问,但是本地文件夹内无文件的问题。因为这个原因折腾了好几天,最后在 Telegram 里和作者沟通了才找到这个低级问题。
点击 Web 界面的挂载按钮:
名字默认为 CloudDrive
会追加在上面的主机路径 /share/CloudDrive
下,最终路径为 /share/CloudDrive/CloudDrive
。挂载点选择上面配置文件中的 /CloudNAS
,点击挂载。
挂载完成后可以点击,右上角的挂载管理器查看:
如果挂载失败也有出错信息提示 FaileReason
:
配置完成后就可以进行网盘的挂载了,一般就是客户端扫码或者用户名、密码登录就不再赘述。
其它
删除挂载点
当本地文件被挂载后,在目录里面会生成一个 CloudDrive
挂载点(名字由前面 Web 界面的挂载点配置决定),直接无法删除需要先 umount
之后才能删除。如本地文件夹为 /share/CloudDrive
,先停掉 docker,再运行命令
fusermount -u /share/CloudDrive/CloudDrive
umount
后就可以直接删除了。
Windows 挂载失败
群里看到很多 Windows 的客户端挂载失败的情况,可以尝试使用最新版 CD2,首先卸载 winfsp,重新下载 winfsp-1.12.22339.msi 使用默认地址安装后重试。