返回博客
指南云存储功能

如何在 Snapzy 中配置云存储

Snapzy Team
如何在 Snapzy 中配置云存储

如何在 Snapzy 中配置云存储 ☁️

Snapzy 的云存储功能让你可以自动将截图上传到你自己的云存储桶,并瞬间将可分享的链接复制到剪贴板。无需第三方图床 —— 你的数据由你掌控。

本指南将带你完成配置 AWS S3Cloudflare R2 作为云提供商的完整流程。

Snapzy 云上传工作原理

前置条件

开始之前,请确保你已准备好:

  • Snapzy v1.4.0+ 已安装在你的 Mac 上
  • 一个 AWS 账户(用于 S3)或 Cloudflare 账户(用于 R2)
  • 一个已创建并开启公开读取权限的存储桶(或自定义域名),以便上传的文件可以通过 URL 访问

选项 A:AWS S3 配置

第一步 —— 创建 S3 存储桶

  1. 登录 AWS 管理控制台
  2. 点击 创建存储桶
  3. 输入存储桶名称(例如:my-snapzy-uploads
  4. 选择区域(例如:us-east-1
  5. 取消勾选 "阻止所有公开访问" —— 可分享链接需要公开读取权限
  6. 点击 创建存储桶

提示: 如果你不想让整个存储桶公开,可以使用 CloudFront 分发 或带自定义域名的签名 URL。

第二步 —— 设置存储桶策略

添加以下存储桶策略,允许 snapzy/ 前缀下的公开读取访问:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadSnapzy",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/snapzy/*"
    }
  ]
}

YOUR_BUCKET_NAME 替换为你的实际存储桶名称。

第三步 —— 创建 IAM 凭证

  1. 前往 IAM 控制台
  2. 创建一个新的 IAM 用户或使用现有用户
  3. 附加包含以下权限的策略:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:GetBucketLifecycleConfiguration",
        "s3:PutBucketLifecycleConfiguration",
        "s3:DeleteBucketLifecycleConfiguration",
        "s3:HeadBucket"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR_BUCKET_NAME",
        "arn:aws:s3:::YOUR_BUCKET_NAME/*"
      ]
    }
  ]
}
  1. 生成 Access Key IDSecret Access Key —— 请妥善保存

第四步 —— 在 Snapzy 中配置

打开 Snapzy → 偏好设置云存储 标签页,填写表单:

Snapzy 中的 AWS S3 配置

字段
提供商AWS S3
Access Key ID你的 IAM 访问密钥
Secret Access Key你的 IAM 密钥
Bucket Name你的 S3 存储桶名称
Region你选择的区域(例如 us-east-1
Endpoint标准 S3 留空(或输入 S3 兼容服务的自定义端点)
Custom Domain(可选) 你的 CloudFront 或自定义域名

点击 保存并测试 —— Snapzy 会验证你的凭证并设置自动过期的生命周期规则。


选项 B:Cloudflare R2 配置

第一步 —— 创建 R2 存储桶

  1. 登录 Cloudflare 仪表板
  2. 在侧边栏中进入 R2 对象存储
  3. 点击 创建存储桶
  4. 输入存储桶名称(例如:snapzy-uploads
  5. 点击 创建存储桶

第二步 —— 开启公开访问

要让上传的文件可以通过 URL 访问,你需要设置以下之一:

  • R2.dev 子域名 —— 在存储桶设置中,开启 r2.dev 公开 URL(快速简便)
  • 自定义域名 —— 在 设置 → 公开访问 → 自定义域名 下连接你自己的域名

注意: 生产环境建议使用自定义域名。r2.dev 子域名有速率限制。

第三步 —— 生成 API 令牌

  1. 在 Cloudflare 仪表板中,前往 R2 对象存储 → 概览
  2. 点击 管理 R2 API 令牌
  3. 点击 创建 API 令牌
  4. 将权限设置为对你存储桶的 对象读取与写入
  5. 复制 Access Key IDSecret Access Key
  6. 记下你的 Account ID —— 端点 URL 需要用到

你的 R2 端点格式为:

https://<ACCOUNT_ID>.r2.cloudflarestorage.com

第四步 —— 在 Snapzy 中配置

打开 Snapzy → 偏好设置云存储 标签页,填写表单:

Snapzy 中的 Cloudflare R2 配置

字段
提供商Cloudflare R2
Access Key ID你的 R2 API 令牌访问密钥
Secret Access Key你的 R2 API 令牌密钥
Bucket Name你的 R2 存储桶名称
Endpointhttps://<ACCOUNT_ID>.r2.cloudflarestorage.com
Custom Domain你的公开访问域名(例如 cdn.example.com

点击 保存并测试 —— Snapzy 会验证连接并配置生命周期规则。


配置文件过期时间

Snapzy 支持使用 S3/R2 生命周期规则自动过期文件。你可以选择:

时长说明
1 天24 小时后自动删除
3 天适合临时分享
7 天默认 —— 平衡保留期
14 天两周保留期
30 天一个月保留期
60 / 90 天延长保留期
永久文件持续保留,直到手动删除

重要: 更改过期设置后,Snapzy 会自动更新你存储桶上的生命周期规则。云提供商可能在过期时间段结束后需要最多 24 小时来处理删除。


这篇指南花费了数小时撰写

如果它帮你省去了翻阅 AWS 文档或调试存储桶策略的麻烦,一点点赞助将帮助我们继续创作这样的详细指南。


开启自动上传

配置好云存储后,开启自动上传:

  1. 打开 偏好设置截图后
  2. 在截图列下开启 上传到云端

开启上传到云后的截图设置

现在,每当你截图时,Snapzy 会:

  1. ✅ 上传到你的云存储桶
  2. 📋 将公开链接复制到剪贴板
  3. 🔗 在快速访问卡片中显示链接

你也可以从快速访问卡片或标注编辑器中手动上传。


上传历史

要打开云上传窗口:

  1. 点击菜单栏中的 Snapzy 图标
  2. 选择 云上传(快捷键:⌘⇧L

你也可以在 偏好设置 → 快捷键 中为该操作配置自定义快捷键。

云上传窗口让你全面概览所有已上传的内容。你可以使用工具栏中的切换按钮在列表视图网格视图之间切换。窗口还包含:

  • 搜索 —— 按文件名或 URL 查找上传内容
  • 筛选 —— 按状态(有效/已过期)、提供商、过期时间或排序方式筛选
  • 复制链接 —— 将鼠标悬停在任意上传内容上,点击复制图标即可获取公开 URL
  • 在浏览器中打开 —— 直接在 Safari 中预览任意上传内容
  • 删除 —— 从云存储中删除单个文件,或批量删除所有内容
  • 统计 —— 一眼查看上传总数

保护你的凭证安全

Snapzy 将你的云凭证存储在 macOS 钥匙串中(而非明文)。为了额外的安全性,你可以设置保护密码

  • 首次配置云存储时,系统会提示你设置密码
  • 查看或编辑云凭证时需要输入该密码
  • 如果忘记密码,你可以重置整个配置

如果你的 Mac 与他人共用,我们强烈建议设置保护密码。


参考文档

AWS S3

Cloudflare R2


需要帮助?在 GitHub 上 提交 Issue —— 我们很乐意帮忙!🙌

支持项目

Snapzy 免费开源。如果您觉得它有用,请考虑赞助,以帮助保持开发活力并让每个人都能使用。