Neutrope Protected Audio Player

Description

Neutrope Protected Audio Player lets you publish MP3 audio on your WordPress site without exposing the real file URL in your page source. Files are stored in a protected uploads folder that denies direct access, and the player streams audio through a short-lived, signed playback URL instead of a permanent, guessable link.

This is not DRM. It makes casual downloading harder, but it cannot provide DRM or perfect copy protection. If audio can be played in a browser, it can potentially be captured by determined users. The goal is simply to stop ordinary visitors from finding and saving the MP3 with a right-click or a quick look at the page source.

What it does

  • Adds a “Protected Audio” item type where you upload an MP3 and get a shortcode.
  • Stores uploads in wp-content/uploads/neutrope-protected-audio-player/, protected by an .htaccess file.
  • Serves audio through a signed URL such as /npap-stream/123/.../.../ that expires after 10 minutes.
  • Outputs an <audio> player with controlslist="nodownload" so the browser’s download button is hidden.
  • Keeps an anonymous play count per item.

What this plugin can and cannot do

This is not DRM.
This plugin makes casual downloading harder, but cannot provide DRM or perfect copy protection.
If users can play audio in a browser, advanced users may still capture it.
No external services.
No tracking.
No cookies.
No personal data stored by default.
Apache/LiteSpeed uses .htaccess protection.
Nginx may require additional server configuration.

Privacy

  • No external services, CDNs, scripts or APIs are used. Everything runs on your own server.
  • No tracking.
  • No cookies are set.
  • No personal data is stored by default. The plugin records only an aggregate play count per item. It never stores IP addresses and never sets cookies.

Server requirements

  • On Apache and LiteSpeed, direct access to the protected folder is blocked automatically with the .htaccess file the plugin creates.
  • On Nginx, .htaccess files are ignored. You will need to add server configuration to deny direct access to the protected uploads folder. The admin screen shows a reminder when it detects Nginx.
  • On some Nginx or reverse proxy configurations, byte-range responses may be buffered or altered by the server. Audio playback can still work, but seeking behavior may depend on server configuration.
  • Pretty permalinks are recommended. When they are disabled, the plugin falls back to a query-string playback URL.

Screenshots

Installation

  1. Upload the neutrope-protected-audio-player folder to the /wp-content/plugins/ directory, or install the plugin through the Plugins screen in WordPress.
  2. Activate the plugin through the “Plugins” screen in WordPress. Activation creates the protected uploads folder.
  3. Open the new “Protected Audio” menu, add an item, upload an MP3, and publish it.
  4. Copy the shortcode shown on the edit screen, for example [npap_audio id="123"], and paste it into any post or page.

FAQ

Does this stop people from downloading my audio?

No tool can fully prevent that. This plugin removes the easy ways to grab a file (visible URLs, the browser download button, predictable links) so casual users cannot simply save it. Anyone able to play the audio could still capture it with the right tools.

Is this DRM?

No. It is an obfuscation and access-control layer, not digital rights management.

Which file types are supported?

MP3 only in this version. Uploads are checked by extension and by their real MIME type (audio/mpeg).

I use Nginx. Is the folder still protected?

Nginx ignores .htaccess, so you must add a server rule that denies direct access to wp-content/uploads/neutrope-protected-audio-player/. Until you do, the folder may be reachable directly.

Does the plugin delete my files when I uninstall it?

No. By default nothing is deleted on uninstall. Data is only removed when the protected_audio_player_delete_data option is set to a truthy value, which you can enable under Settings → Neutrope Protected Audio Player.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Neutrope Protected Audio Player” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.2

  • Polished the admin audio edit screen, settings page, and front-end player styling.
  • Improved the shortcode display (with a copy button) and explanatory notices without changing playback behavior.
  • Added Shortcode, File and Plays columns to the Protected Audio list screen.

0.1.1

  • Added clearly documented phpcs:ignore annotations for the byte-range streaming file handle (fopen/fread/fclose).
  • Removed suppress_filters from the uninstall cleanup query.
  • Removed the explicit load_plugin_textdomain() call; WordPress loads the translations automatically.
  • Hardened the streaming response headers and added X-Accel-Buffering: no to reduce reverse-proxy buffering.
  • Documented reverse-proxy/Nginx byte-range behavior in the readme and the admin screen.
  • Updated “Tested up to”.

0.1.0

  • Initial release.
  • Protected Audio post type with MP3 upload and per-item shortcode.
  • Protected uploads folder with .htaccess and index.html.
  • Short-lived, HMAC-signed streaming endpoint with HTTP Range support.
  • Anonymous play counter.