Skip to content

feat(nip96): native HTTP media storage pipeline #719

Description

@Ferryx349

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 POST signatures.
  • 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions