Providers:
- CB01:
- Updated key for Uprot direct API and added new dedicated request headers (mobile User-Agent, Accept-Language, Sec-Fetch-*) compared to before
- Added HMAC-SHA256 fallback API with parameter signing (id, api type, timestamp) and clock drift synchronization with automatic retry on 'MSDEC_TS' responses
- Updated Maxstream embed URL destination path to 'maxstream.video/emihiuhi/'
- Extended folder episode parsing to support '01x01' numbering format (alongside 'S01E01') for proper season and episode detection
- Enhanced 'TUTTA LA SERIE' detection: only auto-expand seasons via TMDB when ranges are not already specified in the title (e.g. 'STAGIONE 1 - 3'), preventing duplicate seasons
- Cinecalidad: added Chrome User-Agent to bypass blocking of default OkHttp User-Agent
- AnimeSaturn: fixed scraping thanks to @jaupi-enrico
- TvporinternetHD, CableVisionHD, PelotaLibreTvHd, TvLibrefutbol: fixed providers thanks to @NANDOFS
Extractors:
- VidxGo: dynamic scanning across all encrypted script blocks for movies (no longer relying on fixed script tag index) and added Chrome User-Agent to video headers, now required for stream playback
- LuluVdo: implemented packed JS unpacking and updated stream ('sources') and subtitle regexes to operate on unpacked code
- Goodstream: added required 'Accept-Language' header to initial request, and added 'Accept-Language' and 'Referer' headers now required for video playback
- Voe: add new alias URLs (rebeccapracticeloss.com, johnbeyondnation.com)
- VidMoLy: add new alias URL (vidmoly.org)
- VidHide: add new alias URL (morencius.com)
- StreamWish: add new alias URL (hanerix.com)
- Hxfile: add new alias URL (xshotcok.com)
Documentation:
- Updated Supabase setup instructions URL to fix broken link with correct URL thanks to @paul-cla
Build & CI:
- Conditional C++/NDK compilation: CMake is only enabled in Gradle if 'native-lib.cpp' exists on disk, allowing successful APK builds without secret keys or NDK (handled with safe runtime fallbacks)
- Updated 'release.yml' workflow with conditional shell logic to inject Uprot secrets from the template only when available