feat(nip96): native HTTP media storage pipeline
维护者通常 1 天内回复
@Ferryx349 已经在做这个了。
开始于 2026年8月5日。
评估
这个 Issue 还没有评估数据。
描述
Context & Problem
Nostream relies heavily on fragmented, third-party media servers. Nostream currently acts purely as an event pipeline. Providing a native, integrated media server allows relay operators to offer a complete ecosystem to their users without relying on external services.
Proposed Solution
Build a NIP-96 compliant HTTP upload pipeline directly into Nostream.
Scope
- Auth Integration: Will seamlessly integrate with Nostream's NIP-98 authentication middleware to verify
POSTsignatures. - Storage Abstraction Layer: Will architect an interface with implementations for Local File System and AWS S3 / Cloudflare R2.
- Ingestion Pipeline: Will use a stream-based parser to handle multipart form data uploads, generate SHA-256 hashes, and enforce mime-type and size limits.
- Response Formatting: will return the standardized NIP-96 JSON response containing the download URL and metadata.
NIPs Involved: NIP-96, NIP-98
- 主要语言
- TypeScript
- 星标
- 829
- 派生
- 234
- 平均合并
- 4 天 5 小时
- 30 天内合并 PR
- 22
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cameri/nostream 的其他 Issue
-
validateSettings() doesn't validate rateLimits[].period — zero period silently degrades to a 1ms backoff hint可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
feat(nip77): negentropy reconciliation core for the PostgreSQL backend可能已有人在做 @Priyanshubhartistm 于 2 天前认领。 未关闭enhancement
cameri/nostream#801 · 已指派 1 人 ·
维护者通常 1 天内回复
-
feat(admin): bounded NIP-66 probe history and Network Health timeline可能已有人在做 @Ferryx349 于 3 天前认领。 未关闭Admin Console enhancement
cameri/nostream#800 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Store relay settings overrides in PostgreSQL (SETTINGS_BACKEND=db)可能已有人在做 @Ferryx349 于 36 天前认领。 未关闭enhancement
cameri/nostream#757 · 已指派 1 人 ·
维护者通常 1 天内回复
相似的 Issue
-
Table: Space fires onActivate in single-selection mode — the reference doc and the JSDoc disagree未关闭
难度 2/5 1-3 小时 新手友好度 68/100
sidorares/react-x11-components#764 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
backnotprop/plannotator#1840 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
JoviDeCroock/pracht#432 ·
维护者通常 1 天内回复
-
approved check:passed streams:add
难度 1/5 1 小时以内 新手友好度 75/100
维护者通常 1 天内回复
-
Hardware attribute name "app Connection Support" has inconsistent casing可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 1/5 1 小时以内 新手友好度 88/100
walletbeat/walletbeat#1628 ·
维护者通常 1 天内回复