CloudDrive2:云盘挂载本地
CloudDrive2 是一款多云盘管理工具,可把 115、阿里云盘、百度网盘、Google Drive 等云存储挂载为本地目录,供 Emby / Plex / 本地应用直接读取。本文覆盖 Docker 部署、本地挂载、115 429 调优、跨云盘复制现状,以及 Google Drive 通过 Refresh Token 登录的完整流程。
Docker 部署
推荐通过 Docker Compose 部署 CloudDrive2,详情参见 Docker Compose 部署教程。配置示例:
services:
cloudnas:
image: cloudnas/clouddrive2
container_name: clouddrive2
environment:
- TZ=Asia/Shanghai
- CLOUDDRIVE_HOME=/Config
volumes:
- /volume2/CloudNAS:/CloudNAS:shared
- /volume1/docker/clouddrive2/config:/Config
- /volume1/docker/clouddrive2/media:/media:shared #optional media path of host
devices:
- /dev/fuse:/dev/fuse
restart: unless-stopped
pid: "host"
privileged: true
network_mode: "host"初次安装或重启 NAS 后,需在 SSH 终端执行以下命令,在主机上启用共享挂载选项(否则 FUSE 挂载会失败):
sudo mount --make-shared $(df -P /path/to/dir | tail -1 | awk '{ print $6 }')群晖用户也可通过 SimplePermissionManager 套件一键授权。
部署完成后,浏览器访问 http://<你的服务器 IP 或域名>:19798 即可使用 CloudDrive2。最新版本与变更记录见 GitHub Releases。
挂载网盘到本地
- 登录 CloudDrive2,依次绑定需要挂载的网盘。
- 点击上方的电脑图标按钮「挂载到本地」。
- 保留默认挂载名称,选择挂载点
CloudNAS。 - 将挂载权限从
0755改为0777(若 Emby 等程序提示读取失败再调整;出于安全考虑,不要在多租户环境里使用0777)。
115 网盘:429 报错与请求频率调优
115 对接口请求频率限制较严,大批量刮削 / 扫库时容易触发 429 Too Many Requests。建议按以下顺序优化:
- 「系统设置」>「目录缓存持久化」勾选,并将「默认目录缓存时间」改为
0,避免缓存过期后集中请求。 - 选中 115 盘,点击上方的
i按钮切到属性页,在「云属性设置」中将MaxQueriesPerSecond改为1。 - 批量操作时若右上角出现
PermissionDenied 115 error 账号异常,请登录手机 APP 验证激活,在 115 手机 APP 顶部点击「文件」触发人工验证,验证通过后系统任务会自动续跑。
跨云盘复制的现状
CloudDrive2 的「跨云盘快速复制」曾是我购买会员的主要原因——理论上可以在不同网盘之间直接迁移文件,省去本地下载再上传的中转。但实测下来(2026 年初)大多数组合已不稳定:
- 百度网盘 → 天翼云盘 / 123 云盘:复制任务频繁报错。
- OneDrive → 123 云盘:大文件迁移经常失败,社区用户反馈一致。
- 阿里云盘 → 115 网盘:目前相对顺利,未出现明显异常。
除最后一条路径外,建议优先走传统的"下载到 NAS → 再上传目标盘"流程,避免长时间卡在不断重试的任务队列里。
Google Drive:使用 Refresh Token 登录
Google 已禁用 CloudDrive 应用的授权登录方式,常规网页登录不可用。唯一稳定的替代方案是自建 Google Cloud 项目、通过 OAuth 2.0 获取 Refresh Token,再在 CloudDrive2 中以令牌登录。
第一步:创建 Google Cloud 项目
- 打开 https://console.cloud.google.com/
- 登录 Google 账号
- 点击顶部「项目选择器」→「新建项目」
- 输入项目名称(如
CloudDrive Service) - 点击「创建」
第二步:启用 Google Drive API
- 左侧菜单 →「API 和服务」→「库」
- 搜索
Google Drive API - 点击并选择「启用」
- 等待 1–2 分钟让 API 生效
第三步:配置 OAuth 同意屏幕
OAuth 同意屏幕是向 Google 声明应用身份的前提。
1.「API 和服务」→「OAuth 同意屏幕」2. 用户类型选择「外部」3. 填写应用名称、用户支持邮箱等必填信息,其余保持默认 4. 点击「保存并继续」
第四步:创建 OAuth 2.0 凭据
1.「API 和服务」→「凭据」2. 「创建凭据」→「OAuth 2.0 客户端 ID」3. 应用类型选择「Web 应用」4. 已获授权的重定向 URI 填入:https://developers.google.com/oauthplayground 5. 创建后保存 Client ID 和 Client Secret
⚠ 重定向 URI 必须与后续请求中使用的地址完全一致(含大小写和结尾斜杠),否则授权会失败。
第五步:获取授权码
在浏览器中访问以下 URL(替换 YOUR_CLIENT_ID 和 YOUR_REDIRECT_URI,并确保整个 URL 是一整行):
https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI关键参数说明:
access_type=offline:必须,用于获取刷新令牌。approval_prompt=force:必须,强制弹出授权页面。- 授权成功后,浏览器会跳转到重定向地址,URL 中包含
code=XXXXX,复制这段 code。 - 授权码 10 分钟内有效,只能使用一次。
第六步:用授权码换取刷新令牌
curl -X POST https://accounts.google.com/o/oauth2/token \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "code=AUTHORIZATION_CODE" \
-d "grant_type=authorization_code" \
-d "redirect_uri=YOUR_REDIRECT_URI"返回示例:
{
"access_token": "ya29.xxxxx",
"expires_in": 3599,
"refresh_token": "1//0xxxxx",
"scope": "https://www.googleapis.com/auth/drive",
"token_type": "Bearer"
}务必保存 refresh_token——这是 CloudDrive2 登录 Google Drive 的唯一凭据。随后在 CloudDrive2「添加云服务」→ 选择 Google Drive → 以 Refresh Token 方式登录,填入 Client ID、Client Secret 和 Refresh Token 即可。
测试版应用限制 若 OAuth 同意屏幕仍处于「测试」状态,此时获取的 Refresh Token 仅能维持 7 天(Google 官方限制)。长期稳定使用必须走下一步的"发布为正式版"。
第七步:将 OAuth 应用发布为正式版
- 回到 Google Cloud 控制台
- 「API 和服务」→「OAuth 同意屏幕」
- 将「发布状态」切换为「正式版」
首次授权可能提示"应用未经验证",依次点击 高级 → 转至 cd2(不安全) 即可继续:

发布完成后重新执行第五、六步获取正式版 Refresh Token,用新令牌登录 CloudDrive2 即可长期有效。