webstreamr/CHANGELOG.md
2026-03-27 22:05:18 +00:00

196 KiB

Changelog

0.69.1 (2026-03-27)

Bug Fixes

  • source: exclude ad videos in HDHub4u (65191cf)
  • source: remove stray console.log (bd2dec0)

0.69.0 (2026-03-27)

Miscellaneous Chores

  • deps: update dependency axios to v1.14.0 (#800) (ad47aec)
  • extractor: detect languages from HubCloud title (89e57d4)
  • extractor: detect resolution from HubCloud title (f192fd0)
  • remove duplicate URLs (b87bf62)

Features

Bug Fixes

  • extractor: don't fail for HubDrive if HubCloud link is missing (557efd2)

Code Refactoring

  • source: extract hd hub link redirect resolver (43637a2)

0.68.0 (2026-03-26)

Features

  • exclude resolution config options (4c7da5d)

0.67.0 (2026-03-25)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.57.2 (#795) (5cffa11)

Features

  • extractor: support FSLv2 server in HubCloud (e36d460)

0.66.16 (2026-03-23)

Documentation

  • remove mention of XDMovies (b60496b)

Bug Fixes

  • source: remove XDMovies (ff39c59)

0.66.15 (2026-03-23)

Miscellaneous Chores

Bug Fixes

  • extractor: hard-code referer for Dropload and SuperVideo for now (eecf9c4)

0.66.14 (2026-03-17)

Miscellaneous Chores

  • deps: lock file maintenance (#784) (9eca05e)
  • deps: update dependency typescript-eslint to v8.57.1 (#786) (b769cd0)
  • extractor: add cacheVersion and bump it for HubCloud and HubDrive (ee3effa)

Bug Fixes

  • extractor: add PixelDrain referer to HubCloud extractor (693a77e)
  • extractor: reduce HubCloud + HubDrive ttl to 12h (296f047)

0.66.13 (2026-03-14)

Bug Fixes

  • downgrade sqlite for now (66ee72b)

0.66.12 (2026-03-14)

Miscellaneous Chores

Bug Fixes

  • require sqlite with alpine fix (0f004dc)

0.66.11 (2026-03-13)

Miscellaneous Chores

  • deps: lock file maintenance (#764) (394dc91)
  • deps: update dependency @types/node to v24.12.0 (#763) (7de0468)
  • deps: update dependency express-rate-limit to v8.3.1 (#765) (e90b558)
  • deps: update dependency tough-cookie to v6.0.1 (#773) (2734fb4)
  • deps: update dependency typescript-eslint to v8.57.0 (#766) (ad3d0b3)
  • deps: update eslint monorepo to v9.39.4 (#761) (955872a)
  • deps: update jest monorepo to v30.3.0 (#767) (b522314)

Bug Fixes

  • deps: update dependency sqlite3 to v6 (#772) (930e819)
  • extractor: add missing VOE domain (c78c1ad)
  • source: switch to new Frembed URL and resolve link redirects (8fe4cc5)

0.66.10 (2026-03-06)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.10.0 (#760) (4e43650)
  • deps: update dependency axios-cache-interceptor to v1.12.0 (#755) (edebd86)
  • deps: update dependency express-rate-limit to v8.3.0 (#758) (f58e0e1)
  • deps: update docker/build-push-action action to v7 (#759) (737a806)
  • deps: update docker/login-action action to v4 (#750) (6b8363b)
  • deps: update docker/setup-buildx-action action to v4 (#757) (d2e72b0)

Bug Fixes

  • extractor: use Dropload hosting URL origin as Referer (423abf2)

0.66.9 (2026-03-04)

Miscellaneous Chores

  • add referral (a5e429f)
  • deps: update docker/setup-qemu-action action to v4 (#749) (b36e148)

Documentation

  • use default branch for tests badge (6d5870c)

0.66.8 (2026-03-02)

Documentation

  • add known issues / limitations section (438387f)
  • add more limitations (aa820e1)
  • add more references (38d0ac5)

Bug Fixes

  • extractor: use Dropload playlist headers also internally (7dfc599)

0.66.7 (2026-03-02)

Miscellaneous Chores

  • deps: lock file maintenance (#745) (8ea6d4f)
  • deps: update dependency @types/node to v24.11.0 (#744) (282b3d0)
  • deps: update dependency axios to v1.13.6 (#736) (50e024a)
  • deps: update dependency cacheable to v2.3.3 (#737) (168d028)

Bug Fixes

  • extractor: add referer as proxy header for Dropload (bbb80f3)

0.66.6 (2026-02-25)

Miscellaneous Chores

  • deps: update dependency minimatch to v10.2.3 (#715) (ce4637e)
  • deps: update dependency minimatch to v10.2.4 (#735) (354c273)
  • deps: update dependency typescript-eslint to v8.56.1 (#734) (73ce5f3)
  • fetcher: cache whole flaresolverr solution and also use status from it (221fa98)

0.66.5 (2026-02-23)

Miscellaneous Chores

Bug Fixes

  • extractor: remove StreamUp (556b20e)
  • source: add support for old XDMovies uploads without URL protector (964e979)

Performance Improvements

  • cache all non-error requests for 15m, tune axios caching (ae10810)

0.66.4 (2026-02-21)

Miscellaneous Chores

  • deps: lock file maintenance (#708) (ccdd460)
  • deps: lock file maintenance (#718) (d0f3e0f)
  • deps: update dependency @stylistic/eslint-plugin to v5.8.0 (#709) (1ae12fa)
  • deps: update dependency @stylistic/eslint-plugin to v5.9.0 (#723) (bd160eb)
  • deps: update dependency @types/node to v24.10.12 (#707) (3f35ecf)
  • deps: update dependency @types/node to v24.10.13 (#717) (524630d)
  • deps: update dependency axios to v1.13.5 (#705) (de13209)
  • deps: update dependency glob to v13.0.1 (#698) (72c191f)
  • deps: update dependency glob to v13.0.2 (#711) (eccea52)
  • deps: update dependency glob to v13.0.3 (#714) (65a0e57)
  • deps: update dependency glob to v13.0.4 (#720) (245dcf6)
  • deps: update dependency glob to v13.0.5 (#721) (fb354b4)
  • deps: update dependency glob to v13.0.6 (#724) (23db19d)
  • deps: update dependency nodemon to v3.1.12 (#725) (5bfbd94)
  • deps: update dependency nodemon to v3.1.13 (#726) (728ed7e)
  • deps: update dependency nodemon to v3.1.14 (#728) (3bb7a80)
  • deps: update dependency typescript-eslint to v8.55.0 (#710) (7ec9c5b)
  • deps: update dependency typescript-eslint to v8.56.0 (#719) (94f5c74)
  • deps: update eslint monorepo to v9.39.3 (#727) (26b6143)
  • extractor: adapt mixdrop host check (34500ea)

Bug Fixes

  • source: handle new XDMovies URL protection (cf8fb4c)

0.66.3 (2026-02-03)

Performance Improvements

  • fetcher: simplify FlareSolverr integration by just using a request per host (31da8aa)

0.66.2 (2026-02-03)

Performance Improvements

  • fetcher: improve FlareSolverr integration (ae5829d)

0.66.1 (2026-02-02)

Bug Fixes

  • source: make XDMovies a fallback source to avoid hubcloud and many duplicates (2612860)

0.66.0 (2026-02-02)

Miscellaneous Chores

Features

Bug Fixes

  • fetcher: never block flaresolverr timeouts (c23ffa3)

0.65.10 (2026-01-28)

Miscellaneous Chores

  • deps: lock file maintenance (#686) (0743111)
  • deps: update dependency axios to v1.13.3 (#685) (19a73b3)
  • deps: update dependency axios to v1.13.4 (#689) (5c87c5d)
  • deps: update dependency typescript-eslint to v8.54.0 (#687) (8f8ecb8)
  • extractor: add new VOE domain (75c9509)
  • extractor: increase Fsst TTL to 3 hours (a876c9b)
  • extractor: increase StreamEmbed TTL to 3d (e52cee2)

Bug Fixes

  • extractor: avoid caching results with empty meta, add some self-healing (2ba6e4f)
  • extractor: ensure every result has a ttl (db860c2)

Code Refactoring

  • extractor: introduce internal type to reduce common code (50a7e55)

0.65.9 (2026-01-23)

Miscellaneous Chores

  • deps: update dependency @keyv/sqlite to v4.0.8 (#677) (e5197fd)
  • deps: update dependency @stylistic/eslint-plugin to v5.7.1 (#682) (622b1b3)
  • deps: update dependency axios-cache-interceptor to v1.11.4 (#678) (d3db3fc)
  • deps: update dependency cheerio to v1.2.0 (#683) (43e16f5)

Bug Fixes

  • extractor: use full cached meta to avoid invalid cache states (a90d7b1)

Code Refactoring

  • cache: extract clearCache function (12ea135)
  • cache: make code more dry and return in-memory cache for test env (a5539bc)

0.65.8 (2026-01-20)

Miscellaneous Chores

  • add env var for one-time cache file deletion (93fe1ae)
  • deps: update dependency typescript-eslint to v8.53.1 (#674) (7c88658)
  • extractor: add lauradaydo.com to VOE (3c979e7)
  • npm audit fix (28a83e2)

Bug Fixes

  • extractor: never use external URL results for lazy URL caching to avoid clashes (1ddc8d9)
  • extractor: use MediaFlow Proxy for DoodStream (#676) (a00fa2c)

0.65.7 (2026-01-19)

Bug Fixes

  • pass empty array instead of undefined if meta has no countries (e8ed29e)

0.65.6 (2026-01-19)

Miscellaneous Chores

  • deps: lock file maintenance (#669) (7c99e4d)
  • deps: update dependency @types/node to v24.10.9 (#668) (aeb15d8)

Bug Fixes

  • extractor: use correct referer for rgshows, treat vidzee response as block (d259587)
  • log all unhandled errors inside next handlers, terminate app properly for unhandled error outside (646e75d)

0.65.5 (2026-01-18)

Miscellaneous Chores

  • add issue templates (5fd6202)
  • add priority for sorting, move VixSrc up and RgShows down (7b708e2)
  • deps: update dependency cacheable to v2.3.2 (#667) (8aa1344)
  • fetcher: tune FlareSolverr timeouts and use other cookie variants too (5b49dd0)

Bug Fixes

  • extractor: only use bytes and height from meta cache to avoid clashes (a9c281c)

0.65.4 (2026-01-16)

Miscellaneous Chores

  • extract HubDrive handling into own extractor re-using HubCloud for better caching, increase both TTLs (986db2c)
  • extractor: simplify cache expiration handling (507b960)

0.65.3 (2026-01-16)

Documentation

  • add tmp mount for persistent cache to Docker run example (231a12f)
  • mention FlareSolverr support / env var (e54b54b)

Bug Fixes

  • fetcher: more FlareSolverr related stats, fix clearance cookie expiration (4cfbf73)

0.65.2 (2026-01-16)

Miscellaneous Chores

  • deps: update dependency @tsconfig/node24 to v24.0.4 (#662) (90c56de)

Bug Fixes

  • fetcher: make FlareSolverr work again, use single session and pass proxy (59c8495)
  • remove leftover logging (9cf9c44)

0.65.1 (2026-01-15)

Bug Fixes

  • calculate fallback count properly, only use VidSrc when no other normal source provided results (5ef6119)
  • extractor: use lazy url/meta cache also for extractors without a ttl (26278aa)
  • extractor: use milliseconds instead of incorrect seconds for ttl (17e70c1)
  • source: be resilient against missing heights in 4KHDHub (79c8e7f)

0.65.0 (2026-01-15)

Miscellaneous Chores

  • make cache immutable, add rate limit (7593d3d)

Features

  • add fetcher http stats (4cf08fc)
  • introduce fallback sources and mark VidSrc and RgShows as such (bad1170)

Bug Fixes

  • extractor: make VixSrc fall back to multi instead of it if language cannot be determined (ce11a80)

0.64.0 (2026-01-14)

Features

  • extractor: add back VidSrc (9ee91df)
  • source: bring back VidSrc as multi source (381fb89)

0.63.1 (2026-01-14)

Miscellaneous Chores

  • do not ignore errors on height guessing (a189cdd)
  • extractor: make lazyUrlResultCache non-blocking and add stats (9d6d138)
  • regularly clean-up expired items from sqlite cache (51aa127)

Bug Fixes

  • source: make 4KHDHub title matching just a tiny bit less strict (f7cf9da)

0.63.0 (2026-01-12)

Miscellaneous Chores

  • deps: lock file maintenance (#640) (20ce2ac)
  • deps: update dependency @types/node to v24.10.7 (#639) (816123a)
  • deps: update dependency typescript-eslint to v8.53.0 (#645) (9e25618)

Features

  • introduce generic meta cache (f047287)
  • introduce lazy extract for all non-HLS streams (c6a6a70)

0.62.3 (2026-01-11)

Miscellaneous Chores

  • configure more Indian languages, add Tamil and Telugu to 4KHDHub (05b80a2)
  • enable nonBlocking secondary cache writes (1a99a9e)
  • extractor: return only best Fsst result (f49769f)

Bug Fixes

  • source: RgShows is multi (de79dc0)

0.62.2 (2026-01-10)

Bug Fixes

  • extractor: support non-HLS streams in RgShows (d1fcd67)

0.62.1 (2026-01-10)

Miscellaneous Chores

  • source: simplifly Frembed domain detection again (559ee6e)

0.62.0 (2026-01-10)

Miscellaneous Chores

  • do not fail resolution if height guessing fails (28a8a15)
  • remove all proxy black magic (66fb0e2)
  • source: improve 4KHDHub search matching (b273e3a)

Features

0.61.0 (2026-01-09)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.7.0 (#624) (86eb3d4)
  • deps: update dependency axios-cache-interceptor to v1.11.3 (#626) (4bec9e5)
  • enforce https:// prefix in mediaflow proxy url and support config without scheme to work aroud elfhosted weirdness (da7397f)

Features

0.60.0 (2026-01-06)

Miscellaneous Chores

  • fetcher: disable TLS verification (281fe00)

Features

  • extractor: switch KinoGer from cf to source, add kinoger.p2pplay.pro support (f6f71b0)

0.59.1 (2026-01-06)

Bug Fixes

  • source: adapt MegaKino domain (04f3fc4)

0.59.0 (2026-01-06)

Miscellaneous Chores

  • deps: lock file maintenance (#615) (8d1991e)
  • deps: update dependency typescript-eslint to v8.52.0 (#616) (430e5b7)
  • extractor: add crystaltreatmenteast.com to VOE (bfe8c36)
  • source: do not filter out any KinoGer links (41bc53b)

Features

  • extractor: bring back Fsst (e1e8f37)

Bug Fixes

  • extractor: handle FileLions deleted by administration (c075fe9)
  • source: handle MegaKino relative page links (7146c6c)

0.58.12 (2026-01-02)

Miscellaneous Chores

  • source: add 4KHDHub test for stranger things s05e08 (93a098e)
  • source: determine latest 4KHDHub domain more dynamically (f8f62db)
  • source: update 4KHDHub TLD and re-generate fixtures (1f4d7c7)

Bug Fixes

  • run npm audit fix to fix security issues (9b3c7c7)

0.58.11 (2026-01-01)

Miscellaneous Chores

  • deps: lock file maintenance (#606) (9079fee)
  • deps: update dependency axios-cache-interceptor to v1.11.1 (#605) (a7d9359)
  • deps: update dependency axios-cache-interceptor to v1.11.2 (#607) (30c6026)
  • deps: update dependency typescript-eslint to v8.50.1 (#599) (d20c568)
  • deps: update dependency typescript-eslint to v8.51.0 (#608) (f8b63f4)

Bug Fixes

  • extractor: add new FileLions domain (c8e38d7)
  • extractor: deal better with cases where video ID URLs end with a slash (9f5ac02)
  • extractor: use last FileMoon iframe url matcher (135d90a)
  • fetcher: increase queue limits 5 times (e7b1e2a)
  • test: improve stability of MegaKino test by dirty mocking getFinalRedirectUrl (6f24b79)

0.58.10 (2025-12-22)

Miscellaneous Chores

  • deps: lock file maintenance (#580) (0164995)
  • deps: lock file maintenance (#595) (36a15f0)
  • deps: replace dependency @tsconfig/node22 with @tsconfig/node24 (#581) (9fd5634)
  • deps: update dependency @types/node to v24.10.4 (#579) (5d412b7)
  • deps: update dependency axios-cache-interceptor to v1.10.0 (#592) (58bd625)
  • deps: update dependency axios-cache-interceptor to v1.9.1 (#584) (fa6bee4)
  • deps: update dependency cacheable to v2.3.1 (#587) (10081a2)
  • deps: update dependency typescript-eslint to v8.50.0 (#583) (40f9f9e)
  • deps: update eslint monorepo to v9.39.2 (#574) (4f7a9d7)
  • source: useless debug log (7264fd2)

Bug Fixes

  • extractor: update FileLion domains, remove kinoger.be (6cc24c0)
  • return 400 for invalid ID instead of raising Error (0610b85)
  • source: determine Frembed domain dynamically (924265b)
  • use "Mozilla" instead of "Mozilla/5.0" as default user agent (ddf4f22)

0.58.9 (2025-12-12)

Bug Fixes

  • extractor: fix HubCloud picking up incorrect FSL URLs (e438f3c)
  • extractor: handle FileMoon with missing height info in packed (d44e0a2)
  • extractor: use extractorId per HubCloud sub hoster again for better bingeGroup (d71aa24)
  • source: resolve MegaKino dynamically and cache for an hour (258e35c)

0.58.8 (2025-12-11)

Miscellaneous Chores

  • deps: lock file maintenance (#562) (5ff8a49)
  • deps: update dependency axios-cache-interceptor to v1.9.0 (#566) (32b49d4)
  • deps: update dependency typescript-eslint to v8.49.0 (#567) (580845a)
  • deps: update dependency winston to v3.19.0 (#559) (3955820)
  • source: remove VidSrc which does not add value atm (1bd85fb)

Bug Fixes

  • source: update MegaKino domain (42b9cbe)

Code Refactoring

  • add generic source and extractor ids to meta and generalize bingeGroup generation (d7edb51)

0.58.7 (2025-12-06)

Miscellaneous Chores

  • extractor: add kinoger.ru support to VOE (50c5d3a)

Bug Fixes

  • source: return all KinoGer domains, fixes VOE results (cf0be47)
  • source: update MegaKino domain (0f7bc7c)

Reverts

  • fix(source): remove KinoGer (8dae887)

0.58.6 (2025-12-04)

Miscellaneous Chores

  • deps: update dependency express to v5.2.0 (#547) (e092d72)
  • deps: update dependency express to v5.2.1 (#549) (f549a32)
  • deps: update dependency ts-jest to v29.4.6 (#546) (d3dbedf)
  • deps: update dependency typescript-eslint to v8.48.1 (#550) (d7392c0)

Bug Fixes

  • extractor: handle DoodStream Not Found (ae00c43)

0.58.5 (2025-12-01)

Miscellaneous Chores

  • deps: lock file maintenance (#542) (d7e82ce)
  • extractor: add new VOE domains (cba3c8b)
  • extractor: match new DoodStream domain (4a14ad7)
  • introduce helper for better and central season/episode formatting (5c04104)

Code Refactoring

  • extractor: move label format handling into central place (ef2b672)

0.58.4 (2025-11-30)

Miscellaneous Chores

0.58.3 (2025-11-30)

Miscellaneous Chores

  • adapt default user agent slightly (1dd9d32)

Reverts

  • "chore: remove proxy headers in requests" (afbc16a)

0.58.2 (2025-11-29)

Miscellaneous Chores

  • remove proxy headers in requests (6f6a3ae)

0.58.1 (2025-11-29)

Miscellaneous Chores

  • switch to non-alpine based node image (9f7155f)

0.58.0 (2025-11-29)

Miscellaneous Chores

  • deps: lock file maintenance (#473) (57bc464)
  • deps: lock file maintenance (#495) (e478a45)
  • deps: lock file maintenance (#508) (3b78186)
  • deps: lock file maintenance (#520) (4815054)
  • deps: update actions/checkout action to v6 (#515) (683e26e)
  • deps: update dependency @stylistic/eslint-plugin to v5.6.0 (#512) (b4ba098)
  • deps: update dependency @stylistic/eslint-plugin to v5.6.1 (#513) (c50e095)
  • deps: update dependency @tsconfig/node22 to v22.0.3 (#502) (3f0c661)
  • deps: update dependency @tsconfig/node22 to v22.0.4 (#504) (e2268a3)
  • deps: update dependency @tsconfig/node22 to v22.0.5 (#511) (836021c)
  • deps: update dependency @types/node to v24.10.1 (#507) (dbbf310)
  • deps: update dependency cacheable to v2.2.0 (#506) (7eb760b)
  • deps: update dependency cacheable to v2.3.0 (#526) (219cb4b)
  • deps: update dependency nodemon to v3.1.11 (#499) (7dca36f)
  • deps: update dependency typescript-eslint to v8.46.3 (#479) (3c398d4)
  • deps: update dependency typescript-eslint to v8.46.4 (#497) (159be1c)
  • deps: update dependency typescript-eslint to v8.47.0 (#510) (0a85b0d)
  • deps: update dependency typescript-eslint to v8.48.0 (#525) (9bec5b5)
  • deps: update eslint monorepo to v9.39.1 (#468) (33dbeb9)
  • do not use proxy for MFP urls (280abc4)
  • extractor: remove non-working VidSrc (f5f4740)
  • extractor: shorten mediaflow proxy label (4cd1e09)
  • source: use more consistent meta title format (1765311)

Continuous Integration

  • run build and test actions for PRs (d80ca63)

Features

  • switch to axios to avoid Cloudflare TLS fingerprinting issues (09f795b)

Bug Fixes

  • ensure that VixSrc results have a title (67d0508)
  • npm audit fix (31e46c5)
  • source: update frembed domain and add referer for API requests (d07d31d)
  • use axios proxy config properly (b793001)
  • use correct fetch for FlareSolverr (68cfa65)

0.57.2 (2025-11-03)

Miscellaneous Chores

  • deps: update dependency @types/express to v5.0.5 (#472) (a7bc742)
  • extractor: register Vidora extractor (82b810e)

Bug Fixes

  • extractor: fix KinoGer and add new domains (8e1ea10)

0.57.1 (2025-11-02)

Bug Fixes

  • source: switch to new Frembed domain (88a1fe1)

0.57.0 (2025-11-01)

Features

Bug Fixes

  • extractor: remove flaky HubCloud head requests (053dce0)
  • extractor: support embed-only VOE urls (a36d152)
  • source: remove KinoGer (e5a5c62)

0.56.8 (2025-10-29)

Miscellaneous Chores

  • allow Node 22 still (c4bf32f)
  • deps: update dependency minimatch to v10.1.1 (#461) (5078609)
  • deps: update node.js to v24 (20c43a3)
  • extractor: cache not found results for 12 hours (4bc5e42)

Bug Fixes

  • source: add fallback search for english title to Kokoshka (331e5bd)
  • source: fine-tune Kokoshka result matching (172edaf)
  • source: switch to working MegaKino domain (88b6a5e)

0.56.7 (2025-10-28)

Miscellaneous Chores

  • deps: update dependency @types/express to v5.0.4 (#455) (7cabb4d)
  • deps: update dependency @types/node to v22.18.12 (#456) (365c2de)

Continuous Integration

  • add workflow_dispatch trigger for build and tests (79c16d5)
  • build also for arm64 (68dcab3)

0.56.6 (2025-10-24)

Bug Fixes

  • extractor: handle Fastream deleted or expired file (bd1e184)

0.56.5 (2025-10-24)

Miscellaneous Chores

  • add host info of relevant URL to all errors (cc3d30b)
  • cache playlist heights for a month (56e72b7)
  • deps: lock file maintenance (#449) (a9b81d0)
  • deps: update dependency @types/node to v22.18.11 (#448) (03bb9fe)
  • deps: update dependency typescript-eslint to v8.46.2 (#451) (c8b6cf2)
  • extractor: add KinoGer domains (23da8dc)
  • extractor: add VOE domain (e2eaa91)
  • extractor: do not make any requests for external URLs (77164df)
  • remove noCache option (e6d8d50)
  • remove proxyConfig option (6203863)

0.56.4 (2025-10-18)

Miscellaneous Chores

  • mark VidSrc as being multi instead of English (ae7b784)
  • switch to new VidSrc domains, pass-through TMDB IDs if given (d59658f)

0.56.3 (2025-10-18)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.5.0 (#441) (209ec26)
  • deps: update dependency cacheable to v2.1.1 (#438) (6fffb57)
  • deps: update eslint monorepo to v9.38.0 (#439) (5d6a814)
  • extractor: add goofy-banana.com to Voe (ad61be8)

0.56.2 (2025-10-17)

Bug Fixes

  • only push lates tag, no need for invalid version tags (e989fc0)

0.56.1 (2025-10-17)

Bug Fixes

  • push latest for release tags (a937990)

0.56.0 (2025-10-17)

Miscellaneous Chores

  • full remove Fsst (bcd8688)
  • tag 4KHDHub with Indian flag (177739e)
  • throw explicit error if required TMDB_ACCESS_TOKEN env var is not set (6f60c49)

Documentation

  • add info about MediaFlow Proxy (a76e725)
  • add more infos about proxy config (eaa95e8)
  • default self hosting docs to official Docker image (14da572)
  • document environment variables (c7b507c)

Features

  • push docker latest build for tags (0018ccc)

0.55.1 (2025-10-16)

Bug Fixes

  • source: query TMDB for Albanian info for Kokoshka (066424e)

0.55.0 (2025-10-16)

Features

0.54.4 (2025-10-15)

Miscellaneous Chores

  • configure devEngines in package.json (0830635)
  • deps: lock file maintenance (#424) (cf1f3e9)
  • deps: update actions/setup-node action to v6 (#426) (3007698)
  • deps: update dependency @keyv/sqlite to v4.0.6 (#420) (8761eee)
  • deps: update dependency @types/node to v22.18.10 (#423) (c5c4c1a)
  • deps: update dependency ts-jest to v29.4.5 (#422) (fbffe3a)
  • deps: update dependency typescript-eslint to v8.46.1 (#425) (c7040e9)
  • fully remove soaper (da24e96)

Continuous Integration

  • remove explicit caching of node modules (6f3233e)

Bug Fixes

  • add manual imdb -> tmdb mapping for "Monster: The Ed Gein Story(2025)" (405a8ef)
  • add manual imdb -> tmdb mapping for "Monsters: The Lyle and Erik Menendez Story (2024)" (1a56d7e)
  • source: remove PrimeWire (a42edcd)
  • source: switch from imdb to tmdb search for CineHDPlus (c88b379)
  • source: switch from imdb to tmdb search for StreamKiste (076f853)

0.54.3 (2025-10-07)

Miscellaneous Chores

  • extractor: use MEDIAFLOW_DEFAULT_INIT where it was forgotten (bab0da2)
  • increase MFP related timeouts (a3b90bf)

Bug Fixes

  • extractor: support Dropload with missing height/size info (06e0ba2)

Performance Improvements

  • extractor: do not guess resolution via MFP playlist for FileLions (a7360b6)
  • extractor: do not guess resolution via MFP playlist for FileMoon (312f606)
  • extractor: do not guess resolution via MFP playlist for LuluStream (b3db546)
  • extractor: do not guess resolution via MFP playlist for Voe (8fb3320)
  • extractor: do not guess size from mp4 for DoodStream (b8c5c1a)
  • extractor: do not guess size from mp4 for Streamtape (e11cf89)
  • extractor: do not guess size from mp4 for Uqload (5e1c3ee)

Code Refactoring

  • use .at() instead of .slice() construct (22c6754)

0.54.2 (2025-10-07)

Bug Fixes

  • extractor: do not pass referer for Uqload MFP requests (298ac96)

0.54.1 (2025-10-06)

Miscellaneous Chores

  • deps: update dependency cacheable to v2.1.0 (#413) (c19d46f)
  • deps: update dependency typescript-eslint to v8.46.0 (#414) (8b4aef9)

Bug Fixes

  • extractor: handle another LuluStream file not found case (d0958e8)

0.54.0 (2025-10-06)

Miscellaneous Chores

  • deps: lock file maintenance (#408) (5a4f28e)
  • deps: update dependency @types/node to v22.18.8 (#407) (f7bb497)
  • deps: update eslint monorepo to v9.37.0 (#404) (b836040)
  • extractor: add FileLions domain (78125c7)
  • extractor: add KinoGer domain (c27c1f9)
  • extractor: re-use and optimise mediaflow default fetch init slightly (7191c59)
  • extractor: work around VidSrc blocking by generating random IPs (c610a99)

Features

  • extractor: add new MediaFlow Proxy extractors FileMoon, LuluStream and Voe (bb21bbc)

Bug Fixes

  • extractor: handle FileLions Not Found case (d1493cb)
  • extractor: handle StreamEmbed video is not ready (424c2fd)
  • extractor: remove referer header from Mixdrop (eea8cac)
  • source: use PrimeWire page instead of API as Referer (30a709d)

0.53.7 (2025-10-02)

Bug Fixes

  • extractor: bring back VixSrc language exclusion (ac7d248)

0.53.6 (2025-10-02)

Miscellaneous Chores

  • deps: update dependency cacheable to v2.0.3 (#400) (390adea)
  • deps: update dependency typescript to v5.9.3 (#396) (04069d8)
  • deps: update dependency winston to v3.18.3 (#397) (7e4657c)
  • extractor: configure new VidSrc TLDs (34b7fdd)
  • fetcher: retry unexpected exceptions (5ac359f)

0.53.5 (2025-09-30)

Miscellaneous Chores

  • deps: update dependency winston to v3.18.2 (#394) (9f46b7f)
  • extractor: make VixSrc work without MediaFlow proxy (012b164)
  • use concurrency of 4 for mediaflow proxy requests (04b8987)

0.53.4 (2025-09-30)

Miscellaneous Chores

  • deps: update dependency winston to v3.18.1 (#392) (c3721c4)
  • fetcher: add generic fetch also returning response url (5466472)

Bug Fixes

  • extractor: handle Uqload File Not Found (f0a66e1)
  • source: dynamically determine MegaKino base URL (d6fb4c9)

0.53.3 (2025-09-29)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.45.0 (#389) (4bf2cf6)
  • source: improve Eurostreaming search by trimming some special chars and supporting similarity search (8f2e8e4)
  • source: support similar match search in HomeCine (e327f3c)
  • source: use original title as search fallback in HomeCine and don't enforce year check (20648ae)

Tests

  • fix slugger length check in FetcherMock (0879531)

0.53.2 (2025-09-29)

Miscellaneous Chores

Bug Fixes

  • source: adapt MegaKino for new search (fb689bf)

0.53.1 (2025-09-28)

Miscellaneous Chores

  • add referer explicitly to sources (be7c19a)
  • bring back mediaflow proxy redirect url generation (d8a4375)
  • deps: update jest monorepo to v30.2.0 (#384) (708d3d7)
  • fetcher: add referer to fetch logging (fcced2e)
  • rework referer header passing and mediaflow proxy URL creation (25b326e)

Bug Fixes

  • do not write out label twice if the same for source and extractor (6053034)
  • source: improve Eurostream partial keyword matching (af5c3f2)

0.53.0 (2025-09-25)

Miscellaneous Chores

Features

Bug Fixes

  • source: use iframe src from API as referer for Movix (ae34284)

0.52.5 (2025-09-24)

Miscellaneous Chores

  • add web emoji as icon (b124408)
  • extractor: add DoodStream host (da556d3)
  • extractor: add FileLions domain (6f412d7)
  • fetcher: double queue limit and timeouts (4697d15)

Bug Fixes

  • always move errors up and external urls down (ddc8133)
  • prefer using source referer for extractors if it exists (42d46ac)
  • source: set correct referer for Movix (6214df7)

Code Refactoring

  • fetcher: introduce json method (a96d015)

0.52.4 (2025-09-23)

Miscellaneous Chores

  • deps: lock file maintenance (#374) (1a2b40d)
  • deps: update dependency @stylistic/eslint-plugin to v5.4.0 (#371) (953a791)
  • deps: update dependency @types/node to v22.18.6 (#373) (b7714d7)
  • deps: update dependency ts-jest to v29.4.4 (#368) (48b0924)
  • deps: update dependency typescript-eslint to v8.44.1 (#376) (9709c31)
  • deps: update eslint monorepo to v9.36.0 (#369) (092d53e)
  • fetcher: complete proxy headers (0a0beda)
  • remove XPrime (6d5a511)

Bug Fixes

  • deps: update dependency cacheable to v2.0.2 (#377) (2e3b660)

Reverts

  • Revert "chore(fetcher): try to remove the proxy headers (again)" (7e771c2)

0.52.3 (2025-09-18)

Miscellaneous Chores

  • deps: update dependency ts-jest to v29.4.3 (#365) (833c487)

Bug Fixes

  • deps: update dependency cacheable to v2.0.1 (#364) (f9d8dc0)
  • source: improve 4KHDHub year and title matching (a30b271)

Reverts

  • Revert "fix: remove turnstyle detection to check if it causes false-positives" (60f44c9)

0.52.2 (2025-09-16)

Miscellaneous Chores

  • deps: lock file maintenance (#359) (1028c66)
  • deps: update dependency @types/node to v22.18.3 (#358) (e33aa42)
  • deps: update dependency ts-jest to v29.4.2 (#361) (6ef80d3)
  • deps: update dependency typescript-eslint to v8.44.0 (#362) (261897c)

Bug Fixes

  • do not return cache headers when noCache is set (d06c293)
  • extractor: filter out non-accessible HubCloud streams (c819dd6)
  • extractor: normalize Streamtape URLs (aeb7ce5)
  • fetcher: only retry 503 and 504 (d90cd8f)
  • remove turnstyle detection to check if it causes false-positives (c10ca29)

0.52.1 (2025-09-14)

Bug Fixes

  • source: re-implement PrimeWire in safer and more efficient way (f4d9058)

0.52.0 (2025-09-14)

Features

  • allow to disable extractors via env var (737bf6a)
  • allow to disable sources via env var (f89d906)

0.51.2 (2025-09-14)

Bug Fixes

  • fetcher: re-use proxy agents (ae32376)
  • log more infos for uncaught errors (8b479be)
  • source: close jsdom window immediately after getting HTML (aded562)

Reverts

  • Revert recent reverts again (8acbd37)

0.51.1 (2025-09-14)

Bug Fixes

  • deps: update dependency jsdom to v27 (#350) (58b50b4)

Reverts

  • Revert "chore: log error count in final result log" (2aa9ad2)
  • Revert "chore(fetcher): log more infos about responses" (78db179)
  • Revert "chore(fetcher): log proxy usage, allow to disable proxy via config" (4ca87f0)
  • Revert "feat: allow to disable cache" (9a279b5)
  • Revert "fix(deps): update dependency jsdom to v27 (#350)" (dc610bf)

0.51.0 (2025-09-13)

Miscellaneous Chores

  • fetcher: log more infos about responses (731bd33)
  • fetcher: log proxy usage, allow to disable proxy via config (b67e1b8)
  • log error count in final result log (2421913)

Features

Reverts

  • Revert "fix(extractor): use SuperVideo embed URls which are not triggering CF challenges" (4351ddc)

0.50.4 (2025-09-12)

Miscellaneous Chores

  • add url info to blocked error (a729dc8)

0.50.3 (2025-09-12)

Miscellaneous Chores

  • extractor: set VidSrc referer again (5429b0c)
  • fetcher: bring back error retry (69da82b)
  • fetcher: cache only 2xx and 404 responses (d087318)
  • slightly clean-up extractor and source logging (fdb9bff)
  • source: disable Soaper (cb256de)

Bug Fixes

  • extractor: cache FileLions (b27126f)

0.50.2 (2025-09-12)

Miscellaneous Chores

  • fetcher: switch back to undici fetch 🤡 (2a47d97)

0.50.1 (2025-09-12)

Miscellaneous Chores

  • fetcher: remove interceptors and retries (7ee87ce)

0.50.0 (2025-09-12)

Miscellaneous Chores

  • extractor: remove Referer from follow-up VidSrc requests completely (ffd62a5)

Features

  • add support for proxy per host using minimatch (b513a89)

Code Refactoring

  • create dispatcher per request (2f370d1)

0.49.7 (2025-09-11)

Miscellaneous Chores

  • fetcher: switch back to native fetch 🤡 (8789381)

0.49.6 (2025-09-11)

Bug Fixes

  • extractor: do not pass Referer for cloudnestra requests (98c53a1)

0.49.5 (2025-09-10)

Miscellaneous Chores

  • include imdb and tmdb IDs in XPrime requests (7f264b2)

0.49.4 (2025-09-10)

Bug Fixes

  • extractor: use correct xprime referer (531ad75)

0.49.3 (2025-09-10)

Miscellaneous Chores

  • extractor: clean-up header/referer passing (057b234)

Bug Fixes

  • extractor: improve messy meta type (7f2cf10)

0.49.2 (2025-09-10)

Miscellaneous Chores

  • fetcher: try to remove the proxy headers (again) (00bd114)

0.49.1 (2025-09-10)

Bug Fixes

  • deps: update dependency cacheable to v2 (#336) (8b55889)
  • deps: update dependency undici to v7.16.0 (#335) (78a83c5)
  • extractor: grab VixSrc height from playlist (c5da7c1)
  • extractor: use SuperVideo embed URls which are not triggering CF challenges (3a2178e)

0.49.0 (2025-09-09)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.43.0 (#333) (0bfced5)

Features

  • extractor: add FileLions extractor (8430e5d)

0.48.0 (2025-09-08)

Features

  • extractor: support PixelServer in HubCloud (39850dc)

0.47.2 (2025-09-08)

Bug Fixes

  • extractor: find more FSL links (6823236)

0.47.1 (2025-09-08)

Miscellaneous Chores

  • add Norwegian, sort language list (6577eda)

Bug Fixes

  • source: handle missing 4KHDHub episodes more gracefully (c2983f0)

0.47.0 (2025-09-08)

Miscellaneous Chores

  • add infos about sources and extractors to description (3b8481e)
  • add more details to /live / ipcheck endpoint, add cloudnestra (9f15a03)
  • configure a bunch of more language mappings (b60f91a)
  • deps: lock file maintenance (#329) (224b241)
  • deps: update dependency @types/node to v22.18.1 (#328) (907a150)
  • deps: update eslint monorepo to v9.35.0 (#324) (5598399)
  • drop uuid in favor of node:crypto randomUUID (3380185)
  • tmdb: use mutex to avoid double tmdb requests (e1b5e7b)

Features

  • extractor: add HubCloud with FSL (1ecb088)
  • source: add 4KHDHub (8a1645f)

Bug Fixes

  • extractor: gracefully handle deleted files for SaveFiles (48c7735)

0.46.5 (2025-09-05)

Miscellaneous Chores

  • extractor: do only one VidSrc request per domain at a time (b589c25)
  • fetcher: wait out short rate limits and retry (211babe)

Bug Fixes

  • fetcher: fix TTL for rate limit cache (e846900)

0.46.4 (2025-09-04)

Miscellaneous Chores

  • source: retry also blocking errors with different VidSrc TLD (af4d001)

0.46.3 (2025-09-04)

Miscellaneous Chores

  • allow forcing the IP check in the /live endpoint (cf79473)

0.46.2 (2025-09-04)

Miscellaneous Chores

  • deps: update actions/setup-node action to v5 (#320) (139cb64)

Bug Fixes

  • extractor: remove non-working VidSrc pm TLD (ad7e480)
  • source: VixSrc is not an English source (4002301)

Code Refactoring

  • simplify passing around meta (cfcf81b)

0.46.1 (2025-09-03)

Miscellaneous Chores

  • decrease fetcher and extractor memory cache sizes (756cd01)

0.46.0 (2025-09-03)

Miscellaneous Chores

  • add ipStatus to /live endpoint (94abcd3)
  • fetcher: decrease timeout to 5 seconds (83021fb)
  • no special sorting for errors (12ac42e)

Features

  • add stats endpoint with cache stats (fd0900e)
  • configure sqlite as secondary source and extractor cache (2b7e9c4)
  • source: persist PrimeWire redirect URL cache (8979060)

Bug Fixes

  • source: make cache prop static (5ea34f6)
  • source: move countryCode filtering into central place (5547fd5)

0.45.3 (2025-09-02)

Miscellaneous Chores

  • always return integers for Cache-Control max-age (1b89cad)
  • deps: update dependency jest to v30.1.3 (#314) (896ec74)
  • deps: update dependency typescript-eslint to v8.42.0 (#312) (50764b3)
  • extractor: cache Doodstream for 6h (a250440)
  • extractor: cache Dropload for 3h (ccf8006)
  • extractor: cache ExternalUrl for 6h (41aacf8)
  • extractor: cache KinoGer for 6h (316fd46)
  • extractor: cache SaveFiles for 6h (bb95118)
  • extractor: cache Soaper for 12h (1e100e6)
  • extractor: cache SuperVideo for 3h (7ac7183)
  • extractor: cache VidSrc for 3h (c68570d)
  • extractor: cache XPrime for 6h (fc17545)
  • extractor: cache YouTube for 6h (8330431)
  • extractor: start refreshing results randomly after at least 2/3 of the TTL passed (969ab8d)
  • source: cache sources for 12h (bc06cb5)

Code Refactoring

  • consistently use cacheable for caching (dc093f7)

0.45.2 (2025-09-01)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.3.1 (#309) (285746a)
  • handle NotFoundError / 404 inside source and cache it also (4d05ac8)
  • source: remove outdated comment (2468fbd)

Bug Fixes

  • catch all timeouts (b47a512)
  • source: consider season and episode for cache key (ceb520d)

Code Refactoring

  • move locks into StreamController (e109637)

0.45.1 (2025-09-01)

Miscellaneous Chores

  • deps: update jest monorepo to v30.1.2 (#308) (4414324)
  • deps: update node.js to v22.19.0 (#306) (3044e41)
  • extractor: support caching via MediaFlow Proxy (c556d95)
  • fetcher: log retries (c47f48c)
  • fetcher: retry timeouts once (0fc7675)
  • source: cache source results for 3 hours (c82a7ab)

Bug Fixes

  • extractor: set missing viaMediaFlowProxy in Streamtape (33ee150)

Code Refactoring

  • source: introduce abstract parent class (9da7c07)

Tests

  • disable console logging to reduce noise (3c4507b)

0.45.0 (2025-08-28)

Miscellaneous Chores

  • configure undici dispatcher allowing HTTP2, caching DNS and retrying connection errors (05d11e3)
  • deps: lock file maintenance (#300) (2381a2c)
  • deps: update dependency typescript-eslint to v8.40.0 (#292) (14da5da)
  • deps: update dependency typescript-eslint to v8.41.0 (#302) (0449150)
  • deps: update eslint monorepo to v9.34.0 (#298) (b616fef)
  • deps: update jest monorepo to v30.1.0 (#304) (b4dca46)
  • deps: update jest monorepo to v30.1.1 (#305) (ada3ff1)
  • extractor: add more KinoGer domains (c8cd2ec)
  • extractor: add more KinoGer domains and determine resolution (2d9f9bf)
  • extractor: move Fetcher into parent, guess missing heights for SuperVideo (cefc80f)
  • extractor: use guessSizeFromMp4 in Streamtape, Uqload and XPrime (18d8ee6)

Features

Bug Fixes

  • deps: update dependency undici to v7.15.0 (#297) (41b4425)
  • extractor: handle SaveFiles /d/ links properly (eecd325)

Code Refactoring

  • introduce guessSizeFromMp4 (4a1a3b1)

Reverts

  • Revert "chore(source): disable Soaper" (795c033)

0.44.1 (2025-08-18)

Miscellaneous Chores

  • deps: lock file maintenance (#290) (747ea84)
  • deps: update dependency @types/node to v22.17.2 (#289) (8a24dbc)
  • extractor: extract size and title for Fastream URLs (36f3d70)

Bug Fixes

  • extractor: remove unreliable title height guessing (35acb49)
  • source: do alternative dash search for HomeCine (bfdb212)

0.44.0 (2025-08-17)

Miscellaneous Chores

  • source: bring back Frembed (f58c302)
  • source: disable Soaper (71979d8)

Features

  • extractor: add YouTube extractor (5e6c71f)

Bug Fixes

  • deps: update dependency undici to v7.14.0 (#287) (fe19a91)

Code Refactoring

  • fully replace handler with source (176c4c9)

Reverts

  • "chore(extractor): remove HEAD request to XPrime hosters to determine size" (73627fb)

0.43.3 (2025-08-16)

Bug Fixes

  • extractor: use default TTL for XPrime (63e598a)

0.43.2 (2025-08-16)

Miscellaneous Chores

  • double HTTP cache, quadruple extractor cache (ef613f2)
  • extractor: increase XPrime cache to 12 hours (5316199)
  • extractor: remove HEAD request to XPrime hosters to determine size (fdf1415)

0.43.1 (2025-08-15)

Miscellaneous Chores

  • use XPrime in live endpoint (be33b0b)

Bug Fixes

  • deps: update dependency tough-cookie to v6 (#278) (7b7b0e1)
  • extractor: use title from XPrime API (a65b8fb)

0.43.0 (2025-08-15)

Miscellaneous Chores

  • fetcher: allow to customize minimum cache ttl (fe5b3af)

Features

Code Refactoring

  • fetcher: sort custom request init props (2a5284d)

Tests

0.42.1 (2025-08-14)

Miscellaneous Chores

  • extractor: use all VidSrc TLDs to handle rate-limit better (6492e6b)
  • use mutex per id when resolving streams (c0797f3)

Bug Fixes

  • extractor: handle SaveFiles locked file (285996c)

0.42.0 (2025-08-13)

Miscellaneous Chores

  • fetcher: retry 5xx errors up to 3 times (a12ae7a)

Features

  • extractor: add SaveFiles support (c9aaf8b)

Bug Fixes

  • support stream resolving without config (17da20f)

Code Refactoring

  • extractor: clean-up DoodStream sightly (3e964f2)

0.41.9 (2025-08-12)

Miscellaneous Chores

  • clean-up critical error handling (1a5cad4)
  • extractor: add new DoodStream domains (8a81a5c)

Bug Fixes

  • source: keep using jsdom for now because of performance issues (2d96e1d)

Reverts

  • "fix(fetcher): remove weird proxy headers in request" (e28de7d)

0.41.8 (2025-08-12)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.39.1 (#269) (ec8c35a)

Bug Fixes

  • source: bring back PrimeWire 🎉 (617ae77)

0.41.7 (2025-08-11)

Miscellaneous Chores

  • deps: update actions/checkout action to v5 (#267) (ccbebe7)

Bug Fixes

  • fetcher: simplify header and ttl determination, fix edge case bug (9a01939)

0.41.6 (2025-08-11)

Bug Fixes

  • fetcher: better detect inline Cloudflare Turnstile (0efdfa4)
  • fetcher: remove weird proxy headers in request (ee09e10)

0.41.5 (2025-08-11)

Miscellaneous Chores

  • deps: lock file maintenance (#265) (6d44e67)
  • deps: update dependency @stylistic/eslint-plugin to v5.2.3 (#261) (e365538)
  • deps: update dependency @types/node to v22.17.1 (#264) (1618fa3)
  • deps: update eslint monorepo to v9.33.0 (#263) (f7b6ba4)
  • disable console methods only on prod (b7ada8b)
  • fetcher: decrease default timeout back to 10s (7d70010)
  • manifest: add supported languages to description (3aff950)
  • manifest: sort sources for each language in configuration (491df54)
  • source: add English to VixSrc (6489b10)
  • source: disable PrimeWire for now (c3d86fb)

0.41.4 (2025-08-08)

Miscellaneous Chores

  • add MostraGuarda to live/health check (8cd5c91)
  • fetcher: block a host temporarily after 30 times timing out instead of 10 (78ced84)
  • remove health endpoint in favor of live (785091f)

0.41.3 (2025-08-06)

Miscellaneous Chores

  • introduce dedicated startup/ready and live endpoints (db21d78)

0.41.2 (2025-08-05)

Bug Fixes

  • do not use special queue config for health check (dbe27c2)

0.41.1 (2025-08-05)

Miscellaneous Chores

  • deps: update dependency typescript to v5.9.2 (#255) (115e227)
  • deps: update dependency typescript-eslint to v8.39.0 (#254) (d6fd346)
  • deps: update node.js to v22.18.0 (#252) (8ed6321)
  • fetcher: increase default timeout to 15s (009bb93)
  • health check improvements to avoid performance issues (086c32f)
  • use source instances instead of hard-coded URL for health check (522034b)

Bug Fixes

  • source: remove useless KinoGer p2pplay.pro URLs (faa91ce)

0.41.0 (2025-08-04)

Miscellaneous Chores

  • deps: lock file maintenance (#246) (f5d3e95)
  • deps: lock file maintenance (#251) (9f5652e)
  • deps: update dependency @types/node to v22.17.0 (#250) (e270737)
  • deps: update dependency ts-jest to v29.4.1 (#249) (9bf5011)
  • deps: update eslint monorepo to v9.32.0 (#243) (0dc9d4b)
  • use source baseUrl for source errors (c81f17a)

Features

  • do not show errors by default (854b211)

Bug Fixes

  • deps: update dependency undici to v7.13.0 (#248) (43d971a)

Code Refactoring

  • source: consistently define baseUrl (b94c539)

0.40.3 (2025-07-24)

Bug Fixes

  • health check: better logging, decrease request timeouts (9a8e6f9)

Code Refactoring

  • extract error and logging helper (cc3dacd)

0.40.2 (2025-07-23)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.2.2 (#240) (4ab0c88)

Bug Fixes

  • disable health check failing for blocked issues on non-hayd.uk instances (ece3b45)

Code Refactoring

  • extract helpers to figure out which instance we're running on (be8c664)

0.40.1 (2025-07-22)

Miscellaneous Chores

  • deps: update jest monorepo to v30.0.5 (#238) (93194e3)

Bug Fixes

  • source: disable Frembed for now since it keeps timing-out (5803148)

0.40.0 (2025-07-21)

Miscellaneous Chores

  • deps: lock file maintenance (#231) (b0dd5de)
  • deps: update dependency @stylistic/eslint-plugin to v5.2.1 (#234) (ff45f43)
  • deps: update dependency @types/node to v22.16.5 (#230) (ea7b392)
  • deps: update dependency typescript-eslint to v8.38.0 (#236) (3c65768)
  • handle cloudflare 451 censor block, show block reasons (51b9104)
  • mention languages and MediaFlow Proxy in description (951d442)
  • try checking for blocks in health check endpoint (ef36f48)

Features

  • disable extractors via config (114d296)

Bug Fixes

  • deps: update dependency cheerio to v1.1.1 (#228) (3401525)
  • deps: update dependency cheerio to v1.1.2 (#235) (3d76b0a)

Code Refactoring

  • improve manifest type (6fe09fc)
  • introduce createSources() analogue to createExtractors() (453cc74)

0.39.2 (2025-07-20)

Bug Fixes

  • fetcher: support Basic Auth (674eb7c)
  • source: use latest search params for Eurostreaming (c62870a)

0.39.1 (2025-07-20)

Miscellaneous Chores

  • add explicit info that we can't fix 5xx errors (8ad5a8f)
  • disable all console functions in favor of logger (d1e410e)

Bug Fixes

  • use correct request ID header in context (1a37662)

0.39.0 (2025-07-18)

Features

  • extractor: add Fastream via MediaFlow Proxy (f3f61c8)
  • source: add HomeCine (5759a31)

Bug Fixes

  • deps: update dependency undici to v7.12.0 (#223) (603bcff)
  • extractor: do not skip external blocked URLs (533470d)

Code Refactoring

  • make TMDB detail fetching more DRY (f6dcd74)

0.38.1 (2025-07-18)

Bug Fixes

  • do not use cache and proxy headers for health requests (de8e0bd)

0.38.0 (2025-07-18)

Features

Code Refactoring

  • extract context creation (5555ba7)

0.37.2 (2025-07-17)

Reverts

  • "chore: remove Soaper 😭" 🎉 (1b9ee36)

0.37.1 (2025-07-16)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.2.0 (#219) (1fda7f6)
  • extractor: normalize Mixdrop non-embed URLs (7cf313c)

0.37.0 (2025-07-15)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.37.0 (#215) (f701ed3)
  • extractor: normalize Dropload download URLs (69afcdc)

Features

Bug Fixes

  • fetcher: import correct Headers (e03621d)

0.36.2 (2025-07-14)

Miscellaneous Chores

Bug Fixes

  • extractor: support DoodStream via cloudflarestorage (25d3211)
  • source: handle non-existent movies gracefully (a371f86)

0.36.1 (2025-07-13)

Bug Fixes

  • source: handle non-existent content gracefully via Movix (599e6ea)

0.36.0 (2025-07-13)

Features

0.35.0 (2025-07-13)

Miscellaneous Chores

  • deps: update eslint monorepo to v9.31.0 (#206) (b4d5563)

Features

  • source: fix Frembed domain and enable it for movies (a4e2472)

0.34.1 (2025-07-11)

Miscellaneous Chores

  • deps: lock file maintenance (#202) (32d125d)
  • deps: update dependency @types/node to v22.16.0 (#201) (3eae8f0)
  • deps: update dependency typescript-eslint to v8.36.0 (#203) (7503503)
  • deps: update jest monorepo to v30.0.4 (#198) (1b40ecd)

Bug Fixes

  • extractor: ignore processing SuperVideo files (b11bba7)

Code Refactoring

  • fetcher: switch to undici fetch (2c21094)

0.34.0 (2025-07-02)

Miscellaneous Chores

  • deps: update eslint monorepo to v9.30.1 (#196) (2515a34)
  • source: improve Soaper matching (ce4a00c)

Features

  • extractor: add StreamEmbed support (3d28b22)
  • source: add MegaKino support (e73dba8)

Code Refactoring

  • extractor: move title height guessing into central place (5da52d6)
  • extractor: sort extractors (1c986b0)
  • more consistent import style (5c7b3fb)

0.33.0 (2025-07-01)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5.1.0 (#190) (4213b15)
  • deps: update dependency @types/jest to v30 (#193) (947060b)
  • deps: update dependency @types/node to v22.15.34 (#192) (091bb44)
  • deps: update dependency typescript-eslint to v8.35.1 (#194) (ac78e68)
  • extractor: add viaMediaFlowProxy flag to extractors (8c8bfd6)
  • extractor: simplify type and passing of height (b88eba0)
  • remove warmup (bf2187b)

Features

  • add Japanese and Korean to languages for VixSrc (81434ff)
  • extractor: implement Streamtape via MediaFlow Proxy (9d3ce24)
  • make multi sources explicitly configurable (a0ed13f)

Bug Fixes

  • source: update Frembed domain (0fe5659)

0.32.5 (2025-06-28)

Miscellaneous Chores

  • deps: update eslint monorepo to v9.30.0 (#187) (de3cc10)
  • fetcher: configure max for all TTLCaches (881fed5)
  • fetcher: use gzip to compress HTTP cache (acaa722)
  • fetcher: use LRUCache for HTTP responses (f5121bb)

Bug Fixes

  • deps: update dependency undici to v7.11.0 (#184) (70df4c2)

Reverts

  • Revert "fix(fetcher): remove 200 minimum cache" (aee0fd8)

0.32.4 (2025-06-26)

Miscellaneous Chores

  • extractor: handle Dropload queued files better (adae573)
  • keep showing VixSrc for Italian to avoid confusions (d44da65)

0.32.3 (2025-06-26)

Bug Fixes

  • extractor: disable ip/session locked Fsst (00681e1)

0.32.2 (2025-06-25)

Bug Fixes

  • extractor: filter by configured languages in VixSrc (b9d0fb3)

0.32.1 (2025-06-25)

Bug Fixes

  • extractor: do not cache session-scoped Fsst (ec037d7)
  • fetcher: remove 200 minimum cache (80e4f4e)

0.32.0 (2025-06-25)

Miscellaneous Chores

  • deps: update dependency jest to v30.0.3 (#174) (2ed2ea3)
  • deps: update node.js to v22.17.0 (#178) (28123ca)
  • handle invalid MediaFlow Proxy password better (e895077)

Features

  • extractor: support multi-language in VixSrc (c0fc6ff)
  • make VixSrc a default multi-language source (35e049f)

Bug Fixes

  • build MediaFlow Proxy URL without concatenation (3ac1063)

Code Refactoring

  • add support for multi-language extractor results (91d5e9d)

0.31.2 (2025-06-24)

Miscellaneous Chores

  • empty commit to trigger release (5fffd0a)

0.31.1 (2025-06-24)

Bug Fixes

  • extractor: avoid cache clash between context dependent extractors (287b031)

0.31.0 (2025-06-24)

Features

  • extractor: implement VixSrc via MediaFlow Proxy (f12e3c5)
  • pre-load ElfHosted MediaFlow Proxy config URL (9e22420)

Bug Fixes

  • support password-less MediaFlow Proxy (39dec26)
  • typo/grammar mistake in includeExternalUrls config option (412e89b)

Code Refactoring

  • pass Context instead of Config to MFP helper (7ea5722)

0.30.2 (2025-06-24)

Bug Fixes

  • source: update Frembed domain (24601fe)

Code Refactoring

  • extract Media Flow Proxy functions (b2eb16f)

0.30.1 (2025-06-23)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.35.0 (#164) (5656abb)

Bug Fixes

  • source: do not mix es/mx in Cuevana (bd67664)

0.30.0 (2025-06-23)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v5 (#160) (74e9653)
  • deps: update dependency @types/node to v22.15.32 (#159) (fca2841)
  • extractor: add MediaFlow Proxy info to Mixdrop label (d641fa1)

Features

  • extractor: implement Mixdrop via MediaFlow Proxy (7c60042)
  • extractor: implement Uqload via MediaFlow Proxy (ab588a1)
  • fetcher: add proxy support (f90a53d)

Bug Fixes

  • extractor: introduce format and set notWebReady accordingly (fd1145c)

0.29.3 (2025-06-19)

Miscellaneous Chores

  • deps: update jest monorepo to v30.0.1 (#152) (ac73597)
  • deps: update jest monorepo to v30.0.2 (#154) (6f1f046)
  • extractor: show label instead of host for errors (1d263b5)
  • fetcher: remove unneeded istanbul (d88cfd4)
  • make ip in Context optional (138e92a)
  • use add-on URL as default externalUrl (552620a)

Bug Fixes

  • config checkbox handling of includeExternalUrls (b5855aa)

Tests

  • introduce helper function createTestContext (2d4c5a8)

0.29.2 (2025-06-18)

Miscellaneous Chores

  • deps: update dependency fetch-mock to v12.5.3 (#148) (9fcc1c6)
  • do not show external URLs by default (c1f9de5)
  • more minimal result format with less bloat and icons (deef8ab)

Bug Fixes

  • extractor: handle Fsst with single file result (6c7993c)

0.29.1 (2025-06-17)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.34.1 (#145) (aa9085c)
  • fetcher: remember recent timeouts and throw if count is too high (f7042b9)

Code Refactoring

  • avoid leaking fetch internals by introducing TimeoutError (e1f5192)

0.29.0 (2025-06-16)

Miscellaneous Chores

  • deps: lock file maintenance (#144) (b00ec55)
  • deps: update dependency @types/node to v22.15.31 (#143) (a5daea4)
  • extractor: set Referer to URL origin for external URLs (952993a)
  • source: improve Eurostreaming (IT) search with multi-word keyword (a4ceca5)

Features

  • source: add basic Cuevana support (f192051)

Code Refactoring

  • fetcher: introduce constants for defaults (2a8e67c)
  • fetcher: use Semaphore with timeout for queuing (d5ee89d)

0.28.4 (2025-06-15)

Miscellaneous Chores

  • fetcher: increase general timeouts (6cf31f6)
  • increase tmdb queuing limits (e9ccee5)

Bug Fixes

  • extractor: handle missing height infos in playlist properly (3a28de4)
  • extractor: only cache URL results if there was no error (dd121a0)

0.28.3 (2025-06-14)

Bug Fixes

  • fetcher: consider request body for cache key (6541782)

0.28.2 (2025-06-14)

Miscellaneous Chores

  • deps: update eslint monorepo to v9.29.0 (#138) (0e6558e)
  • do not pass referer through context (f11c591)
  • extractor: add various exotic DoodStream domains (81d788e)
  • handle not found TMDB IDs better (5f34be1)
  • implement rate-limit detection (605e88f)

Bug Fixes

  • source: adapt and enable Eurostreaming (IT) again (6a773f7)

Code Refactoring

  • use context scoped fixtures (2853bff)
  • use proper prototype class methods (4bc2569)

Tests

  • hand-rolled, explicit Fetcher mock (3a4ff73)
  • instantiate mocked Fetcher with logger consistently (4caf62a)

0.28.1 (2025-06-13)

Miscellaneous Chores

  • deps: update dependency ts-jest to v29.4.0 (#135) (af8cadc)
  • deps: update jest monorepo to v30 (c9d8a03)
  • fetcher: decrease regular request timeout to 5s (5aeab3f)
  • rename handler to source (b4b8581)

Bug Fixes

  • extractor: detect SuperVideo video deletion/expiration (d1da91e)
  • extractor: handle missing VidSrc files (013fb40)

Code Refactoring

  • clean up handler import (9432ba5)
  • define member accessiblity explicitly (bdae1ff)
  • extractor: introduce parent class for simplifications (9b59432)
  • introduce helper showExternalUrls() (15099de)
  • make BlockedReason an enum (b5067aa)
  • make CountryCode an enum (250d6a1)
  • separate handlers and extractors (d2d7e84)

Tests

  • enable new globalsCleanup (2447780)

0.28.0 (2025-06-11)

Miscellaneous Chores

  • extractor: improve SuperVideo title (2ea8c16)

Features

  • handler: add VidSrc with CloudStream Pro support (dd6d485)

Bug Fixes

  • fetcher: correct noFlareSolverr logic (d0efc07)

Code Refactoring

  • extract playlist height guessing (4dc3c63)

0.27.2 (2025-06-11)

Miscellaneous Chores

  • extractor: decrease timeout and ignore errors for external URLs (19395f1)
  • extractor: support dooood URLs (63079bf)

Bug Fixes

  • handler: avoid creating invalid URLs in KinoGer (9797957)

0.27.1 (2025-06-10)

Miscellaneous Chores

Bug Fixes

  • handler: do not share decipher instance in KinoGer (fcec03a)

0.27.0 (2025-06-10)

Miscellaneous Chores

  • extractor: add DoodStream height guessing based on title (b940df5)

Features

  • extractor: implement KinoGer extractor (262abde)

Bug Fixes

  • extractor: prefer using extractor title (041c04e)

0.26.1 (2025-06-10)

Miscellaneous Chores

  • extractor: support dooodster links via DoodStream (141c737)
  • extractor: support embed-only SuperVideo URLs (dd1b3a1)
  • handler: generalize KinoGer to support more (external) URLs (42950bc)

Code Refactoring

  • extractor: add return type to all extract methods (4da121d)
  • extractor: introduce URL normalization (2d615ce)
  • handler: improve KinoGer readability (73ea091)
  • remove always true conditional (7b933bf)

0.26.0 (2025-06-09)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.34.0 (#127) (b5a4de9)

Features

  • handler: add support for KinoGer Fsst (8382c00)

Bug Fixes

  • avoid potential queuing dead lock (16e1aab)

Code Refactoring

  • season instead of series ;) (7ad61df)

Tests

  • remove usesless filter calls (bc9c41f)

0.25.3 (2025-06-09)

Miscellaneous Chores

  • deps: update dependency @types/express to v5.0.3 (#124) (ffeb135)
  • deps: update dependency @types/node to v22.15.30 (#125) (315588b)
  • extractor: don't use FlareSolverr for external URLs (1ca4ea4)
  • fetcher: only call FlareSolverr for known challenge blocks (114c383)

Bug Fixes

  • deps: update dependency cheerio to v1.1.0 (#122) (6c5dcec)
  • handler: fix KinoKiste which is now StreamKiste (cbec7c1)

Tests

  • use snapshots for manifest config tests (6dff634)

0.25.2 (2025-06-08)

Miscellaneous Chores

  • extractor: add bytes detection to DoodStream (d1ff7cd)
  • handler: add height detection to Soaper (7d0544a)

Code Refactoring

  • UrlResult[] instead of UrlResult | undefined (0446d52)

Tests

  • handler: avoid side-effects by using a fresh handler for each test (364bf16)

0.25.1 (2025-06-08)

Miscellaneous Chores

  • handler: add year to soaper result movie title (968b7d4)
  • introduce config helper, enable English by default (48209ac)

Code Refactoring

  • introduce ImdbId and TmdbId (374896c)
  • move ids into dedicated folder (8724e04)
  • simplify id usage and imdb <-> tmdb transformations (fbae392)
  • strictly type ContentType (62f18ec)

0.25.0 (2025-06-07)

Features

  • handler: implement EN Soaper source (717c2af)

Code Refactoring

  • add custom helper for flags instead of package (a56aea5)

Tests

0.24.1 (2025-06-06)

Miscellaneous Chores

  • only warm up cache in prod (99434aa)
  • warm up cache only with trending movies and tv shows (ab39636)

0.24.0 (2025-06-06)

Miscellaneous Chores

  • add statusText to HttpError and show in result as well (8766988)
  • handler: support TMDB ID in Frembed (01218c7)
  • imdb: stricter parsing checks (860a6ae)
  • tmdb: add getImdbIdFromTmdbId and cache both ID transformations (a0e83f2)
  • tmdb: add parseTmdbId (355663f)

Features

  • implement hourly movie cache warmup (9ba4e73)

0.23.5 (2025-06-05)

Miscellaneous Chores

  • introduce HttpError and show status in result (d8f0c46)

Bug Fixes

  • always sort external URLs down (8e57400)
  • handler: skip invalid CSV URLs (04ee59e)

0.23.4 (2025-06-05)

Miscellaneous Chores

  • fetcher: simplify queuing and allow parallel requests (be34643)

0.23.3 (2025-06-05)

Miscellaneous Chores

  • fetcher: enable keepalive (65d2d0a)

Bug Fixes

  • fetcher: use expires FlareSolverr cookie prop (#111) (523bbc0)

Code Refactoring

  • fetcher: add full FlareSolverrResult type (092ee4b)
  • fetcher: introduce CustomRequestInit (63a53a1)

0.23.2 (2025-06-04)

Miscellaneous Chores

  • fetcher: persist and use FlareSolverr cookie and user agent (aa4c672)
  • fetcher: use queue limit of 10 again :) (0d3a5b8)
  • fetcher: use well-working node user agent by default again (efb0f96)

0.23.1 (2025-06-04)

Miscellaneous Chores

  • fetcher: increase queue limit to 30 (e6aa95f)
  • fetcher: use FlareSolverr also for other 403 Cloudflare responses (7387aef)

Bug Fixes

  • fetcher: improve Flaresolverr fetching (2c9faeb)

0.23.0 (2025-06-04)

Miscellaneous Chores

  • do not log headers for known blocking reasons (7ec7219)

Features

  • fetcher: add FlareSolverr support (af65ed0)

Bug Fixes

  • extractor: do not mutate URLs to avoid cache misses (1b8f75f)
  • never cache result errors (fef59dd)

0.22.10 (2025-06-04)

Miscellaneous Chores

  • fetcher: hard-code user-agent again for debugging purposes (422f7d0)

Code Refactoring

  • extract env access into helpers (77fc20c)

0.22.9 (2025-06-04)

Miscellaneous Chores

  • cache successful results as long as we safely can (b69c9cd)
  • deps: update dependency @stylistic/eslint-plugin to v4.4.1 (#101) (3894614)
  • log response headers for blocks (d78dca3)

0.22.8 (2025-06-03)

Miscellaneous Chores

  • add more error infos to results (ef2c45e)
  • implement queued fetching (f0817a3)

0.22.7 (2025-06-03)

Miscellaneous Chores

  • add language name to config in manifest as well (ae6fdfe)
  • catch handler blocked errors and report the and report themm (9d17f53)
  • deps: update dependency typescript-eslint to v8.33.1 (#97) (f0ffd9b)
  • try to log error causes (f6967da)
  • use tsconfig base for node 22 (b94f989)

Bug Fixes

  • handler: use new frembed domain (again) (0b9cf21)

0.22.6 (2025-06-02)

Miscellaneous Chores

  • improve results format and refactor name/title generation (e4dd16e)

0.22.5 (2025-06-02)

Miscellaneous Chores

  • deps: lock file maintenance (#93) (dbf1dd1)
  • deps: update dependency @types/node to v22.15.29 (#92) (d04c928)

Bug Fixes

  • handler: use new frembed domain (e86b5c3)

Tests

  • fix mocked Fetcher real calls by using same headers (12d91ba)

0.22.4 (2025-06-01)

Miscellaneous Chores

  • generalize forbidden/blocked handling (2eb09fc)

Bug Fixes

  • fetcher: use "node" as user agent explicitly (c3a2f9f)
  • handler: disable Eurostreaming as long as it doesn't work (cd8ff60)

0.22.3 (2025-06-01)

Miscellaneous Chores

  • fetcher: hardcode user-agent for now to avoid using "node" (424ed78)

0.22.2 (2025-06-01)

Miscellaneous Chores

  • fetcher: add response header info to non-expected errors (717019e)
  • fetcher: remove Origin header (ca98122)

0.22.1 (2025-05-31)

Miscellaneous Chores

  • deps: update eslint monorepo to v9.28.0 (#85) (2f9a349)

Bug Fixes

  • switch back to fetch and do not generate user agents (fbc1aa9)

0.22.0 (2025-05-29)

Miscellaneous Chores

  • deps: lock file maintenance (#79) (17b6d79)
  • deps: update dependency @types/node to v22.15.21 (#78) (19d7a8b)
  • deps: update dependency typescript-eslint to v8.33.0 (#82) (62098f8)
  • fetcher: reduce timeout to 5s (5bfe2f8)
  • fetcher: set more headers to mimick browser requests (07ddaab)
  • fetcher: use more realistic referer/origin header values (02b73b4)

Features

  • make external URL exclusion configurable (799ca97)

Bug Fixes

  • detect and report Cloudflare challenge blocks (0638ce0)

Code Refactoring

  • handler: remove not needed 404 special handling (862d3bb)

Tests

  • remove duplicated Fetcher test parts (f2a7da2)

0.21.0 (2025-05-25)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v4.3.0 (#75) (61a17b1)
  • deps: update dependency @stylistic/eslint-plugin to v4.4.0 (#77) (9e9d4b2)

Features

  • add title to meta, restructure result name (d4e402e)
  • extractor: cache not found results too (6b5c9a4)

Code Refactoring

  • introduce type for CountryCode (f27fc6c)
  • move bytes, height and countryCode into meta object (979dddd)

Tests

  • update fetch fixtures only when requested (faa6eb6)

0.20.1 (2025-05-23)

Miscellaneous Chores

  • better handle not found streams/links (8e791bb)
  • deps: update node.js to v22.16.0 (#72) (305ce3d)
  • extractor: use HEAD instead of GET to check external URLs (0a99f1e)
  • fetcher: set Origin header and add back proxy headers (b313c4e)
  • log IP in stream request (5c51abb)
  • reduce axios retries to 1 again, avoid risky retries (1447ada)

Bug Fixes

  • handler: do not ignore main link in Eurostreaming (f4a0b03)

Tests

  • do not reset but only clear mocks (1e9ebd5)

0.20.0 (2025-05-21)

Features

  • extractor: add external URL support (23445c1)

Tests

  • use snapshots, also use fixtures for axios errors (e90c89a)

0.19.4 (2025-05-21)

Bug Fixes

  • handler: return only results for configured country/language in CineHDPlus (ac8dd43)

0.19.3 (2025-05-20)

Miscellaneous Chores

  • fetcher: increase timeout to 15s (#64) (8daabf1)

0.19.2 (2025-05-19)

Miscellaneous Chores

  • deps: update dependency @types/express to v5.0.2 (#61) (ba57833)
  • deps: update dependency @types/node to v22.15.19 (#62) (1cc2a18)
  • fetcher: remove proxy headers, add default timeout (c2c5331)

0.19.1 (2025-05-18)

Reverts

  • "feat(extractor): implement UQLoad" (57799a7)

0.19.0 (2025-05-18)

Features

  • extractor: implement UQLoad (fb61d39)
  • implement IMDb -> TMDB ID conversion helper (03cb05e)

Code Refactoring

  • extractor: manipulate URL instead of creating new one (b5c45d8)
  • handler: switch Frembed to TMDB search which is more reliable (d8a19d4)

0.18.0 (2025-05-17)

Miscellaneous Chores

  • manifest: add stremio-addons.net signature (ac4ded4)

Features

  • configure languages instead of handlers (5b389ad)

0.17.0 (2025-05-17)

Miscellaneous Chores

  • create ID per request for logging and error response (f635d6c)

Documentation

Features

  • handler: limited Frembed support (8b82215)

Code Refactoring

  • cleanup url and extractorRegistry variable/prop names (4a705ce)
  • use template literal consistently (f2fb482)

0.16.1 (2025-05-16)

Reverts

  • "feat(extractor): implement Mixdrop" (bb395f0)

0.16.0 (2025-05-16)

Miscellaneous Chores

  • deps: update dependency @eslint/js to v9.27.0 (#51) (8bc30b8)
  • deps: update dependency eslint to v9.27.0 (#52) (16b01a5)
  • deps: update dependency ts-jest to v29.3.4 (#50) (6027332)
  • rename behaviourHints to behaviorHints 🤦 (e06b8a2)
  • return stream.behaviorHints.videoSize when possible (07ffe44)

Features

  • extractor: implement Mixdrop (4c53161)

Bug Fixes

  • extractor: do not throw for broken/outdated link (63a79f8)

Code Refactoring

  • extractor: improve DoodStream comment about no match case (24f1107)
  • use url.href instead of url.toString() (b790cc7)

0.15.2 (2025-05-16)

Miscellaneous Chores

  • compare by label if both height and bytes are the same (e13ab0c)

0.15.1 (2025-05-16)

Bug Fixes

  • rename behaviourHints.group to behaviourHints.bingeGroup (241e6b0)

0.15.0 (2025-05-16)

Features

  • extractor: try to semi-blindly implement DoodStream support (8740979)

Code Refactoring

  • extractor: remove embed part from extractor (87ec328)
  • fetcher: use origin for the referrer (938f6cb)

0.14.1 (2025-05-15)

Miscellaneous Chores

  • add missing dot after GitHub link (91a6935)
  • deps: update dependency ts-jest to v29.3.3 (#44) (acd29d8)

Bug Fixes

  • add back cache-control headers (c1da2d5)
  • fetcher: do not overwrite config (e8ed101)

0.14.0 (2025-05-14)

Miscellaneous Chores

  • fetcher: always set same URL host as referer (281cba8)

Features

  • fetcher: retry all 4xx requests too (728bc7e)

Code Refactoring

  • handler: also pass content type to handle() (956ba68)

0.13.0 (2025-05-14)

Features

  • handler: add CineHDPlus (es/mx series) (7f26047)
  • handler: add Eurostream (it series) (c6d9bfb)

0.12.0 (2025-05-13)

Miscellaneous Chores

  • extractor: log more infos (349c26c)

Features

  • fetcher: add retry capability using axios-retry (1c1ffcd)

0.11.2 (2025-05-13)

Code Refactoring

  • fetcher: switch to axios for hopefully better errors (41d2f23)

0.11.1 (2025-05-13)

Miscellaneous Chores

  • add link to GitHub on configure page, improve content type info (1be7564)

0.11.0 (2025-05-13)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.32.1 (#37) (11fa19c)
  • manifest: don't show language codes next to flags (ce6aca5)

Features

  • handler: return handler issues as streams for better visibility (d4db807)

Code Refactoring

  • extract stream resolving and add tests (5665c6a)
  • routes: use router via controllers (15a53de)
  • simplify embed extractor handling and hide away internals (68a7a41)

0.10.1 (2025-05-12)

Bug Fixes

  • remove cache-control headers (4da2567)

0.10.0 (2025-05-12)

Features

Bug Fixes

  • add language to sourceId for better grouping / binge watching (3d4129f)

Code Refactoring

  • rename language to countryCode to avoid confusion (8ba6fdb)

Tests

  • handler: use correct name in describe block (9145e9c)

0.9.0 (2025-05-12)

Features

  • handler: add MostraGuarda (02c9ae3)
  • manifest: show supported content types for each config/handler (23eb87e)

0.8.0 (2025-05-12)

Build System

  • keep analysing test files but still ignore them for the build (2128e26)

Miscellaneous Chores

  • logging: simplify format definition, do nothing in test (13520aa)

Features

  • fetcher: work only with URL objects, set 2 more proxy headers (072ec4a)
  • handler: add FrenchCloud (9e74bd7)

Code Refactoring

  • handler: remove unnecessary Promise.resolve() usage (4cde860)

0.7.1 (2025-05-12)

Code Refactoring

  • drop logging helper in favor of winston using DI (fc02420)
  • make cache ttl configurable per embed extractor (09ee685)
  • simplify resolving of promises (8d003dd)
  • use country-emoji library instead of custom helper (89e5bb1)

0.7.0 (2025-05-12)

Miscellaneous Chores

  • deps: lock file maintenance (#30) (23d1238)
  • limit to 5 concurrent fetch sockets (1654c0b)
  • renovate: limit updates of often-releasing packages a bit (df6f14e)

Features

  • send also X-Real-IP next to X-Forwarded-For (b7a8fc4)

Bug Fixes

  • deps: update dependency user-agents to v1.1.537 (#31) (1626cf0)

Code Refactoring

  • better names for the cache properties (0a57114)

0.6.0 (2025-05-11)

Features

  • cache extractor results for 15 minutes (8226d07)
  • introduce Context and use it to set X-Forwarded-For in requests (efef039)
  • introduce custom UrlResult which will be transformed to Stream (ee0efa5)
  • use randomized user agent for fetch (b114ac1)

Bug Fixes

  • improve height and bytes types (477c3d1)

Code Refactoring

  • DI for handlers, extractors and fetcher (96dde8a)
  • use URL instead of string where possible (4787a13)

0.5.0 (2025-05-10)

Features

Bug Fixes

  • use correct index path in Dockerfile (841f2a0)

Tests

  • improve fetch fixture handling (05c0163)

0.4.1 (2025-05-09)

Bug Fixes

  • keep replacing the manifest version on release (6619bfb)

0.4.0 (2025-05-09)

Miscellaneous Chores

Features

0.3.0 (2025-05-09)

Features

  • add support for configuring manifest description via env var (193f815)

0.2.1 (2025-05-08)

Build System

  • docker: clean-up needed env vars, use sane defaults (#21) (639f945)

0.2.0 (2025-05-08)

Miscellaneous Chores

  • add a build workflow to ensure the Dockerfile is alright (#4) (1f364fc)
  • align github action files better (c73c58b)
  • configure Release Please (26b19b0)
  • Configure Renovate (#1) (7b9f3cb)
  • deps: lock file maintenance (#5) (27aa1ad)
  • deps: update dependency @types/node to v22.15.16 (#3) (9c8874f)
  • deps: update dependency @types/node to v22.15.17 (#6) (e063d71)
  • fine-tune renovate config (b771cee)
  • improve description (828d0cd)
  • initial commit (1494b25)
  • opt-in to more Renovate features, e.g. automerge (00b302a)
  • remove unnecessary TS allows (bf84233)
  • remove unused packages and jest cache (44a60f7)

Features

  • introduce MANIFEST_VERSION env var (#7) (3078e02)
  • switch to node-alpine (98d391f)

Code Refactoring

  • make resolution and size optional and extract resolution helper (3a87ddb)
  • transform handlers to classes, improve config generation (afec515)

Tests

  • simplify embed expectation (b9303dc)