Skip to content

Fix playback: per-link referer + cookies, and NewTV API as primary flow (Netmirror v44) - #35

Open
benzntech wants to merge 4 commits into
Sushan64:masterfrom
benzntech:fix-2004-stream-errors
Open

Fix playback: per-link referer + cookies, and NewTV API as primary flow (Netmirror v44)#35
benzntech wants to merge 4 commits into
Sushan64:masterfrom
benzntech:fix-2004-stream-errors

Conversation

@benzntech

@benzntech benzntech commented Aug 9, 2026

Copy link
Copy Markdown

Problem

Playback fails with "No Links Found" (and previously ERROR_CODE_IO_BAD_HTTP_STATUS (2004) — "Remote error / Source error"). Three compounding bugs:

  1. Forced wrong referergetVideoInterceptor sent Referer: https://net77.cc/home on every video request. The fallback CDN requires Referer: https://videodownloader.site/: with the correct referer the stream returns 200, with net77 it returns 429 → ExoPlayer 2004.
  2. Native flow is Cloudflare-walled — the cookie warmup (net77.cc/home) returns 403 to app clients, so the h-token gets demoted and stream URLs 404.
  3. playlist.php response changed shape — the server now returns a JSON array ([{...}]) but the code parsed it as an object → Jackson deserialization crash → fallback → "No Links Found".

Changes

  1. NewTV API as primary playback flow (mobiledetect.*checknewtv.phptv.imgcdn.kim/newtv/player.php?id= → HLS link) — no Cloudflare cookies needed; same flow used by the other providers in this repo (HotStar/Disney/Prime already use it).
  2. getVideoInterceptor: use the link's own referer instead of hardcoding the native one; attach t_hash_t + collected cookies for native hosts only.
  3. playlist.php parse fix: accept both array and object responses.
  4. newUrl: net22.cc (dead) → net52.cc; bypass() cookie extraction uses .values("Set-Cookie").

Verified

  • ./gradlew make → BUILD SUCCESSFUL
  • Stream URLs verified live: correct referer = 200, wrong referer = 429; NewTV flow returns playable HLS for the reported titles

Temporary availability

A prebuilt extension (Netmirror v45) is available for users hit by this bug while it's pending — in CloudStream → Extensions → + Add repository, enter shortcode:

https://cutt.ly/netmirror2

Developer added 2 commits August 9, 2026 16:10
- getVideoInterceptor: use per-link referer (fallback flow needs videodownloader.site, not net77) — old code forced net77 referer on all links, CDN returned 429
- getVideoInterceptor: attach t_hash_t + nativeCookies (cf_clearance, user_token, t_hash_p) to native-flow video requests
- newUrl: net22.cc is dead -> net52.cc (bypass() was hardcoded to net52 anyway)
- bypass(): use headers.values(Set-Cookie) consistent with extractCookiesFromResponse fix
@benzntech benzntech changed the title Fix ERROR_CODE_IO_BAD_HTTP_STATUS (2004): per-link referer + native cookies on video requests Fix playback: per-link referer + cookies, and NewTV API as primary flow (Netmirror v44) Aug 9, 2026
@benzntech
benzntech force-pushed the fix-2004-stream-errors branch from bbe8cc9 to 340b1aa Compare August 9, 2026 13:52
@palmousumi534-collab

Copy link
Copy Markdown

Still vedio service error

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants