rclone 完整使用教程
rclone 完整使用教程#
以 macOS 下高效操作 Google Drive 大文件为重点#
rclone 官网:https://rclone.org
一句话介绍:rclone 是一个开源的命令行云存储管理工具,支持 70+ 种云存储(Google Drive、OneDrive、S3、Dropbox 等),可以实现复制、同步、挂载、加密等操作,被誉为"云存储界的 rsync"。
一、rclone 能做什么?适合谁用?#
核心能力#
- 复制/下载:从云盘下载文件到本地,支持断点续传、多线程
- 上传/同步:将本地文件同步到云盘,支持增量同步(只传有变化的文件)
- 云对云传输:直接在两个云盘之间搬运文件,不经过本地
- 挂载:把云盘挂载成本地磁盘,用 Finder 直接浏览
- 加密:端到端加密存储,云盘上的文件只有你能解密
- 列出/管理文件:批量重命名、删除、查看文件大小
什么情况下 rclone 比官方客户端好用?#
| 场景 | Google Drive 官方应用 | rclone |
|---|---|---|
| 下载单个几十 GB 的大文件 | 容易中断,无断点续传 | ✅ 支持断点续传 |
| 批量下载特定类型文件 | 不支持 | ✅ 支持通配符过滤 |
| 限速下载(避免占满带宽) | 不支持 | ✅ --bwlimit |
| 在两个 Google Drive 间搬运 | 不支持 | ✅ 服务端直传,不耗本地流量 |
| 定时自动备份 | 有限制 | ✅ 配合 cron/launchd |
| 服务器/无 GUI 环境 | 无法使用 | ✅ 纯命令行 |
二、macOS 安装说明#
方法一:官方安装脚本(推荐,自动更新)#
sudo -v ; curl https://rclone.org/install.sh | sudo bash这个方式会安装完整功能的 rclone 二进制文件,包括挂载(mount)功能。
方法二:Homebrew(便捷,但有重要限制)#
brew install rclone⚠️ 重要警告:Homebrew 版本的 rclone 不支持
rclone mount(挂载)功能。如果你只需要下载、上传、同步,用 Homebrew 版本完全没问题,但如果需要挂载为本地磁盘,必须使用官方安装脚本或直接下载二进制文件。
方法三:直接下载二进制文件#
前往 https://rclone.org/downloads/ 下载对应版本:
- Intel Mac:
rclone-*-osx-amd64.zip - Apple Silicon(M 系列芯片):
rclone-*-osx-arm64.zip
解压后将 rclone 文件移到 /usr/local/bin/:
sudo cp rclone /usr/local/bin/sudo chmod 755 /usr/local/bin/rclone验证安装#
rclone version正常输出类似:
rclone v1.68.x- os/version: darwin 14.x (64 bit)- os/kernel: 23.x.x (arm64)三、配置 Google Drive 远端(Remote)#
rclone 把每一个云存储账号叫做"远端(Remote)",使用前需要先配置。
步骤 1:启动配置向导#
rclone config你会看到:
No remotes found, make a new one?n) New remotes) Set configuration passwordq) Quit confign/s/q> 输入 n 创建新远端。
步骤 2:给远端命名#
name> gdrive名字可以随意取,这里用 gdrive,后续命令中用 gdrive: 来引用它。名字不能含空格或以 - 开头。
步骤 3:选择存储类型#
rclone 会列出所有支持的存储类型(70多种),找到 Google Drive 对应的编号输入。通常是 17 或 18,但编号可能随版本更新而变化,建议用关键词搜索:
Storage> drive直接输入 drive 也可以匹配到 Google Drive。
步骤 4:Client ID 和 Client Secret#
Google Application Client IdLeave blank normally.client_id>强烈建议创建自己的 Client ID,原因:rclone 的公共 API Key 被大量用户共享,容易触发 Google 的速率限制,导致下载速度变慢或失败。创建自己的 API Key 只需几分钟,且完全免费。【重要提示:如果你的账号没有加入Google developer那么暂时无法使用自己的 client id】
如何创建自己的 Google API Client ID(推荐)#
- 前往 https://console.cloud.google.com/
- 创建新项目(或选择已有项目)
- 左侧菜单 → API 和服务 → 启用 API 和服务

