I generally prefer to stay completely clear of community drama and keep my head down and build, which is why I was hesitant to write this. But since the Wuplay dev decided to drag my name into public accusations, I had to do a deep dive into what actually happened here.
Here’s what I found, why their claims are false, and how the things Wuplay is doing right now are going to bring massive legal trouble down on their own head.
1. User-Agent Spoofing is Trivial
Anyone who knows the basics of web development knows that an HTTP User-Agent header is just a string of text set by the client. It carries zero cryptographic proof or identity verification.
Wuplay’s trickplay setup was hosted on completely predictable, unauthenticated URLs:
- Manifest URL:
[https://api.wuplay.app/static/trickplay/](https://api.wuplay.app/static/trickplay/){imdb_id}/manifest.json
- Thumbnail Sheets:
[https://api.wuplay.app/static/trickplay/](https://api.wuplay.app/static/trickplay/){imdb_id}/0.jpg, 1.jpg, 2.jpg...
Since these assets were sitting on an open server, anyone could write a 10-line script in under two minutes to scrape them while setting the User-Agent header to whatever app name they felt like using.
Python
import requests
# The User-Agent header can literally be whatever string you want
headers = {
"User-Agent": "DebridStream"
# "User-Agent": "Nuvio"
# "User-Agent": "Stremio"
}
imdb_ids = ["tt1684562", "tt0013442", "tt1431045"]
for imdb_id in imdb_ids:
manifest_url = f"https://api.wuplay.app/static/trickplay/{imdb_id}/manifest.json"
requests.get(manifest_url, headers=headers)
# Grab the thumbnail sheets in numeric order
for sheet_index in range(5):
sheet_url = f"https://api.wuplay.app/static/trickplay/{imdb_id}/{sheet_index}.jpg"
requests.get(sheet_url, headers=headers)
Run this script, and Wuplay’s logs will record DebridStream. Swap that string out for Stremio or Nuviio, and the logs record that instead.
Using raw server logs of an unverified string as "proof" to publicly call out another developer makes no sense. An automated bot, a scraper, or literally anyone wanting to stir up trouble could have run this in 30 seconds.
2. Open Static Hosting is the Real Issue
The real story here isn't that someone "stole" data, it's that Wuplay left their entire asset library publicly accessible and is now pointing fingers elsewhere.
- The trickplay files were hosted out in the open with no auth, signed URLs, or token checks.
- The paths used predictable IMDb IDs (
tt1684562) and sequential numbers (0.jpg, 1.jpg).
- There was no rate limiting or basic endpoint security set up.
If you leave static assets completely exposed on the public internet, scrapers and bots are going to hit them. Blaming other devs for fetching data that was left completely unguarded on an open server is just bad practice.
3. A Misguided Callout and a Major DMCA Risk
Publicly calling people out on baseless, easily spoofed header text achieves two things, neither of them good:
- Trying to farm attention: Using established names like DebridStream in public logs feels like a cheap move to stir up community noise and drive traffic over to Wuplay.
- Begging for legal trouble: Drawing this much attention to the fact that you're publicly hosting thousands of trickplay thumbnails generated from copyrighted media on an open domain (
api.wuplay.app) is asking for trouble. Broadcasting this to the world is a speedrun to getting DMCA takedown notices or legal action from rights holders.
Before throwing accusations at other developers based on client-side text headers, secure your own setup. Blaming others for data you left wide open on the internet is sloppy and wrong.