约 5 分钟
如何在 Aktar 中使用 Cloudflare R2
Cloudflare R2 与 Aktar 非常搭配:没有出站流量费,免费额度足以覆盖大多数截图用途,还能通过 Cloudflare 网络为自定义域名提供服务。Aktar 内置了专门的 R2 预设,你只需要 Account ID、一个 API 令牌和一个存储桶。
准备工作
- 已启用 R2 的 Cloudflare 账号
- 如果希望链接使用自己的域名,需要一个托管在 Cloudflare 上的域名(可选)
- 已在 Mac 上安装 Aktar
操作步骤
- 1
创建存储桶
在 Cloudflare 控制台中打开 R2 Object Storage,点击 Create bucket。取一个简短的名称,例如
screenshots,位置保持自动即可。 - 2
为存储桶设置公开地址
打开存储桶的 Settings。在 Custom Domains 下,绑定一个你在 Cloudflare 上管理的域名或子域名,例如
files.example.com。这是正式使用的最佳选择。如果只是快速测试,也可以启用 Public Development URL(
pub-….r2.dev)。Cloudflare 会对该 URL 限速,不建议在生产环境中使用。 - 3
创建 API 令牌
回到 R2 概览页面,打开 Manage API tokens,创建一个具有 Object Read & Write 权限且仅限于你的存储桶的令牌。复制 Access Key ID 和 Secret Access Key:密钥只会显示一次。
你的 Account ID 也显示在同一页面,它同时也是 S3 端点
https://<ACCOUNT_ID>.r2.cloudflarestorage.com的第一部分。 - 4
在 Aktar 中添加上传目标
打开 Aktar 的 Settings → Destinations → Add Destination,选择 Cloudflare R2,按下表填写各字段。Aktar 会根据你的 Account ID 自动生成端点。
- 5
测试并保存
点击 Test Connection。Aktar 会上传一个很小的测试文件,检查能否通过你的公开地址访问,然后将其删除。全部通过后,点击 Save,把第一个文件拖到菜单栏图标上试试吧。
Aktar 中的设置
在 Settings → Destinations → Add Destination 中填写以下值。字段名称与应用内保持一致。
| 字段 | 示例值 |
|---|---|
| Provider | Cloudflare R2 |
| Profile Name | Personal任意名称均可。 |
| Account ID | 3f9a71c0e2b8…在 R2 概览页面中查看。 |
| Region | auto保持默认值。 |
| Access Key ID | a1b2c3d4…来自 R2 API 令牌。 |
| Secret Access Key | ••••••••保存在 macOS 钥匙串中。 |
| Bucket | screenshots |
| Public Base URL | files.example.com你的自定义域名或 r2.dev URL。 |
| Object Path | {year}/{month}/{uuid}.{ext}可选,参见文件名和目录。 |
小技巧
- 将 API 令牌限制在 Aktar 使用的那一个存储桶上。即使令牌泄露,也不会暴露其他资源。
- 自定义域名会经过 Cloudflare 缓存,热门链接在全球都能快速加载,且不产生额外费用。
- 想让目录更整齐?修改对象路径即可,例如改为
shots/{date}/{filename}-{random}.{ext}。参见文件名和目录。
故障排查
链接返回 Access Denied 或 403
确认 Public Base URL 是你的自定义域名或 r2.dev URL。…r2.cloudflarestorage.com 端点仅用于 API,永远不会公开提供文件。详见 Access Denied 错误。
Test Connection 提示凭证无效
请使用 R2 API 令牌中的 Access Key ID 和 Secret Access Key,而不是普通的 Cloudflare API 令牌或 Global API Key。同时检查 Account ID 中是否有多余的空格。
上传正常,但链接加载慢或被限速
你很可能在使用 r2.dev 开发 URL。正式使用请绑定自定义域名。
仍然遇到问题?浏览常见问题,或在 GitHub 上提问。