Windows · Linux · NAS · Docker
装在常开的那台机器上
在这里,CloudDrive2 的核心以后台服务的形式运行:连接你全部的云盘账户,把它们挂成本地磁盘,提供一个浏览器管理界面,同时自己就是一台 WebDAV 服务器。手机、电视和头显上的应用自带同一套核心,各自独立可用;需要时也可以把这台当成一个云盘连过来。
这一页讲的是 CloudDrive2 Core——原来的 CloudDrive2,仍在持续开发。
用 Windows?现在有原生的桌面应用了,带完整界面与盘符挂载,见 Windows 版。
- 云盘本地挂载
- Web 界面 :19798
- WebDAV 服务器
- Docker · NAS
- Windows · Linux · macOS
本地挂载
把云盘挂成一块本地磁盘
挂载之后,云盘在系统里就是一块盘。任何程序——办公软件、剪辑软件、Emby、Plex—— 都能像读本地文件一样读它,不需要「先下载,再打开」。
多个云盘可以合并挂载成一棵统一的目录树,也可以各挂各的盘符;只挂某个云盘下的某个目录同样可以。读取采用多线程下载,带宽跟得上的时候,体验和本地盘相差不大。
写入是真正的随机写:改文件中间的一段,不必先把整个文件下载回本地——CloudDrive2 从云端取未改动的片段,接上你写进去的部分,直接拼成新文件上传。每个目录的元数据缓存时长可以单独设置,在数据时效性和请求频度之间自己拿捏。
挂出来的也是一个完整的文件系统:Linux 与 macOS 上是完整 POSIX 语义,权限位、所有者与用户组、时间戳和扩展属性(xattr)一样不少;Windows 上完整支持安全描述符, ACL 照常读写。这些属性持久化在本地,云盘存不下也不影响。
- 多线程读取
- 真正的随机写
- 完整 POSIX 语义
- Windows 安全描述符
- 目录级缓存时长
-
统一挂载
把多个云盘账户合成一个文件系统,跨云盘搬文件就是普通的复制粘贴。
-
文件变更通知
挂载盘上的增删改会产生系统级通知,Emby、Jellyfin、Plex 的媒体库监控照常工作。通过 Web 界面、WebDAV 或离线下载产生的变化同样会通知。
-
访问监控与权限控制
实时看到哪个进程在读哪个文件、下载速度多少,并可以按进程放行或拉黑。
-
加密文件夹
在任意云盘或本地目录里创建加密文件夹,文件名用 AES、内容用 chacha20-poly1305 加密,密码只留在本机。解锁之后用起来和普通文件夹一样。
Linux 需要内核支持 FUSE(看看有没有 /dev/fuse);macOS 需要先安装 macFUSE;未 root 的 Android 无法挂载本地文件系统,其余功能不受影响。
Web 界面
浏览器就是控制台
装好之后不用装客户端:打开浏览器,配置和日常操作都在这一个页面里完成。
http://localhost:19798 # 本机
http://<主机 IP>:19798 # 局域网里的其它设备
另有 HTTPS 端口 19799,默认关闭,要在设置里打开并配置证书。手机、平板、电视和头显上的应用自带的核心监听 29798,和这里错开,同一台机器上一起装不会撞端口。
-
云盘账户
添加、授权、移除云盘账户,阿里云盘、百度网盘、115、天翼云盘、123云盘、 OneDrive、Google Drive、迅雷云盘、WebDAV 与本地文件夹都在列表里。
-
文件管理
新建文件夹、重命名、删除、移动、上传本地文件,以及跨云盘复制—— 不必在各家网盘的客户端之间来回切换。
-
在线播放与预览
视频、音频、图片直接在浏览器里放,也可以交给 PotPlayer、VLC、Infuse、 IINA、nPlayer 等第三方播放器打开。
-
其余全部设置
挂载点、备份任务、传输队列、WebDAV 设置、API 令牌,都在同一个界面里。
Web 界面是这台服务的唯一控制台:Windows 上双击桌面快捷方式打开的是它, NAS 和 Docker 上没有图形界面,用的也是它。
手机、平板、电视和头显上的 CloudDrive2 应用连接的是同一个服务,在哪一端改的设置,另一端都能看到。
这个界面是一个 WebAssembly 应用,浏览器不支持 WebAssembly 就只有白屏。电脑上用较新版本的 Edge、Chrome、Safari 或 Firefox,手机平板上用主流浏览器都可以;IE 不行,电视和机顶盒自带的精简浏览器也多半不行。
WebDAV
自己就是一台 WebDAV 服务器
CloudDrive2 把聚合后的云盘再以 WebDAV 的形式提供出去。 Windows 的「映射网络驱动器」、macOS 的「连接服务器」、Office、剪辑软件、电视盒子上的播放器——任何支持 WebDAV 的客户端都能直接连。
服务器地址 http://<主机 IP>:19798/dav
用户名 CloudDrive2 账号邮箱(也可只填 @ 前面的部分)
密码 CloudDrive2 账号密码
-
服务开关
WebDAV 服务可以随时打开或关闭。
-
账号访问
允许或禁止用 CloudDrive2 账号访问 WebDAV,并可指定根目录位置与是否只读。
-
匿名访问
允许或禁止匿名访问,匿名访问的根目录和读写权限单独设置。
-
独立 WebDAV 用户
可以创建任意多个独立用户,每个用户单独设置根目录和只读权限,给家人和同事分别开一份。这是会员功能,详见会员与价格。
Docker · NAS
在 NAS 上常驻
官方镜像是 cloudnas/clouddrive2,提供 amd64、arm64 和 armv7 三种架构。跑起来之后,浏览器打开 http://<主机 IP>:19798 就能配置。
容器里的挂载需要能传回宿主机,所以宿主机那个目录的挂载传播必须是共享的(shared mount)——FUSE 依赖它,不是共享的话会直接以「权限被拒绝」挂载失败。这是部署时最常见的坑,不过不少系统出厂就开着(LibreELEC、CoreELEC、飞牛 fnOS 都是),先查一下再动手。
Docker Compose 配置
services:
cloudnas:
image: cloudnas/clouddrive2
container_name: clouddrive2
environment:
- TZ=Asia/Shanghai
- CLOUDDRIVE_HOME=/Config
volumes:
- <接收云盘挂载的目录>:/CloudNAS:shared
- <存放配置的目录>:/Config
- <其它需要共享的本地目录>:/media:shared
devices:
- /dev/fuse:/dev/fuse
restart: unless-stopped
pid: "host"
privileged: true
network_mode: "host"
查一下,没开再开
Docker 以 systemd 服务运行时,给它加一段 MountFlags=shared:
sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo tee /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf <<EOF
[Service]
MountFlags=shared
EOF
sudo systemctl restart docker.service
不是 systemd 服务的话,直接把目标目录所在的挂载点设为共享。把 /path/to/dir 换成你准备给容器用的那个目录:
sudo mount --make-shared $(df -P /path/to/dir | tail -1 | awk '{ print $6 }')
mount --make-shared 只在本次运行期间有效,重启后需要重新执行。要开机自动跑 CloudDrive,请把这条命令一并加进启动项。
现成的 NAS 装法
群晖 Synology 和威联通 QNAP 有第三方套件,Unraid 有社区模板,飞牛 fnOS 可以下载对应架构的 fpk 包手动安装。任何能跑 Docker 的 NAS,也都可以直接用上面的镜像。
- Synology
- QNAP
- Unraid
- 飞牛 fnOS
NAS 套件由第三方提供,我们不对其安全性和稳定性负责。镜像和安装包请以官方渠道为准。
端口与目录
- 端口 19798
- /Config 配置
- /CloudNAS:shared 挂载
- /dev/fuse
逐条参数说明、CLI 写法和常见问题,都在 Docker 部署指南里。
无头 Linux
没有桌面的机器一样能装
服务本身不需要图形界面。下载对应架构的压缩包,展开,运行,然后从任意一台机器的浏览器连过去就行。
tar zxvf clouddrive-2-linux-$ARCH-$VERSION.tgz
cd clouddrive-2-linux-$ARCH-$VERSION
./clouddrive
-
先确认内核支持 FUSE
看看
/dev/fuse在不在。不支持 FUSE 的内核无法挂载本地目录,但 Web 界面、备份和 WebDAV 服务仍然可用。 -
以非 root 用户运行
按发行版的方式装好 fuse3,确认
fusermount3能跑,再编辑/etc/fuse.conf,把user_allow_other前面的#删掉。 -
开机自启
把 clouddrive 加进系统自启动,或者注册成 systemd 服务,具体写法看发行版文档。
-
Arch Linux
有现成的 AUR 包:
yay -Syu clouddrive,然后systemctl enable --now clouddrive.service起服务,也可以用--user以用户身份运行。
平台
支持的系统与架构
| 平台 | 架构 | 说明 |
|---|---|---|
| Windows | x64 · Arm64 | 安装包,装完桌面有快捷方式,浏览器打开 localhost:19798 |
| Linux | x86_64 · aarch64 · armv7 | tgz 压缩包;Arch Linux 及衍生版另有 AUR 包 |
| macOS | x86_64 · aarch64 | 推荐用 Homebrew 安装,也可手动解压 tgz;需要先装 macFUSE |
| Docker | amd64 · arm64 · armv7 | 镜像 cloudnas/clouddrive2,宿主机需开启共享挂载 |
| 飞牛 fnOS | x86_64 · aarch64 | 对应架构的 fpk 包,手动安装 |
| Android | x86_64 · aarch64 · armv7 | 未 root 的系统无法挂载本地文件系统,其余功能可用 |
| Synology · QNAP · Unraid | 视机型而定 | 第三方套件与社区模板,或直接运行 Docker 镜像 |
获取
如何安装
用浏览器打开 http://<主机 IP>:19798 注册或登录,然后添加云盘账户、设置挂载点。逐平台的安装步骤见帮助与安装,
Docker 的完整参数见 Docker 部署指南。
挂载云盘、Web 界面和 WebDAV 基础服务不需要付费。跨云盘快速复制、多云盘备份、文件变更通知、加密文件系统、应用级权限控制和独立 WebDAV 用户属于会员功能,详见会员与价格。
本页写的是应用当前的功能。CloudDrive2 仍在持续开发,云服务商与各平台的限制也在变,所以功能可能调整,也可能在不另行通知的情况下移除。
欢迎提功能需求、报 bug——下一个版本做什么,很大程度上就是这么定的。最好提到 GitHub issues 上,有记录也追得到;也可以写信到 waytechcloudfs@gmail.com,或者加入 Telegram 群。