webstreamr-github/CHANGELOG.md
2025-08-16 18:55:59 +02:00

87 KiB

Changelog

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)