尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Snapzy云端上传设置指南:如何用S3和R2实现私有截图分享链接(附生命周期配置)

Snapzy云端上传设置指南:如何用S3和R2实现私有截图分享链接(附生命周期配置) Snapzy云端上传设置指南如何用S3和R2实现私有截图分享链接附生命周期配置【免费下载链接】SnapzyAn open-source native macOS screenshot and screen recording app. A CleanShot X alternative.项目地址: https://gitcode.com/gh_mirrors/sn/SnapzySnapzy 是一款开源的原生 macOS 截图与屏幕录制工具它的云端上传功能允许你把截图直接传到自己的S3 或 Cloudflare R2 存储桶并自动生成一个带自动过期时间的分享链接——无需经过任何第三方服务器。本指南带你完成 Snapzy 云端上传的完整配置从创建存储桶、填写密钥到理解 S3/R2 生命周期规则如何让链接到期自动删除全程约 10 分钟。一、为什么选择 S3 / R2 做私有截图分享传统截图分享要么依赖聊天软件要么上传到不确定的图床。而 Snapzy 的云端上传走的是BYOSBring Your Own Storage模式私有可控文件从 Mac 直传你的存储桶Snapzy 不托管任何数据自动过期通过 S3/R2 生命周期规则链接到期后文件被存储桶自动删除成本透明设置页内置用量统计与费用估算R2 每 GB $0.015 含 10 GB 免费额度S3 每 GB $0.023 含 5 GB 免费额度大文件友好超过 50 MB 的文件如屏幕录像自动切换分片上传配置与上传的完整架构可以阅读官方文档 docs/CLOUD.md所有云端逻辑位于 Snapzy/Services/Cloud/ 目录。二、准备你的存储桶S3 与 R2 的差异Snapzy 对两家存储服务的字段要求略有不同配置前先在各自控制台建好桶配置项AWS S3Cloudflare R2桶Bucket必填必填Region必填默认us-east-1自动固定为auto无需填写Endpoint可选留空使用官方地址必填填账户专属域名自定义域名可选用于生成更短分享链接可选几个值得注意的细节见 Snapzy/Services/Cloud/S3CloudProvider.swift 与 Snapzy/Services/Cloud/R2CloudProvider.swiftR2 是 S3 的薄封装R2 提供商内部直接复用 S3 上传通道只是强制region auto并使用你的账户 endpoint所有文件统一存放在snapzy/前缀下对象键格式为snapzy/时间戳-短UUID-文件名.扩展名不会覆盖你桶里的其他文件桶需要允许公开读取生成的分享链接是持有即可访问的 bearer 链接——这正是私有的含义链接不可被枚举但拿到链接的人就能打开三、Snapzy 中三步完成云端配置打开偏好设置 → Cloud界面源码PreferencesCloudSettingsView.swift选择服务商在 Provider 下拉框中选择 AWS S3 或 Cloudflare R2填写凭据与存储信息Access Key ID / Secret Access Key来自各家控制台的 API 密钥对Bucket 名称S3 填 RegionR2 填 Endpoint可选Custom Domain用你自己的域名生成分享链接选择过期时间并保存可选 1 / 3 / 7 / 14 / 30 / 60 / 90 天或永久默认 7 天 点击Save Test时Snapzy 会先用 SigV4 签名发一次 HEAD 请求验证凭据S3CloudProvider.validate()通过后才落盘。密钥不会写入普通配置文件而是存入 macOS 钥匙串com.trongduong.snapzy.cloud之后编辑/导入/导出都可以加一层保护密码。生命周期配置在做什么当你选择非永久过期时间Snapzy 会自动在存储桶上写入一条生命周期规则规则 IDsnapzy-auto-expire 匹配前缀snapzy/ 动作N 天后过期删除这段逻辑在 S3CloudProvider.setExpiration 中它会先读取桶上已有的生命周期规则用极简 XML 解析器 LifecycleXMLParser.swift 逐条提取只替换 Snapzy 自己那条规则再整体写回——所以不会破坏你桶里原有的其他生命周期策略。反之若选择永久设置页会给出橙色警告Snapzy 会移除该规则已上传文件将一直保留需要你手动清理。过期选项定义在 CloudConfiguration.swift。四、上传与分享链接从哪来、花多少钱配置完成后上传入口有 4 个均仅在已配置云端时显示Quick Access 卡片点击上传到云按钮标注编辑器底栏按钮或⌘U再次保存/复制时会上传新版本并在后台删除旧对象视频编辑器底栏按钮已有链接时变为重新上传走覆盖路径历史窗口右键菜单直接上传上传成功后会生成分享链接。按⇧⌘L可打开Cloud Uploads历史面板浏览、搜索、复制链接、删除云对象或按删除云端并清空 / 仅清空历史批量清理。面板位置偏好可随窗口拖拽记忆上传记录持久化在本地数据库snapzy.db中。Snapzy 云端上传私有截图分享抽象蓝色桌面壁纸示意五、不想花钱用 Docker 免费本地演练仓库自带一套本地对象存储环境用 LocalStack模拟 S3和 MinIO模拟 R2做端到端测试定义在 docker-compose.local-object-storage.ymlsnapzy-local-aws-s3LocalStack S3默认端口 4566桶名snapzy-s3-local凭据test/testsnapzy-local-cloudflare-r2MinIO 模拟 R2默认端口 9000凭据minioadmin/minioadmin123自动引导任务会建好桶并设为公开读取bootstrap-minio-r2.sh之后把 Snapzy 的 Endpoint 指向http://127.0.0.1:9000即可完整走一遍上传 生命周期流程这是新手零成本验证 S3/R2 配置是否正确的最佳方式相关脚本目录scripts/local-object-storage/。六、小结Snapzy 云端上传 自己的桶 自动过期链接数据不经第三方S3 填 Region、R2 填 Endpointregion 自动为auto过期时间1~90 天直接映射为存储桶上的snapzy-auto-expire生命周期规则只改 Snapzy 自己的规则密钥存钥匙串Save Test先验证后保存.snapzycloud加密档案可在多台 Mac 间迁移配置本地免费演练环境一键可用适合上手前验证更多细节凭据迁移、Google Drive 方案、安全边界详见 docs/CLOUD.md 与 docs/PREFERENCES.md。【免费下载链接】SnapzyAn open-source native macOS screenshot and screen recording app. A CleanShot X alternative.项目地址: https://gitcode.com/gh_mirrors/sn/Snapzy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表