以下是ChatGPT对此问题的回答,【问题:Void.cat files.sovbit.host nostr.download can.satellite.earth nostr.build pomf2.lain.la nostrcheck.me NIP-95 NIP-96这几个图床是什么性质的图床?请详细解说.】
以下是对这几类 Nostr 生态中的“图床”及相关 NIP(Nostr Implementation Possibilities,Nostr 改进提案)的概述和分类说明。
⸻
一、各图床服务性质
1. void.cat
• 定位:专注于 Nostr 的媒体(图片/视频)即时托管服务。
• 使用方式:直接向 https://void.cat/upload?cli=true 发送 POST 请求,需在请求头中带上 V-Content-Type(MIME 类型)和 V-Filename(文件名)两个字段,Body 填入文件字节流,服务端返回一个可直接访问的 URL。
• 特色:无需注册即可使用,接口简单;既可与 Nostr 客户端集成,也可作为后备方案(失败时退而使用 nostr.build) 。
2. files.sovbit.host
• 定位:一个全面的 NIP‑96(HTTP 文件存储集成)兼容文件托管平台。
• API 模块:
• /media(GET/POST/PUT/DELETE):文件上传、下载、标签管理等。
• /verify、/nostraddress、/lightningaddress 等:支持 NIP‑05 域名验证、闪电网络重定向。
• 特点:
• 支持用户注册与登录,可管理已上传文件。
• 支持按 NIP‑96 规范的 /.well‑known/nostr/nip96.json 发现与集成。
• 提供 CDN 加速、缓存策略(一年缓存)等 。
3. nostr.download
• 定位:同属 NIP‑96 生态的 HTTP 文件存储服务(常见于 Nostr 客户端的上传目标列表中)。
• 使用方式:与 files.sovbit.host 类似,客户端可在 /.well‑known/nostr/nip96.json 中发现其 api_url,按标准 REST API 接口上传与下载。
• 备注:具体是否需要 API key 或支持计划,可通过其 NIP‑96 描述文件查询,但总体上与其它 NIP‑96 服务兼容。
4. cdn.satellite.earth(can.satellite.earth)
• 定位:面向 Nostr 生态的大文件(最高 5 GB)托管平台,采用「Blossom」协议(也称 BUD,Blossom Upload/Download spec,与 NIP‑94、NIP‑96 关联)。
• 特点:
• 支持一次性大文件上传、闪电支付存储费(以 sats 购买空间)。
• 内置 NIP‑94 的审查抵抗(relay hints)与多节点冗余。
• 开发者友好的 RESTful 接口,并提供文档。
• 引用:CDN.SATELLITE.EARTH. SCALABLE MEDIA HOSTING FOR THE NOSTR ECOSYSTEM… Integrated NIP-94 censorship resistance 。
5. nostr.build
• 定位:最知名的 Nostr 媒体上传平台,既可手动使用网页上传,也可通过 NIP‑94/BUD-05 客户端集成上传。
• 使用方式:
1. 网页端:https://nostr.build/%EF%BC%8C%E9%80%89%E6%8B%A9%E6%96%87%E4%BB%B6%E5%90%8E%E8%87%AA%E5%8A%A8%E8%BF%94%E5%9B%9E%E5%8F%AF%E8%B4%B4%E5%85%A5 Note 的 URL。
2. API 集成:公开的 /api/upload/ios.php(兼容 HTTP 表单提交)或基于 Blossom/BUD-05 的 PUT /media 接口。
• 特色:
• 默认免费账户上传限制 5 MB,可付费解锁更大容量。
• 自动去除 EXIF 等元数据,提供头像剪裁、GIF、视频、音频等多种格式。
• 开源实现可自托管(见 nostrbuild/nostr.build 仓库)  。
6. pomf2.lain.la
• 定位:通用的「Pomf」克隆服务,专注于高流量直链文件托管(不限流量,单文件最大 1 GB)。
• 使用方式:网页界面上传或简单的 curl -T file https://pomf2.lain.la/upload.php API 调用。
• 特点:
• 不限流量、永久保存(除非滥用)。
• 界面简洁、操作一键式。
• 并非专门为 Nostr 设计,不兼容 NIP‑94/NIP‑96,仅提供 HTTP 文件直链(通用图床) 。
7. nostrcheck.me
• 定位:综合性 Nostr 服务平台,包含免费 NIP‑05 验证、NIP‑94/NIP‑96 媒体托管、闪电网络重定向、私有中继等。
• 使用方式:注册后可选择多个二级域名上传头像/横幅/图片/视频,上传后的 URL 可直接在 Note 中预览。
• 特点:
• 免费提供 NIP‑05 名称验证,并在个人资料中展示「已验证」徽章。
• 公私图库、目录浏览功能。
• 开源后端支持自托管(quentintaranpino/nostrcheck-server)。
• 支持 NIP‑94、NIP‑96、Blossom(BUD-05)等多种标准  。
⸻
二、NIP‑95 与 NIP‑96 简要说明
NIP‑96:HTTP 文件存储集成
• 目标:定义一套简单的 REST API,使得 Nostr 客户端能透明地上传、下载、删除或列出文件,而无需通过 WebSocket 或事件承载数据。
• 规范要点(摘编):
{
"api_url": "https://
/", // 必需:上传/下载/删除接口
"download_url": "https://cdn./", // 可选:如果存在则用于下载
"supported_nips": [94], // 可选:列举支持的 NIP
"content_types": ["image/jpeg","video/mp4"], // 可选:支持的 MIME 类型
"plans": { "free": {"name":"Free Tier"} } // 可选:可用套餐
}
• 典型实现:nostr.build、files.sovbit.host、nostr.download 等服务均通过在 /.well‑known/nostr/nip96.json 中公开上述字段,实现客户端自动发现与接入 。
NIP‑95:Storage and Shared File
• 目标:允许用户直接将二进制数据(小片段或大文件)存储到 Nostr 中继,通过事件方式广播,然后由其他客户端拉取并重组。
• 核心思路:
1. 在事件(通常是新的 Kind)中携带 Base64 编码的文件分块。
2. 使用标签(如 c)分片描述每块数据的顺序和哈希。
3. 通过 NIP‑19(nfile 前缀的 Bech32 实体)在后续 Note 中引用该文件事件。
4. 接收方客户端检索所有分片,按序重组并解码,恢复原始文件。
• 状态:草案(draft)、可选(optional),作者:frbitten。旨在与 Nostr 的简易事件流无缝结合,提供点对点文件共享能力 。
⸻
小结
• NIP‑94(文件元数据)与 Blossom(BUD‑05)多用于“事件中携带文件指针和元信息”,依赖 Nostr Relay 承载少量元数据;
• NIP‑95 侧重“事件内承载实际二进制数据”,适合点对点或私有文件交换;
• NIP‑96 则回归 HTTP 传统,通过 /.well‑known/nostr/nip96.json 发现和接入外部文件存储服务,实现更高效的大文件托管。
在 Nostr 客户端生态中,以上提案与各类托管服务互为补充,开发者可根据场景选择最合适的集成方案。