- 搜索 Google Drive API,点击启用


- 左侧 → 凭据 → 创建凭据 → OAuth 客户端 ID
- 如果未配置同意屏幕,先按提示配置(选 External 类型,填入基本信息,将自己的邮箱添加为测试用户)

- 应用类型选 桌面应用(Desktop app)

如果创建失败了,刷新一下再试一次#
- 记录生成的 客户端 ID 和 客户端密钥
创建完成后,在 rclone 配置中填入这两个值。
如果暂时不想创建,直接按 Enter 跳过,使用 rclone 的公共 Key(性能较差)。
步骤 5:选择访问权限(Scope)#
scope> 1常用选项:
- 1 =
drive:完整读写权限(最常用) - 2 =
drive.readonly:只读权限(只需下载时选这个更安全)
步骤 6:跳过可选配置#
接下来几步(Root folder ID、Service Account、高级配置)直接按 Enter 跳过即可:
root_folder_id> ← 直接回车(使用 Drive 根目录)service_account_file> ← 直接回车Edit advanced config? ← 输入 n步骤 7:完成 OAuth 授权#
Use auto config?y) Yes (default - use this)n) No (for remote systems without a browser)y/n> y在 macOS 上选 y,浏览器会自动打开 Google 授权页面。
登录你的 Google 账号,点击允许 rclone 访问 Google Drive。(注意:此处要保证你的 terminal 有访问 Google 网站的能力)
授权成功后终端会显示类似:
Got codeConfigure this as a Shared Drive (Team Drive)?y) Yesn) No (default)y/n> n 个人 Drive 选 n,公司共享盘选 y。
步骤 8:确认并保存#
Keep this "gdrive" remote?y) Yes this is OK (default)...y/e/d> y输入 y 保存,然后输入 q 退出配置。
验证配置成功#
rclone ls gdrive: --max-depth 1如果能看到你 Google Drive 根目录的文件列表,说明配置成功。
四、大文件下载:核心命令详解#
4.1 下载单个文件#
rclone copy "gdrive:path/to/bigfile.zip" ~/Downloads/说明:
gdrive:是你配置的远端名称path/to/bigfile.zip是文件在 Google Drive 中的路径~/Downloads/是本地目标目录
4.2 查找文件路径#
不知道文件在哪?先列出目录:
# 列出根目录内容rclone ls gdrive: --max-depth 1 # 列出特定文件夹rclone lsd gdrive:我的文件夹/ # 搜索特定文件名rclone ls gdrive: --include "*.zip" # 查看文件大小(人类可读格式)rclone ls gdrive:大文件目录/ --human-readable4.3 用文件 ID 直接下载(最可靠)#
Google Drive 的文件路径在含中文或特殊字符时可能出问题,直接用文件 ID 是最稳妥的方式。
获取文件 ID:在 Google Drive 网页中打开文件,URL 中的长串字符就是文件 ID:
https://drive.google.com/file/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74ZgBlt2cEM/view ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 这就是文件 ID用文件 ID 下载:
rclone copy --drive-root-folder-id 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74ZgBlt2cEM \ gdrive: ~/Downloads/或者在配置时设置 root_folder_id 指向特定文件夹:
# 临时指定根目录rclone ls --drive-root-folder-id 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74ZgBlt2cEM gdrive:4.4 下载整个文件夹#
rclone copy gdrive:深度学习数据集/ ~/Downloads/datasets/rclone 会自动处理子目录,保持原有目录结构。
4.5 copy vs sync:重要区别#
| 命令 | 行为 | 适合场景 |
|---|---|---|
rclone copy | 只复制源有而目标没有的文件(或源更新的文件) | 下载、增量备份 |
rclone sync | 让目标与源完全一致(会删除目标中源没有的文件) | 镜像同步 ⚠️ |
rclone move | 复制后删除源文件 | 迁移 |
⚠️
sync很危险:它会删除目标中多余的文件。学习阶段始终加--dry-run(只预演,不实际操作)先检查操作结果。
五、高效下载的参数调优#
这是本教程最核心的部分,下面这些参数可以让下载速度提升数倍并确保稳定性。
完整的大文件下载命令(推荐模板)#
rclone copy "gdrive:大文件目录/dataset.zip" ~/Downloads/ \ --transfers 4 \ --checkers 8 \ --drive-chunk-size 256M \ --buffer-size 256M \ --progress \ --stats 5s \ --retries 10 \ --retries-sleep 5s \ --log-file ~/rclone-download.log \ --log-level INFO参数详解#
--transfers N(并发传输数)#
--transfers 4同时传输的文件数量,默认是 4。对于单个大文件,这个参数影响不大;对于批量下载大量小文件,增加到 8~16 可以显著提速。
注意:不是越大越好,过高会被 Google 限流。
--drive-chunk-size SIZE(分块大小,最重要)#
--drive-chunk-size 256Mrclone 把大文件切成小块分别下载,这个参数控制每块的大小。默认值只有 8M,对大文件来说太小了,会产生大量 API 请求。
推荐值:
- 一般大文件(1GB 以上):
128M或256M - 网络很稳定时:可以试
512M - 网络不稳定时:降到
64M,减少单次失败的重传量
--buffer-size SIZE(内存缓冲)#
--buffer-size 256M每个传输任务在内存中的缓冲大小,适当增大可以减少磁盘 I/O 等待,提升速度。默认 16M,建议改为 256M(内存充足时可到 512M)。
--bwlimit RATE(限速)#
--bwlimit 50M # 限速 50MB/s--bwlimit 10M:23:00,off:09:00 # 晚上11点到早上9点限速10MB/s,其余时间不限非常有用的功能,在不想占满带宽时使用。支持按时间段设置不同限速。
--progress(显示进度)#
实时显示下载进度、速度、剩余时间:
Transferred: 2.156 GiB / 18.500 GiB, 12%, 24.291 MiB/s, ETA 11m28sChecks: 0 / 0, -Transferred: 1 / 1, 100%Elapsed time: 1m31.8s--stats 5s(更新频率)#
设置进度信息的刷新间隔,5s 表示每 5 秒刷新一次。
--retries N 和 --retries-sleep DURATION(断点重试)#
--retries 10 # 失败后最多重试10次--retries-sleep 5s # 每次重试前等待5秒网络不稳定时非常重要。结合使用可以确保在网络抖动时自动恢复,不需要手动重新开始。
--log-file 和 --log-level(日志记录)#
--log-file ~/rclone-download.log--log-level INFO # 可选:DEBUG, INFO, NOTICE, ERROR下载大文件时记录日志,方便出问题时排查。
适合不同场景的预设命令#
场景 A:下载单个超大文件(20GB+),追求最快速度
rclone copy "gdrive:模型文件/llm_weights.bin" ~/Downloads/ \ --transfers 2 \ --drive-chunk-size 512M \ --buffer-size 512M \ --progress \ --stats 10s \ --retries 20 \ --retries-sleep 10s场景 B:批量下载大量小文件(图片数据集等)
rclone copy "gdrive:图片数据集/" ~/Downloads/dataset/ \ --transfers 16 \ --checkers 32 \ --drive-chunk-size 64M \ --buffer-size 128M \ --fast-list \ --progress--fast-list 会先把所有文件列表一次性加载到内存,然后批量下载,比逐一列举快很多。
场景 C:后台慢速下载,不影响日常使用
nohup rclone copy "gdrive:大文件夹/" ~/Downloads/output/ \ --bwlimit 5M \ --transfers 2 \ --drive-chunk-size 128M \ --retries 30 \ --retries-sleep 30s \ --log-file ~/rclone-bg.log \ --log-level INFO & echo "下载已在后台启动,PID: $!"nohup ... & 让任务在后台运行,关闭终端也不会中断。用 tail -f ~/rclone-bg.log 随时查看进度。
六、将 Google Drive 挂载为本地磁盘#
挂载功能让你可以用 Finder 直接浏览 Google Drive,就像操作本地文件夹一样,非常适合浏览和访问云端文件,但不适合频繁读写操作(每次访问都要走网络)。
前置:安装 macFUSE#
挂载功能需要 macFUSE(FUSE 文件系统支持):
brew install --cask macfuse安装后按照提示,前往 系统设置 → 隐私与安全性,允许 macFUSE 加载系统扩展,然后重启 Mac。
Apple Silicon(M 系列)用户额外步骤:需要进入恢复模式修改安全策略,允许加载第三方内核扩展:
- 关机后按住电源键进入恢复模式
- 选择安全策略 → 降低安全性
- 勾选"允许用户管理来自已认证开发者的内核扩展"
- 重启
基本挂载命令#
# 创建挂载点目录mkdir -p ~/mnt/gdrive # 挂载(前台运行,关闭终端就卸载)rclone mount gdrive: ~/mnt/gdrive # 挂载(后台运行,关闭终端不会卸载)rclone mount gdrive: ~/mnt/gdrive --daemon挂载成功后,在 Finder 中就能看到 gdrive 这个挂载卷。
推荐的挂载命令(优化读取性能)#
rclone mount gdrive: ~/mnt/gdrive \ --vfs-cache-mode full \ --vfs-cache-max-size 20G \ --vfs-cache-max-age 24h \ --dir-cache-time 1h \ --buffer-size 256M \ --drive-chunk-size 128M \ --daemon参数说明:
--vfs-cache-mode full:最完整的本地缓存模式,允许随机读写,大多数应用程序都能正常工作。没有这个选项,很多应用打开文件会失败。
--vfs-cache-max-size 20G:本地缓存占用的最大磁盘空间,根据你的磁盘空间调整。
--vfs-cache-max-age 24h:缓存文件最长保留时间,超过后会被清理。
--dir-cache-time 1h:目录列表的缓存时间,1小时内重复浏览同一目录不需要重新请求 API。
卸载#
# 方法一umount ~/mnt/gdrive # 方法二(如果上面失败)diskutil unmount ~/mnt/gdrive开机自动挂载(使用 launchd)#
在 macOS 上,让 rclone 开机自动挂载的正确方式是使用 launchd(macOS 的守护进程管理器)。
第一步:创建挂载脚本 ~/bin/mount-gdrive.sh:
mkdir -p ~/bin cat > ~/bin/mount-gdrive.sh << 'EOF'#!/bin/zsh# 确保挂载点存在mkdir -p ~/mnt/gdrive # 以后台守护进程方式挂载/usr/local/bin/rclone mount gdrive: ~/mnt/gdrive \ --vfs-cache-mode full \ --vfs-cache-max-size 20G \ --dir-cache-time 1h \ --buffer-size 256M \ --daemon \ --log-file ~/Library/Logs/rclone-mount.log \ --log-level INFOEOF chmod +x ~/bin/mount-gdrive.sh第二步:创建 launchd 配置文件 ~/Library/LaunchAgents/com.user.rclone-gdrive.plist:
cat > ~/Library/LaunchAgents/com.user.rclone-gdrive.plist << 'EOF'<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Label</key> <string>com.user.rclone-gdrive</string> <key>Program</key> <string>/Users/你的用户名/bin/mount-gdrive.sh</string> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string> </dict> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> <key>StandardOutPath</key> <string>/Users/你的用户名/Library/Logs/rclone-mount-out.log</string> <key>StandardErrorPath</key> <string>/Users/你的用户名/Library/Logs/rclone-mount-err.log</string></dict></plist>EOF⚠️ 把两处"你的用户名"替换成你实际的 macOS 用户名(用
echo $USER查看)。
第三步:加载并启动:
launchctl load ~/Library/LaunchAgents/com.user.rclone-gdrive.plistlaunchctl start com.user.rclone-gdrive之后每次开机登录时,Google Drive 会自动挂载到 ~/mnt/gdrive。
管理命令:
# 停止launchctl stop com.user.rclone-gdrive # 卸载(禁用开机启动)launchctl unload ~/Library/LaunchAgents/com.user.rclone-gdrive.plist # 查看状态launchctl list | grep rclone七、上传与同步#
上传单个文件或文件夹#
# 上传文件rclone copy ~/Documents/report.pdf gdrive:工作文档/ # 上传整个文件夹rclone copy ~/Projects/my-app/ gdrive:代码备份/my-app/ # 显示进度rclone copy ~/Downloads/dataset/ gdrive:数据集/ --progress增量同步(本地 → 云盘)#
# 先预演,看看会发生什么(强烈建议先执行这步)rclone sync ~/Documents/ gdrive:文档备份/ --dry-run --verbose # 确认无误后实际执行rclone sync ~/Documents/ gdrive:文档备份/ --progress定时自动备份(cron)#
用 cron 实现每天凌晨2点自动备份:
crontab -e添加以下行:
0 2 * * * /usr/local/bin/rclone sync ~/Documents/ gdrive:文档备份/ \ --bwlimit 20M \ --log-file ~/Library/Logs/rclone-backup.log \ --log-level INFO \ 2>&1云对云传输(零本地流量)#
把一个 Google Drive 账号的文件直接传到另一个账号,不经过本地网络:
# 先配置第二个账号,假设叫 gdrive2rclone copy gdrive:数据集/ gdrive2:数据集备份/ --progressrclone 会在 Google 的服务器端直接传输,你的本地网络几乎不消耗流量,速度极快。
八、常用命令速查#
文件浏览#
# 列出文件和大小rclone ls gdrive: # 只列出目录rclone lsd gdrive: # 列出文件(树形结构)rclone tree gdrive:文件夹/ # 查看总大小rclone size gdrive:文件夹/ # 搜索特定文件rclone ls gdrive: --include "*.mp4"rclone ls gdrive: --exclude "*.tmp"文件操作#
# 复制(不删除源文件)rclone copy gdrive:源/ ~/本地目标/ # 移动(复制后删除源)rclone move gdrive:源/ gdrive:目标/ --progress # 删除文件rclone delete gdrive:文件夹/old_file.txt # 删除文件夹(保留文件夹本身)rclone delete gdrive:空文件夹/ # 彻底删除文件夹(包括文件夹本身)rclone purge gdrive:废弃文件夹/ # 检查两边的差异(不实际操作)rclone check ~/本地/ gdrive:云端/实用参数#
--dry-run # 只预演,不实际执行(学习必备)--verbose / -v # 详细输出--progress / -P # 显示进度--fast-list # 加速文件列表(内存换速度)--ignore-existing # 跳过已存在的文件--update # 只更新源比目标新的文件--checksum # 用校验和比较(而不是修改时间)--human-readable / -H # 文件大小用 K/M/G 显示--max-depth N # 最大目录深度--include "pattern" # 只处理匹配的文件--exclude "pattern" # 排除匹配的文件九、实用进阶技巧#
9.1 查看和监控传输进度#
对于长时间的后台任务,用以下命令实时查看日志:
# 实时查看日志tail -f ~/rclone-download.log # 查看当前 rclone 进程ps aux | grep rclone # 查看 rclone 占用的网络带宽(需要安装 nettop)nettop -p $(pgrep rclone)9.2 排除特定文件类型#
# 下载时排除缓存文件和系统文件rclone copy gdrive:项目/ ~/Downloads/项目/ \ --exclude "*.tmp" \ --exclude ".DS_Store" \ --exclude "__pycache__/**" \ --exclude ".git/**"可以把排除规则写成文件:
# 创建排除规则文件 ~/.rclone-exclude.txtecho "*.tmp" > ~/.rclone-exclude.txtecho ".DS_Store" >> ~/.rclone-exclude.txtecho "__pycache__/**" >> ~/.rclone-exclude.txt # 使用排除文件rclone copy gdrive:项目/ ~/Downloads/ --exclude-from ~/.rclone-exclude.txt9.3 动态控制传输速度#
对于正在运行的 rclone 任务,可以发送信号动态调整限速(无需重启任务):
# 暂停限速(设为无限速)kill -SIGUSR2 $(pgrep rclone) # 再次发送恢复限速(恢复到 --bwlimit 设定的值)kill -SIGUSR2 $(pgrep rclone)这在白天需要用带宽、晚上想全速跑的场景下非常方便。
9.4 断点续传的正确姿势#
rclone 的 copy 命令本身就支持断点续传:重新运行相同命令,它会自动跳过已经完成的文件,只下载未完成的部分。
注意:已经下载一半的文件不会被续传,rclone 会重新下载这个文件。真正的"块级续传"需要使用
--use-server-modtime和--drive-chunk-size配合,但 Google Drive API 本身对此有限制。
实用建议:将大文件拆分成多个小文件(用 split 命令),然后批量下载,每个文件失败了只需重下那一个。
9.5 rclone rc:运行时控制接口#
启动 rclone 时加上 --rc 参数,可以通过 HTTP API 在运行时控制它:
rclone copy gdrive:大文件夹/ ~/Downloads/ \ --rc \ --rc-addr :5572 \ --progress & # 查看当前传输状态rclone rc core/stats # 动态修改限速rclone rc core/bwlimit rate=10M # 停止所有传输rclone rc core/stop十、常见问题排查#
问题一:速度慢,只有几 MB/s#
原因:使用了 rclone 的公共 API Key,被 Google 限速。
解决:按照第三节的步骤,创建自己的 Google API Client ID,并在配置远端时填入。
另外检查:
# 测试实际下载速度rclone copyto gdrive:某个大文件.zip /dev/null --progress问题二:下载中途报错 rateLimitExceeded#
googleapi: Error 429: Rate Limit ExceededGoogle Drive API 有每日下载配额。解决方法:
# 添加重试和等待参数rclone copy gdrive:文件/ ~/Downloads/ \ --retries 20 \ --retries-sleep 30s \ --tpslimit 10 # 每秒最多10个 API 请求问题三:挂载后 Finder 打开文件很慢#
正常现象,因为每次访问都要从网络加载。优化方法:
# 增大目录缓存和开启完整 VFS 缓存rclone mount gdrive: ~/mnt/gdrive \ --vfs-cache-mode full \ --vfs-cache-max-size 30G \ --dir-cache-time 6h \ --poll-interval 30s问题四:mount 命令报错 cannot find FUSE#
macFUSE 没有正确安装,或者没有在系统设置中允许加载。
# 检查 macFUSE 是否安装brew list --cask | grep macfuse # 重新安装brew reinstall --cask macfuse然后前往系统设置 → 隐私与安全性,找到 macFUSE 相关的提示,点击"允许",然后重启 Mac。
问题五:Homebrew 安装的 rclone 不支持 mount#
Homebrew 版本确实不包含 mount 功能。解决方法:
# 卸载 Homebrew 版本brew uninstall rclone # 安装官方完整版本sudo -v ; curl https://rclone.org/install.sh | sudo bash问题六:中文路径乱码或找不到文件#
macOS 使用 NFD(分解形式)Unicode,而 Google Drive 使用 NFC(合成形式),可能导致中文文件名不匹配。
# 使用 --local-encoding 参数rclone ls gdrive:中文文件夹 --local-encoding NFC或者先用 rclone ls 列出文件的完整路径,复制粘贴使用,避免手动输入中文路径。
附录:常用命令一览#
# === 配置 ===rclone config # 配置向导rclone config show # 查看当前配置rclone listremotes # 列出所有远端 # === 浏览 ===rclone ls gdrive: # 列出所有文件rclone lsd gdrive: # 只列目录rclone size gdrive:文件夹/ # 查看大小rclone tree gdrive:文件夹/ --max-depth 3 # 树形展示 # === 下载 ===rclone copy "gdrive:文件.zip" ~/Downloads/ # 下载rclone copy gdrive:文件夹/ ~/本地/ --progress --transfers 4 --drive-chunk-size 256M # === 上传/同步 ===rclone copy ~/本地/ gdrive:备份/ # 上传rclone sync ~/本地/ gdrive:备份/ --dry-run # 预演同步 # === 挂载 ===rclone mount gdrive: ~/mnt/gdrive --vfs-cache-mode full --daemonumount ~/mnt/gdrive # 卸载 # === 管理 ===rclone delete gdrive:文件.txt # 删除文件rclone purge gdrive:废弃文件夹/ # 删除文件夹rclone check ~/本地/ gdrive:云端/ # 校验两端是否一致官方文档:https://rclone.org/docs/
Google Drive 专项文档:https://rclone.org/drive/
社区论坛:https://forum.rclone.org/