Commit graph

67 commits

Author SHA1 Message Date
WebStreamr
db860c25c6
fix(extractor): ensure every result has a ttl 2026-01-26 13:37:26 +00:00
GSTAR
a00fa2c3d6
fix(extractor): use MediaFlow Proxy for DoodStream (#676)
Co-authored-by: WebStreamr <210764791+webstreamr@users.noreply.github.com>
2026-01-20 21:49:37 +01:00
WebStreamr
7b708e2385
chore: add priority for sorting, move VixSrc up and RgShows down 2026-01-18 13:21:17 +00:00
WebStreamr
bad1170421
feat: introduce fallback sources and mark VidSrc and RgShows as such
fallback sources are only considered when not enough results are found.
the idea is to use it for sources which are very useful as fallback but
not everytime either because the quality is not good or querying them is
resource intensive.
2026-01-15 14:03:03 +00:00
WebStreamr
d7edb51698
refactor: add generic source and extractor ids to meta and generalize bingeGroup generation 2025-12-11 16:02:13 +00:00
WebStreamr
cc3d30be2f
chore: add host info of relevant URL to all errors 2025-10-24 14:26:54 +00:00
WebStreamr
a42edcd438
fix(source): remove PrimeWire
they started to limit redirect url resolve requests to one per second
2025-10-13 10:33:16 +00:00
WebStreamr
a729dc85e0
chore: add url info to blocked error 2025-09-12 18:35:22 +00:00
WebStreamr
cfcf81b665
refactor: simplify passing around meta 2025-09-03 19:55:58 +00:00
WebStreamr
5547fd5486
fix(source): move countryCode filtering into central place 2025-09-03 12:18:56 +00:00
WebStreamr
9da7c07dc6
refactor(source): introduce abstract parent class 2025-08-31 18:52:42 +00:00
WebStreamr
cefc80fa55
chore(extractor): move Fetcher into parent, guess missing heights for SuperVideo 2025-08-28 18:58:15 +00:00
WebStreamr
5e6c71f4ad
feat(extractor): add YouTube extractor 2025-08-17 18:59:29 +00:00
WebStreamr
176c4c93e7
refactor: fully replace handler with source 2025-08-17 18:22:04 +00:00
WebStreamr
854b211f2c
feat: do not show errors by default 2025-08-04 09:52:48 +00:00
WebStreamr
b94c539269
refactor(source): consistently define baseUrl 2025-08-04 09:27:25 +00:00
WebStreamr
51b9104f07
chore: handle cloudflare 451 censor block, show block reasons 2025-07-21 19:35:52 +00:00
WebStreamr
453cc747a1
refactor: introduce createSources() analogue to createExtractors() 2025-07-21 14:39:13 +00:00
WebStreamr
8ad5a8f8e6
chore: add explicit info that we can't fix 5xx errors 2025-07-20 11:45:01 +00:00
WebStreamr
d6e29185e5
chore: sort errors down 2025-07-14 14:42:04 +00:00
WebStreamr
5c7b3fb7f2
refactor: more consistent import style 2025-07-02 09:28:10 +00:00
WebStreamr
91d5e9dd36
refactor: add support for multi-language extractor results 2025-06-25 18:27:44 +00:00
WebStreamr
e895077a7b
chore: handle invalid MediaFlow Proxy password better 2025-06-25 18:16:12 +00:00
WebStreamr
fd1145c162
fix(extractor): introduce format and set notWebReady accordingly
According to https://github.com/Stremio/stremio-addon-sdk/blob/master/docs/api/responses/stream.md
2025-06-20 18:40:59 +00:00
WebStreamr
2d4c5a8221
test: introduce helper function createTestContext 2025-06-19 11:32:59 +00:00
WebStreamr
c1f9de58b0
chore: do not show external URLs by default 2025-06-18 10:06:13 +00:00
WebStreamr
f7042b94ef
chore(fetcher): remember recent timeouts and throw if count is too high
This should avoid issues with longer outages of hosters like we had with
DoodStream now twice recently.
2025-06-17 19:09:22 +00:00
WebStreamr
e1f5192f4b
refactor: avoid leaking fetch internals by introducing TimeoutError 2025-06-17 15:42:47 +00:00
WebStreamr
605e88fef4
chore: implement rate-limit detection 2025-06-14 19:51:00 +02:00
WebStreamr
2853bff284
refactor: use context scoped fixtures 2025-06-13 22:37:50 +02:00
WebStreamr
3a4ff73953
test: hand-rolled, explicit Fetcher mock 2025-06-13 21:53:11 +02:00
WebStreamr
4caf62a367
test: instantiate mocked Fetcher with logger consistently 2025-06-13 13:20:13 +00:00
WebStreamr
9b5943208e
refactor(extractor): introduce parent class for simplifications 2025-06-13 10:04:40 +00:00
WebStreamr
bdae1ff346
refactor: define member accessiblity explicitly 2025-06-13 09:42:06 +00:00
WebStreamr
b4b8581383
chore: rename handler to source 2025-06-12 21:05:24 +00:00
WebStreamr
d2d7e84d9b
refactor: separate handlers and extractors 2025-06-12 20:56:50 +00:00
WebStreamr
b5067aa0a9
refactor: make BlockedReason an enum 2025-06-12 16:00:34 +00:00
WebStreamr
250d6a1323
refactor: make CountryCode an enum 2025-06-12 15:56:33 +00:00
WebStreamr
0446d52e78
refactor: UrlResult[] instead of UrlResult | undefined 2025-06-08 18:55:03 +00:00
WebStreamr
fbae3924e5
refactor: simplify id usage and imdb <-> tmdb transformations 2025-06-08 13:50:53 +00:00
WebStreamr
62f18ece85
refactor: strictly type ContentType 2025-06-08 07:54:17 +00:00
WebStreamr
876698825f
chore: add statusText to HttpError and show in result as well 2025-06-06 06:50:31 +00:00
WebStreamr
d8f0c4602c
chore: introduce HttpError and show status in result 2025-06-05 19:52:49 +00:00
WebStreamr
7ec7219ed4
chore: do not log headers for known blocking reasons 2025-06-04 12:05:09 +00:00
WebStreamr
b69c9cde03
chore: cache successful results as long as we safely can 2025-06-04 10:06:24 +00:00
WebStreamr
d78dca3345
chore: log response headers for blocks 2025-06-04 08:45:08 +00:00
WebStreamr
f0817a3dd6
chore: implement queued fetching 2025-06-03 22:44:57 +00:00
WebStreamr
ef2c45e2cb
chore: add more error infos to results 2025-06-03 21:56:19 +00:00
WebStreamr
2eb09fc65a
chore: generalize forbidden/blocked handling 2025-06-01 19:31:11 +00:00
WebStreamr
0638ce0a8c
fix: detect and report Cloudflare challenge blocks 2025-05-29 17:17:17 +00:00