WP Manifestindependent plugin directory
manifest / media / nostr-media

Nostr Media Uploads

Nostr Media Uploads for WordPress

★ 19stars
93release downloads
0.17latest · 11d ago

Install

Download nostr-media.zip From the 0.17 release on GitHub, Oct 23, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/fabianfabian/nostr-media/releases/download/0.17/nostr-media.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Nostr Media Uploads for WordPress

Host images and media you post from your nostr client in your own WordPress installation using this plug-in.

Features

  • Upload media using HTTP Auth (NIP-98) and HTTP File Storage Integration (NIP-96)
  • Upload media using Blossom (BUD-05) - ('PUT /media')
  • Download media using Blossom (BUD-01) - (GET /sha256 and HEAD /sha256)
  • Mirror file from other server (BUD-04) - (PUT /mirror)
  • Delete file using Blossom (BUD-02) - (DELETE /sha256)
  • Keeps original image and generates a scaled version
  • Media will also be available in your WordPress back-end on the Media page.

Requirements

  • PHP 7.4 or higher, with xml and gmp extensions
  • Mininum WordPress version unknown, tested with 6.3.2

Installation

(Tutorial video here: https://nostur.com/v/nostr-media.mp4)

  1. In WordPress go to Plugins -> Add New -> Upload Plugin -> Choose nostr-media.zip -> Install Now -> Activate Plugin
  2. Go to Users -> Edit -> Nostr Media -> Public key (npub) -> Enter your npub here, this npub/user will be allowed to upload files to this WordPress installation. Click Update Profile to save.

Configuring a NIP-96 compatible Nostr Client

  • Enter the URL of your WordPress installation as the File Storage Server address, eg: https://your-website.com
  • Happy uploading!

Troubleshooting

  • Make sure your WordPress installation allows large uploads, and increase the time allowed for uploads, you can put this in your .htaccess

    php_value upload_max_filesize 128M
    php_value post_max_size 128M
    php_value max_input_time 300
  • To make sure nostr web clients don't have problems downloading your media, add this to your .htaccess to fix CORS issues

    <IfModule mod_headers.c>
      Header always set Access-Control-Allow-Origin "*"
      Header always set Access-Control-Allow-Methods "GET, POST, PUT, OPTIONS, HEAD, DELETE"
      Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Accept, Origin, Authorization, X-Content-Type, X-Content-Length, X-SHA-256"
    </IfModule>

Development

  1. git clone this repository
  2. run composer install
  3. Copy entire folder to your WordPress plugins directory

Releases

16 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
0.17 latest
Oct 23, 2026 11d ago
nostr-media.zip
2
Jul 28, 2025 1 year ago
nostr-media.zip
17
May 13, 2025 1 year ago
nostr-media.zip
4
May 10, 2025 1 year ago
nostr-media.zip
6
May 8, 2025 1 year ago
nostr-media.zip
1
Jan 18, 2025 1 year ago
nostr-media.zip
3
Jun 21, 2024 2 years ago
nostr-media.zip
9
Jun 19, 2024 2 years ago
nostr-media.zip
5
Feb 24, 2024 2 years ago
nostr-media.zip
5
Oct 29, 2023 3 years ago
nostr-media.zip
6
Oct 28, 2023 3 years ago
nostr-media.zip
6
Oct 26, 2023 3 years ago
nostr-media.zip
6
Oct 25, 2023 3 years ago
nostr-media.zip
5
Oct 24, 2023 3 years ago
nostr-media.zip
9
Oct 24, 2023 3 years ago
nostr-media.zip
5
Oct 24, 2023 3 years ago
nostr-media.zip
4