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 |
|
WebStreamr
|
f27fc6c38a
|
refactor: introduce type for CountryCode
|
2025-05-25 19:32:16 +02:00 |
|
WebStreamr
|
8e791bbe24
|
chore: better handle not found streams/links
|
2025-05-23 10:40:59 +00:00 |
|
WebStreamr
|
e90c89af89
|
test: use snapshots, also use fixtures for axios errors
|
2025-05-21 20:37:35 +00:00 |
|
WebStreamr
|
23445c143b
|
feat(extractor): add external URL support
This could still be a useful fallback on some devices since it indicates
that we found a potential embed URL but could not extract the video URL.
|
2025-05-21 19:22:32 +00:00 |
|
WebStreamr
|
5b389ada9e
|
feat: configure languages instead of handlers
just feels more natural and helps maintainence. handlers should be an
internal thing.
|
2025-05-18 00:00:10 +02:00 |
|
WebStreamr
|
f635d6c233
|
chore: create ID per request for logging and error response
|
2025-05-17 21:06:51 +02:00 |
|
WebStreamr
|
4a705ce088
|
refactor: cleanup url and extractorRegistry variable/prop names
|
2025-05-17 20:25:51 +02:00 |
|