webstreamr
|
6b8e9d7ac6
|
chore(release): release v0.44.0 (#288)
|
2025-08-17 19:00:58 +00:00 |
|
WebStreamr
|
5e6c71f4ad
|
feat(extractor): add YouTube extractor
|
2025-08-17 18:59:29 +00:00 |
|
WebStreamr
|
f58c30299a
|
chore(source): bring back Frembed
|
2025-08-17 18:28:24 +00:00 |
|
WebStreamr
|
71979d82b6
|
chore(source): disable Soaper
|
2025-08-17 18:25:09 +00:00 |
|
WebStreamr
|
176c4c93e7
|
refactor: fully replace handler with source
|
2025-08-17 18:22:04 +00:00 |
|
webstreamr
|
c34a1eafcc
|
chore(release): release v0.43.3 (#285)
|
2025-08-16 22:05:07 +00:00 |
|
webstreamr
|
9897fa8225
|
chore(release): release v0.43.2 (#281)
|
2025-08-16 18:55:59 +02:00 |
|
WebStreamr
|
ef613f2742
|
chore: double HTTP cache, quadruple extractor cache
|
2025-08-16 16:40:15 +00:00 |
|
webstreamr
|
ac0e54f39f
|
chore(release): release v0.43.1 (#280)
|
2025-08-15 13:45:00 +00:00 |
|
webstreamr
|
f15b00710b
|
chore(release): release v0.43.0 (#279)
|
2025-08-15 12:37:44 +02:00 |
|
WebStreamr
|
cfe38878d7
|
feat(source): add XPrime
|
2025-08-15 10:35:56 +00:00 |
|
WebStreamr
|
fe5b3af887
|
chore(fetcher): allow to customize minimum cache ttl
|
2025-08-15 08:54:14 +00:00 |
|
WebStreamr
|
2a5284d555
|
refactor(fetcher): sort custom request init props
|
2025-08-15 08:50:38 +00:00 |
|
webstreamr
|
b1a4b8017f
|
chore(release): release v0.42.1 (#277)
|
2025-08-14 10:24:15 +02:00 |
|
webstreamr
|
c3fb400116
|
chore(release): release v0.42.0 (#276)
|
2025-08-13 12:51:17 +02:00 |
|
WebStreamr
|
a12ae7aaa5
|
chore(fetcher): retry 5xx errors up to 3 times
|
2025-08-13 10:49:36 +00:00 |
|
WebStreamr
|
17da20f6d0
|
fix: support stream resolving without config
|
2025-08-13 10:28:28 +00:00 |
|
webstreamr
|
7d85f37c21
|
chore(release): release v0.41.9 (#275)
|
2025-08-12 17:19:34 +02:00 |
|
WebStreamr
|
e28de7d4d9
|
revert: "fix(fetcher): remove weird proxy headers in request"
This reverts commit ee09e10e6e.
|
2025-08-12 15:15:03 +00:00 |
|
webstreamr
|
c76ec91d15
|
chore(release): release v0.41.8 (#270)
|
2025-08-12 14:44:22 +02:00 |
|
WebStreamr
|
617ae77825
|
fix(source): bring back PrimeWire 🎉
- use happy-dom instead of jsdom
- grab link token from app JS to resolve links
|
2025-08-12 12:41:21 +00:00 |
|
webstreamr
|
47dc0d57a8
|
chore(release): release v0.41.7 (#268)
|
2025-08-11 15:50:19 +00:00 |
|
WebStreamr
|
9a019396c8
|
fix(fetcher): simplify header and ttl determination, fix edge case bug
|
2025-08-11 15:47:04 +00:00 |
|
webstreamr
|
083bbb8e9b
|
chore(release): release v0.41.6 (#266)
|
2025-08-11 12:10:58 +00:00 |
|
WebStreamr
|
ee09e10e6e
|
fix(fetcher): remove weird proxy headers in request
looks like this is finally causing weird issues and leading to some
Cloudflare blocks. we might be better of without it, let's try..
|
2025-08-11 12:09:46 +00:00 |
|
WebStreamr
|
0efdfa4a6f
|
fix(fetcher): better detect inline Cloudflare Turnstile
|
2025-08-11 11:40:58 +00:00 |
|
webstreamr
|
24d2cff3f7
|
chore(release): release v0.41.5 (#262)
|
2025-08-11 08:46:06 +00:00 |
|
WebStreamr
|
6489b10527
|
chore(source): add English to VixSrc
It returns English links in most of the cases, this will unlock more
URLs for people only having English selected and MediaFlow Proxy configured
|
2025-08-11 08:44:33 +00:00 |
|
WebStreamr
|
491df54242
|
chore(manifest): sort sources for each language in configuration
|
2025-08-11 08:44:26 +00:00 |
|
WebStreamr
|
3aff950598
|
chore(manifest): add supported languages to description
|
2025-08-11 08:38:56 +00:00 |
|
WebStreamr
|
7d700103c4
|
chore(fetcher): decrease default timeout back to 10s
|
2025-08-11 08:38:56 +00:00 |
|
webstreamr
|
6285760bad
|
chore(release): release v0.41.4 (#260)
|
2025-08-08 08:28:48 +00:00 |
|
WebStreamr
|
78ced84774
|
chore(fetcher): block a host temporarily after 30 times timing out instead of 10
|
2025-08-08 08:27:40 +00:00 |
|
webstreamr
|
c14e1c008a
|
chore(release): release v0.41.3 (#258)
|
2025-08-06 09:10:38 +00:00 |
|
webstreamr
|
ff538303c6
|
chore(release): release v0.41.2 (#257)
|
2025-08-05 15:04:30 +02:00 |
|
webstreamr
|
2ab20dc9b8
|
chore(release): release v0.41.1 (#256)
|
2025-08-05 13:33:32 +02:00 |
|
WebStreamr
|
009bb930b5
|
chore(fetcher): increase default timeout to 15s
in most of the cases we're still very fast anyway
but in some of the small cases let's avoid timeout blocks by waiting
longer
|
2025-08-05 10:01:30 +00:00 |
|
WebStreamr
|
086c32f980
|
chore: health check improvements to avoid performance issues
- only once per minute
- concurrency 1
- use default timeout
|
2025-08-05 09:56:11 +00:00 |
|
webstreamr
|
6bf3dc3e2b
|
chore(release): release v0.41.0 (#244)
|
2025-08-04 11:55:24 +02:00 |
|
WebStreamr
|
854b211f2c
|
feat: do not show errors by default
|
2025-08-04 09:52:48 +00:00 |
|
WebStreamr
|
c81f17a19a
|
chore: use source baseUrl for source errors
|
2025-08-04 09:29:35 +00:00 |
|
WebStreamr
|
b94c539269
|
refactor(source): consistently define baseUrl
|
2025-08-04 09:27:25 +00:00 |
|
webstreamr
|
5728111fd2
|
chore(release): release v0.40.3 (#242)
|
2025-07-24 10:21:03 +02:00 |
|
WebStreamr
|
cc3dacdd76
|
refactor: extract error and logging helper
|
2025-07-24 08:16:40 +00:00 |
|
webstreamr
|
b15d93eca8
|
chore(release): release v0.40.2 (#241)
|
2025-07-23 07:45:03 +00:00 |
|
WebStreamr
|
be8c664b47
|
refactor: extract helpers to figure out which instance we're running on
|
2025-07-23 07:40:41 +00:00 |
|
webstreamr
|
337ced8467
|
chore(release): release v0.40.1 (#239)
|
2025-07-22 08:29:13 +00:00 |
|
webstreamr
|
ebcdc5ebd3
|
chore(release): release v0.40.0 (#237)
|
2025-07-21 20:05:12 +00:00 |
|
WebStreamr
|
951d442a7d
|
chore: mention languages and MediaFlow Proxy in description
|
2025-07-21 20:04:08 +00:00 |
|
WebStreamr
|
51b9104f07
|
chore: handle cloudflare 451 censor block, show block reasons
|
2025-07-21 19:35:52 +00:00 |
|
WebStreamr
|
114d296fe3
|
feat: disable extractors via config
|
2025-07-21 19:18:20 +00:00 |
|
WebStreamr
|
6fe09fc459
|
refactor: improve manifest type
|
2025-07-21 19:08:21 +00:00 |
|
WebStreamr
|
453cc747a1
|
refactor: introduce createSources() analogue to createExtractors()
|
2025-07-21 14:39:13 +00:00 |
|
webstreamr
|
ee411709fc
|
chore(release): release v0.39.2 (#227)
|
2025-07-20 20:46:46 +02:00 |
|
WebStreamr
|
674eb7ca6d
|
fix(fetcher): support Basic Auth
|
2025-07-20 18:44:37 +00:00 |
|
webstreamr
|
75a5133004
|
chore(release): release v0.39.1 (#225)
|
2025-07-20 14:01:52 +02:00 |
|
WebStreamr
|
8ad5a8f8e6
|
chore: add explicit info that we can't fix 5xx errors
|
2025-07-20 11:45:01 +00:00 |
|
WebStreamr
|
1a37662502
|
fix: use correct request ID header in context
|
2025-07-20 11:30:40 +00:00 |
|
webstreamr
|
70e6e670f3
|
chore(release): release v0.39.0 (#224)
|
2025-07-18 20:40:24 +02:00 |
|
WebStreamr
|
f6dcd74dfb
|
refactor: make TMDB detail fetching more DRY
|
2025-07-18 16:42:46 +00:00 |
|
webstreamr
|
b31e029145
|
chore(release): release v0.38.1 (#222)
|
2025-07-18 09:24:52 +00:00 |
|
WebStreamr
|
de8e0bdd94
|
fix: do not use cache and proxy headers for health requests
|
2025-07-18 09:23:45 +00:00 |
|
webstreamr
|
258859462f
|
chore(release): release v0.38.0 (#221)
|
2025-07-18 08:20:32 +00:00 |
|
WebStreamr
|
5555ba7040
|
refactor: extract context creation
|
2025-07-18 08:18:55 +00:00 |
|
webstreamr
|
21ad16861a
|
chore(release): release v0.37.2 (#220)
|
2025-07-17 10:02:00 +02:00 |
|
WebStreamr
|
1b9ee36cfd
|
revert: "chore: remove Soaper 😭" 🎉
This reverts commit df60013e16.
|
2025-07-17 07:56:54 +00:00 |
|
webstreamr
|
72e2f33074
|
chore(release): release v0.37.1 (#218)
|
2025-07-16 22:17:30 +02:00 |
|
webstreamr
|
45febec802
|
chore(release): release v0.37.0 (#217)
|
2025-07-15 21:52:43 +00:00 |
|
WebStreamr
|
8f7039bbb3
|
feat(source): add PrimeWire
|
2025-07-15 21:46:54 +00:00 |
|
WebStreamr
|
e03621db0b
|
fix(fetcher): import correct Headers
|
2025-07-15 20:08:45 +00:00 |
|
webstreamr
|
d70013ee8e
|
chore(release): release v0.36.2 (#213)
|
2025-07-14 19:17:39 +02:00 |
|
WebStreamr
|
d6e29185e5
|
chore: sort errors down
|
2025-07-14 14:42:04 +00:00 |
|
WebStreamr
|
df60013e16
|
chore: remove Soaper 😭
Refs: https://www.reddit.com/r/Piracy/comments/1lux17l/soaperlive_down_again/
|
2025-07-14 13:53:50 +00:00 |
|
webstreamr
|
c5311e7c0b
|
chore(release): release v0.36.1 (#210)
|
2025-07-13 19:34:51 +00:00 |
|
webstreamr
|
c60e958920
|
chore(release): release v0.36.0 (#209)
|
2025-07-13 19:22:58 +00:00 |
|
webstreamr
|
5e13042c71
|
chore(release): release v0.35.0 (#207)
|
2025-07-13 20:54:01 +02:00 |
|
webstreamr
|
3136d94d69
|
chore(release): release v0.34.1 (#199)
|
2025-07-11 19:06:21 +02:00 |
|
WebStreamr
|
2c210941aa
|
refactor(fetcher): switch to undici fetch
|
2025-07-11 16:43:31 +00:00 |
|
webstreamr
|
4b3829d782
|
chore(release): release v0.34.0 (#195)
|
2025-07-02 16:58:47 +00:00 |
|
WebStreamr
|
5c7b3fb7f2
|
refactor: more consistent import style
|
2025-07-02 09:28:10 +00:00 |
|
webstreamr
|
61f515e4d2
|
chore(release): release v0.33.0 (#191)
|
2025-07-01 18:08:31 +00:00 |
|
WebStreamr
|
a0ed13f18e
|
feat: make multi sources explicitly configurable
|
2025-07-01 18:02:21 +00:00 |
|
WebStreamr
|
81434fff0e
|
feat: add Japanese and Korean to languages for VixSrc
|
2025-07-01 15:46:30 +00:00 |
|
WebStreamr
|
b88eba017d
|
chore(extractor): simplify type and passing of height
|
2025-06-30 18:57:34 +00:00 |
|
webstreamr
|
02aab959e0
|
chore(release): release v0.32.5 (#185)
|
2025-06-28 20:53:28 +02:00 |
|
WebStreamr
|
acaa7221dd
|
chore(fetcher): use gzip to compress HTTP cache
|
2025-06-28 18:23:21 +00:00 |
|
WebStreamr
|
f5121bb1fb
|
chore(fetcher): use LRUCache for HTTP responses
|
2025-06-28 17:18:10 +00:00 |
|
WebStreamr
|
881fed53a4
|
chore(fetcher): configure max for all TTLCaches
|
2025-06-28 17:14:51 +00:00 |
|
WebStreamr
|
aee0fd8373
|
revert: Revert "fix(fetcher): remove 200 minimum cache"
This reverts commit 80e4f4edc4.
|
2025-06-27 19:18:56 +00:00 |
|
webstreamr
|
8bf34fc1f3
|
chore(release): release v0.32.4 (#183)
|
2025-06-26 17:56:46 +02:00 |
|
WebStreamr
|
d44da650bd
|
chore: keep showing VixSrc for Italian to avoid confusions
|
2025-06-26 12:31:12 +00:00 |
|
webstreamr
|
f7b22f61b3
|
chore(release): release v0.32.3 (#182)
|
2025-06-26 04:23:09 +00:00 |
|
webstreamr
|
befd203feb
|
chore(release): release v0.32.2 (#180)
|
2025-06-25 22:14:22 +02:00 |
|
webstreamr
|
c36d444657
|
chore(release): release v0.32.1 (#179)
|
2025-06-25 20:08:02 +00:00 |
|
WebStreamr
|
80e4f4edc4
|
fix(fetcher): remove 200 minimum cache
causes problems with session-scoped responses which should not be cached
|
2025-06-25 20:05:31 +00:00 |
|
webstreamr
|
8ab564164b
|
chore(release): release v0.32.0 (#175)
|
2025-06-25 21:22:05 +02:00 |
|
WebStreamr
|
35e049f577
|
feat: make VixSrc a default multi-language source
|
2025-06-25 19:16:40 +00:00 |
|
WebStreamr
|
c0fc6ff7ea
|
feat(extractor): support multi-language in VixSrc
|
2025-06-25 19:06:13 +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
|
3ac1063c9b
|
fix: build MediaFlow Proxy URL without concatenation
Fixes issues with trailing slashes
|
2025-06-25 17:58:40 +00:00 |
|
webstreamr
|
97e5f2595f
|
chore(release): release v0.31.2 (#173)
|
2025-06-24 23:33:52 +00:00 |
|
webstreamr
|
0bb6502e70
|
chore(release): release v0.31.1 (#172)
|
2025-06-25 01:23:47 +02:00 |
|
webstreamr
|
ac6eccc58a
|
chore(release): release v0.31.0 (#171)
|
2025-06-24 22:53:04 +00:00 |
|
WebStreamr
|
412e89b690
|
fix: typo/grammar mistake in includeExternalUrls config option
|
2025-06-24 22:51:12 +00:00 |
|
WebStreamr
|
39dec26450
|
fix: support password-less MediaFlow Proxy
|
2025-06-24 22:47:50 +00:00 |
|
WebStreamr
|
f12e3c5bd8
|
feat(extractor): implement VixSrc via MediaFlow Proxy
|
2025-06-24 19:07:23 +00:00 |
|
WebStreamr
|
7ea57222d9
|
refactor: pass Context instead of Config to MFP helper
|
2025-06-24 11:33:58 +00:00 |
|
webstreamr
|
16870aa257
|
chore(release): release v0.30.2 (#165)
|
2025-06-24 11:24:12 +00:00 |
|
WebStreamr
|
b2eb16fc82
|
refactor: extract Media Flow Proxy functions
|
2025-06-24 10:52:38 +00:00 |
|
webstreamr
|
64d1da9dc6
|
chore(release): release v0.30.1 (#163)
|
2025-06-23 21:09:59 +02:00 |
|
webstreamr
|
731167efa8
|
chore(release): release v0.30.0 (#155)
|
2025-06-23 14:45:20 +02:00 |
|
WebStreamr
|
f90a53da68
|
feat(fetcher): add proxy support
|
2025-06-21 12:03:34 +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
|
7c600427e6
|
feat(extractor): implement Mixdrop via MediaFlow Proxy
|
2025-06-19 20:51:39 +00:00 |
|
webstreamr
|
0f415b7521
|
chore(release): release v0.29.3 (#153)
|
2025-06-19 14:28:37 +02:00 |
|
WebStreamr
|
552620a7eb
|
chore: use add-on URL as default externalUrl
|
2025-06-19 12:21:31 +00:00 |
|
WebStreamr
|
b5855aaab4
|
fix: config checkbox handling of includeExternalUrls
|
2025-06-19 12:13:36 +00:00 |
|
WebStreamr
|
138e92afc5
|
chore: make ip in Context optional
|
2025-06-19 11:54:13 +00:00 |
|
WebStreamr
|
2d4c5a8221
|
test: introduce helper function createTestContext
|
2025-06-19 11:32:59 +00:00 |
|
webstreamr
|
220fb7bdf4
|
chore(release): release v0.29.2 (#149)
|
2025-06-18 10:07:08 +00:00 |
|
WebStreamr
|
c1f9de58b0
|
chore: do not show external URLs by default
|
2025-06-18 10:06:13 +00:00 |
|
WebStreamr
|
deef8ab58b
|
chore: more minimal result format with less bloat and icons
|
2025-06-18 09:47:44 +00:00 |
|
webstreamr
|
161e78f95f
|
chore(release): release v0.29.1 (#146)
|
2025-06-17 19:11:37 +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
|
f0ebaa19a3
|
chore(release): release v0.29.0 (#142)
|
2025-06-16 17:32:16 +02:00 |
|
WebStreamr
|
d5ee89db9b
|
refactor(fetcher): use Semaphore with timeout for queuing
|
2025-06-16 09:03:35 +00:00 |
|
WebStreamr
|
2a8e67ca59
|
refactor(fetcher): introduce constants for defaults
|
2025-06-16 07:29:34 +00:00 |
|
webstreamr
|
21467ac670
|
chore(release): release v0.28.4 (#141)
|
2025-06-15 11:35:34 +00:00 |
|
WebStreamr
|
6cf31f60de
|
chore(fetcher): increase general timeouts
|
2025-06-15 11:34:09 +00:00 |
|
WebStreamr
|
e9ccee5621
|
chore: increase tmdb queuing limits
|
2025-06-15 11:31:23 +00:00 |
|
WebStreamr
|
3a28de46bd
|
fix(extractor): handle missing height infos in playlist properly
|
2025-06-15 11:27:53 +00:00 |
|
webstreamr
|
af5bfadba3
|
chore(release): release v0.28.3 (#140)
|
2025-06-14 20:25:38 +00:00 |
|
WebStreamr
|
6541782541
|
fix(fetcher): consider request body for cache key
|
2025-06-14 20:24:02 +00:00 |
|
webstreamr
|
89af08b703
|
chore(release): release v0.28.2 (#137)
|
2025-06-14 19:45:35 +00:00 |
|
WebStreamr
|
5f34be12a9
|
chore: handle not found TMDB IDs better
|
2025-06-14 18:00:55 +00:00 |
|
WebStreamr
|
605e88fef4
|
chore: implement rate-limit detection
|
2025-06-14 19:51:00 +02:00 |
|
WebStreamr
|
f11c591dc5
|
chore: do not pass referer through context
|
2025-06-14 13:44:32 +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
|
4bc25692a8
|
refactor: use proper prototype class methods
|
2025-06-13 21:26:26 +02:00 |
|
WebStreamr
|
4caf62a367
|
test: instantiate mocked Fetcher with logger consistently
|
2025-06-13 13:20:13 +00:00 |
|
webstreamr
|
519e0d4156
|
chore(release): release v0.28.1 (#136)
|
2025-06-13 12:32:02 +02:00 |
|
WebStreamr
|
5aeab3fe23
|
chore(fetcher): decrease regular request timeout to 5s
|
2025-06-13 10:26:56 +00:00 |
|
WebStreamr
|
15099de798
|
refactor: introduce helper showExternalUrls()
|
2025-06-13 10:24:32 +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
|
013fb4084f
|
fix(extractor): handle missing VidSrc files
|
2025-06-12 20:58:25 +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
|
f1447e6975
|
chore(release): release v0.28.0 (#134)
|
2025-06-11 20:48:00 +00:00 |
|
WebStreamr
|
dd6d485340
|
feat(handler): add VidSrc with CloudStream Pro support
|
2025-06-11 20:46:28 +00:00 |
|
WebStreamr
|
d0efc0783f
|
fix(fetcher): correct noFlareSolverr logic
|
2025-06-11 20:41:11 +00:00 |
|
WebStreamr
|
4dc3c636a6
|
refactor: extract playlist height guessing
|
2025-06-11 20:18:49 +00:00 |
|
WebStreamr
|
2ea8c16d9e
|
chore(extractor): improve SuperVideo title
|
2025-06-11 10:08:13 +00:00 |
|
webstreamr
|
c05fe96059
|
chore(release): release v0.27.2 (#133)
|
2025-06-11 08:27:36 +00:00 |
|
WebStreamr
|
19395f1921
|
chore(extractor): decrease timeout and ignore errors for external URLs
|
2025-06-11 08:17:58 +00:00 |
|
webstreamr
|
faad6a2562
|
chore(release): release v0.27.1 (#132)
|
2025-06-10 22:17:55 +02:00 |
|
WebStreamr
|
695bf53262
|
chore: log error stack
|
2025-06-10 20:15:36 +00:00 |
|
webstreamr
|
c5ac27119e
|
chore(release): release v0.27.0 (#131)
|
2025-06-10 21:31:58 +02:00 |
|
WebStreamr
|
262abde2fc
|
feat(extractor): implement KinoGer extractor
|
2025-06-10 19:30:33 +00:00 |
|
WebStreamr
|
b940df5bc0
|
chore(extractor): add DoodStream height guessing based on title
|
2025-06-10 19:21:00 +00:00 |
|
webstreamr
|
6af86ef6a6
|
chore(release): release v0.26.1 (#130)
|
2025-06-10 17:54:27 +02:00 |
|
WebStreamr
|
42950bc2a3
|
chore(handler): generalize KinoGer to support more (external) URLs
|
2025-06-10 15:48:31 +00:00 |
|
WebStreamr
|
dd1b3a1f1d
|
chore(extractor): support embed-only SuperVideo URLs
|
2025-06-10 15:17:53 +00:00 |
|
WebStreamr
|
7b933bfbac
|
refactor: remove always true conditional
|
2025-06-10 09:30:03 +00:00 |
|
webstreamr
|
eec2e5030b
|
chore(release): release v0.26.0 (#128)
|
2025-06-09 22:46:15 +02:00 |
|
WebStreamr
|
16e1aab1c2
|
fix: avoid potential queuing dead lock
|
2025-06-09 20:42:10 +00:00 |
|
WebStreamr
|
8382c009f4
|
feat(handler): add support for KinoGer Fsst
|
2025-06-09 20:42:10 +00:00 |
|
WebStreamr
|
7ad61df839
|
refactor: season instead of series ;)
|
2025-06-09 20:42:10 +00:00 |
|
webstreamr
|
8f3500385c
|
chore(release): release v0.25.3 (#123)
|
2025-06-09 13:37:09 +02:00 |
|
WebStreamr
|
1ca4ea4abe
|
chore(extractor): don't use FlareSolverr for external URLs
|
2025-06-09 11:36:17 +00:00 |
|
WebStreamr
|
114c383c54
|
chore(fetcher): only call FlareSolverr for known challenge blocks
|
2025-06-09 11:28:20 +00:00 |
|
WebStreamr
|
cbec7c1a01
|
fix(handler): fix KinoKiste which is now StreamKiste
|
2025-06-09 11:27:05 +00:00 |
|
WebStreamr
|
6dff634299
|
test: use snapshots for manifest config tests
|
2025-06-09 11:24:38 +00:00 |
|
webstreamr
|
20fa791632
|
chore(release): release v0.25.2 (#121)
|
2025-06-08 21:28:59 +02:00 |
|
WebStreamr
|
d1ff7cd732
|
chore(extractor): add bytes detection to DoodStream
|
2025-06-08 19:27:18 +00:00 |
|
WebStreamr
|
0446d52e78
|
refactor: UrlResult[] instead of UrlResult | undefined
|
2025-06-08 18:55:03 +00:00 |
|
WebStreamr
|
7d0544a590
|
chore(handler): add height detection to Soaper
|
2025-06-08 18:21:52 +00:00 |
|
webstreamr
|
2d9f602256
|
chore(release): release v0.25.1 (#120)
|
2025-06-08 17:12:21 +02:00 |
|
WebStreamr
|
48209ac876
|
chore: introduce config helper, enable English by default
|
2025-06-08 14:09:10 +00:00 |
|
WebStreamr
|
fbae3924e5
|
refactor: simplify id usage and imdb <-> tmdb transformations
|
2025-06-08 13:50:53 +00:00 |
|
WebStreamr
|
8724e04860
|
refactor: move ids into dedicated folder
|
2025-06-08 13:26:58 +00:00 |
|
WebStreamr
|
374896caca
|
refactor: introduce ImdbId and TmdbId
|
2025-06-08 13:24:31 +00:00 |
|
WebStreamr
|
62f18ece85
|
refactor: strictly type ContentType
|
2025-06-08 07:54:17 +00:00 |
|
webstreamr
|
82c75b0654
|
chore(release): release v0.25.0 (#119)
|
2025-06-07 19:25:45 +00:00 |
|
WebStreamr
|
717c2afdc4
|
feat(handler): implement EN Soaper source
|
2025-06-07 19:24:50 +00:00 |
|
WebStreamr
|
a56aea56a8
|
refactor: add custom helper for flags instead of package
|
2025-06-07 18:59:23 +00:00 |
|
webstreamr
|
f08670bb21
|
chore(release): release v0.24.1 (#118)
|
2025-06-06 12:54:21 +00:00 |
|
webstreamr
|
802ec4275d
|
chore(release): release v0.24.0 (#117)
|
2025-06-06 14:12:23 +02:00 |
|
WebStreamr
|
9ba4e7374c
|
feat: implement hourly movie cache warmup
|
2025-06-06 12:08:53 +00:00 |
|
WebStreamr
|
355663f036
|
chore(tmdb): add parseTmdbId
|
2025-06-06 11:12:03 +00:00 |
|
WebStreamr
|
860a6ae18c
|
chore(imdb): stricter parsing checks
|
2025-06-06 11:08:39 +00:00 |
|
WebStreamr
|
a0e83f287d
|
chore(tmdb): add getImdbIdFromTmdbId and cache both ID transformations
|
2025-06-06 08:03:16 +00:00 |
|
WebStreamr
|
876698825f
|
chore: add statusText to HttpError and show in result as well
|
2025-06-06 06:50:31 +00:00 |
|
webstreamr
|
db67a91413
|
chore(release): release v0.23.5 (#116)
|
2025-06-05 22:05:39 +02:00 |
|
WebStreamr
|
8e57400c58
|
fix: always sort external URLs down
|
2025-06-05 20:02:25 +00:00 |
|
WebStreamr
|
d8f0c4602c
|
chore: introduce HttpError and show status in result
|
2025-06-05 19:52:49 +00:00 |
|
webstreamr
|
119e338292
|
chore(release): release v0.23.4 (#113)
|
2025-06-05 17:21:35 +02:00 |
|
WebStreamr
|
be3464369b
|
chore(fetcher): simplify queuing and allow parallel requests
instead of only one per host we allow 5, which is more realistic
|
2025-06-05 15:19:30 +00:00 |
|
webstreamr
|
ad98dc8661
|
chore(release): release v0.23.3 (#112)
|
2025-06-05 12:31:36 +02:00 |
|
WebStreamr
|
65d2d0ac83
|
chore(fetcher): enable keepalive
|
2025-06-05 10:30:30 +00:00 |
|
WebStreamr
|
63a53a18cc
|
refactor(fetcher): introduce CustomRequestInit
|
2025-06-05 10:30:30 +00:00 |
|
WebStreamr
|
092ee4bfc2
|
refactor(fetcher): add full FlareSolverrResult type
|
2025-06-05 10:30:30 +00:00 |
|
webstreamr
|
523bbc0f41
|
fix(fetcher): use expires FlareSolverr cookie prop (#111)
|
2025-06-05 10:30:26 +00:00 |
|
webstreamr
|
d0802fea50
|
chore(release): release v0.23.2 (#110)
|
2025-06-04 18:38:45 +00:00 |
|
WebStreamr
|
efb0f96be2
|
chore(fetcher): use well-working node user agent by default again
|
2025-06-04 18:37:51 +00:00 |
|
WebStreamr
|
aa4c672594
|
chore(fetcher): persist and use FlareSolverr cookie and user agent
doesn't seem to work, but this is best practice anyway..
|
2025-06-04 18:29:02 +00:00 |
|
WebStreamr
|
0d3a5b8919
|
chore(fetcher): use queue limit of 10 again :)
queuing too long results in a bad experience. and often there are other
non-blocked sources too, so people can choose those. or self-host.
|
2025-06-04 16:18:03 +00:00 |
|
webstreamr
|
a9ebe9946a
|
chore(release): release v0.23.1 (#107)
|
2025-06-04 15:24:36 +00:00 |
|
WebStreamr
|
7387aef764
|
chore(fetcher): use FlareSolverr also for other 403 Cloudflare responses
|
2025-06-04 15:23:15 +00:00 |
|
WebStreamr
|
e6aa95f875
|
chore(fetcher): increase queue limit to 30
|
2025-06-04 15:22:59 +00:00 |
|
WebStreamr
|
2c9faebcdc
|
fix(fetcher): improve Flaresolverr fetching
- use queued fetching to not mix sessions
- log issue responses
|
2025-06-04 14:59:12 +00:00 |
|
webstreamr
|
7c45c78788
|
chore(release): release v0.23.0 (#105)
|
2025-06-04 16:20:24 +02:00 |
|
WebStreamr
|
af65ed0094
|
feat(fetcher): add FlareSolverr support
|
2025-06-04 14:18:50 +00:00 |
|
WebStreamr
|
7ec7219ed4
|
chore: do not log headers for known blocking reasons
|
2025-06-04 12:05:09 +00:00 |
|
webstreamr
|
a156e98831
|
chore(release): release v0.22.10 (#104)
|
2025-06-04 12:59:20 +02:00 |
|
WebStreamr
|
422f7d014c
|
chore(fetcher): hard-code user-agent again for debugging purposes
|
2025-06-04 10:54:16 +00:00 |
|
WebStreamr
|
77fc20cfff
|
refactor: extract env access into helpers
|
2025-06-04 10:29:50 +00:00 |
|
webstreamr
|
64823685cc
|
chore(release): release v0.22.9 (#103)
|
2025-06-04 10:07:13 +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
|
c5cc955d91
|
chore(release): release v0.22.8 (#99)
|
2025-06-04 00:47:28 +02: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
|
ed501a7ee9
|
chore(release): release v0.22.7 (#96)
|
2025-06-03 17:04:57 +02:00 |
|
WebStreamr
|
9d17f5340a
|
chore: catch handler blocked errors and report the and report themm
|
2025-06-03 15:02:56 +00:00 |
|
WebStreamr
|
f6967da5cc
|
chore: try to log error causes
|
2025-06-03 14:54:05 +00:00 |
|
WebStreamr
|
0b9cf21fae
|
fix(handler): use new frembed domain (again)
|
2025-06-03 14:21:18 +00:00 |
|
WebStreamr
|
ae6fdfe726
|
chore: add language name to config in manifest as well
|
2025-06-02 15:45:16 +00:00 |
|
webstreamr
|
9291a377d3
|
chore(release): release v0.22.6 (#95)
|
2025-06-02 15:33:11 +00:00 |
|
WebStreamr
|
e4dd16e9d1
|
chore: improve results format and refactor name/title generation
|
2025-06-02 15:31:15 +00:00 |
|
webstreamr
|
120fb2896f
|
chore(release): release v0.22.5 (#94)
|
2025-06-02 11:43:57 +02:00 |
|
WebStreamr
|
e86b5c3454
|
fix(handler): use new frembed domain
|
2025-06-02 09:42:26 +00:00 |
|
WebStreamr
|
12d91ba0b4
|
test: fix mocked Fetcher real calls by using same headers
|
2025-06-02 09:42:26 +00:00 |
|
webstreamr
|
d271b2c337
|
chore(release): release v0.22.4 (#91)
|
2025-06-01 19:38:06 +00:00 |
|
WebStreamr
|
c3a2f9fdc6
|
fix(fetcher): use "node" as user agent explicitly
no idea why, but this avoids challenges so far..
|
2025-06-01 19:31:25 +00:00 |
|
WebStreamr
|
2eb09fc65a
|
chore: generalize forbidden/blocked handling
|
2025-06-01 19:31:11 +00:00 |
|
webstreamr
|
f3cbc92286
|
chore(release): release v0.22.3 (#88)
|
2025-06-01 13:42:44 +00:00 |
|
WebStreamr
|
424ed78b93
|
chore(fetcher): hardcode user-agent for now to avoid using "node"
|
2025-06-01 13:40:59 +00:00 |
|
webstreamr
|
ba9f33230f
|
chore(release): release v0.22.2 (#87)
|
2025-06-01 13:21:25 +00:00 |
|
WebStreamr
|
717019e04e
|
chore(fetcher): add response header info to non-expected errors
|
2025-06-01 13:19:38 +00:00 |
|
WebStreamr
|
ca981220c9
|
chore(fetcher): remove Origin header
more is not always better I guess :)
not breaking anything, but that header is not used for normal HTTP GET
requests
|
2025-06-01 13:08:52 +00:00 |
|
webstreamr
|
a85a483732
|
chore(release): release v0.22.1 (#86)
|
2025-05-31 21:15:58 +00:00 |
|
WebStreamr
|
fbc1aa994c
|
fix: switch back to fetch and do not generate user agents
seems to be causing less cloudflare challenges
|
2025-05-31 21:13:52 +00:00 |
|
webstreamr
|
0f19b4b7a7
|
chore(release): release v0.22.0 (#80)
|
2025-05-29 21:25:43 +02:00 |
|
WebStreamr
|
799ca975ac
|
feat: make external URL exclusion configurable
|
2025-05-29 19:17:21 +00:00 |
|
WebStreamr
|
5bfe2f800b
|
chore(fetcher): reduce timeout to 5s
|
2025-05-29 18:32:06 +00:00 |
|
WebStreamr
|
07ddaab7fb
|
chore(fetcher): set more headers to mimick browser requests
|
2025-05-29 17:55:20 +00:00 |
|
WebStreamr
|
f2a7da21e0
|
test: remove duplicated Fetcher test parts
|
2025-05-29 17:43:51 +00:00 |
|
WebStreamr
|
02b73b41d7
|
chore(fetcher): use more realistic referer/origin header values
|
2025-05-29 17:36:43 +00:00 |
|
WebStreamr
|
0638ce0a8c
|
fix: detect and report Cloudflare challenge blocks
|
2025-05-29 17:17:17 +00:00 |
|
webstreamr
|
fbc35550b9
|
chore(release): release v0.21.0 (#76)
|
2025-05-25 20:48:23 +02:00 |
|
WebStreamr
|
d4e402e5c9
|
feat: add title to meta, restructure result name
|
2025-05-25 18:46:55 +00:00 |
|
WebStreamr
|
f27fc6c38a
|
refactor: introduce type for CountryCode
|
2025-05-25 19:32:16 +02:00 |
|
WebStreamr
|
979dddd20c
|
refactor: move bytes, height and countryCode into meta object
and pass that to the extractors instead. this is a preparation to
support more meta like e.g. title
|
2025-05-25 19:25:39 +02:00 |
|
WebStreamr
|
faa6eb6ed7
|
test: update fetch fixtures only when requested
avoids automagic http requests in tests
|
2025-05-25 19:12:36 +02:00 |
|
webstreamr
|
9b0d416393
|
chore(release): release v0.20.1 (#74)
|
2025-05-23 13:47:32 +02:00 |
|
WebStreamr
|
b313c4eb8d
|
chore(fetcher): set Origin header and add back proxy headers
|
2025-05-23 10:52:49 +00:00 |
|
WebStreamr
|
8e791bbe24
|
chore: better handle not found streams/links
|
2025-05-23 10:40:59 +00:00 |
|
WebStreamr
|
1e9ebd5905
|
test: do not reset but only clear mocks
|
2025-05-23 10:37:13 +00:00 |
|
WebStreamr
|
0a99f1e501
|
chore(extractor): use HEAD instead of GET to check external URLs
|
2025-05-22 16:36:28 +00:00 |
|
webstreamr
|
7be71c965f
|
chore(release): release v0.20.0 (#71)
|
2025-05-21 22:41:51 +02: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
|
3f64ba0f9b
|
chore(release): release v0.19.4 (#69)
|
2025-05-21 15:46:15 +00:00 |
|
webstreamr
|
8367b7d6e1
|
chore(release): release v0.19.3 (#65)
|
2025-05-20 19:23:17 +00:00 |
|
webstreamr
|
8daabf1f5a
|
chore(fetcher): increase timeout to 15s (#64)
|
2025-05-20 19:22:08 +00:00 |
|
webstreamr
|
e6980e5676
|
chore(release): release v0.19.2 (#63)
|
2025-05-19 12:06:03 +02:00 |
|
WebStreamr
|
c2c5331861
|
chore(fetcher): remove proxy headers, add default timeout
The proxy headers are not improving anything and only cause issues with
another extractor that using IP-locking.
|
2025-05-19 08:47:52 +00:00 |
|
webstreamr
|
1197b9aba3
|
chore(release): release v0.19.1 (#60)
|
2025-05-18 23:04:59 +02:00 |
|
WebStreamr
|
57799a777a
|
revert: "feat(extractor): implement UQLoad"
This reverts commit fb61d39225.
UQLoad is IP-locked.
|
2025-05-18 22:50:31 +02:00 |
|
webstreamr
|
6a166b29a9
|
chore(release): release v0.19.0 (#59)
|
2025-05-18 22:26:30 +02:00 |
|
WebStreamr
|
fb61d39225
|
feat(extractor): implement UQLoad
|
2025-05-18 21:20:48 +02:00 |
|
WebStreamr
|
d8a19d4916
|
refactor(handler): switch Frembed to TMDB search which is more reliable
|
2025-05-18 21:19:58 +02:00 |
|
WebStreamr
|
03cb05e2a3
|
feat: implement IMDb -> TMDB ID conversion helper
|
2025-05-18 21:16:47 +02:00 |
|
webstreamr
|
91eb1de1c4
|
chore(release): release v0.18.0 (#58)
|
2025-05-17 22:10:13 +00:00 |
|
WebStreamr
|
ac4ded4614
|
chore(manifest): add stremio-addons.net signature
|
2025-05-18 00:09:17 +02: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
|
d368b3a9de
|
chore(release): release v0.17.0 (#56)
|
2025-05-17 21:41:29 +02:00 |
|
WebStreamr
|
f2fb4821e3
|
refactor: use template literal consistently
|
2025-05-17 21:10:40 +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 |
|
WebStreamr
|
8b82215c32
|
feat(handler): limited Frembed support
|
2025-05-17 20:20:19 +02:00 |
|
webstreamr
|
b331dc66ac
|
chore(release): release v0.16.1 (#54)
|
2025-05-17 01:06:50 +02:00 |
|
WebStreamr
|
bb395f0375
|
revert: "feat(extractor): implement Mixdrop"
This reverts commit 4c53161e98.
Mixdrop seems to be IP-locked.
|
2025-05-17 01:05:40 +02:00 |
|
webstreamr
|
2c4cccab66
|
chore(release): release v0.16.0 (#53)
|
2025-05-16 22:37:17 +02:00 |
|
WebStreamr
|
63a79f8758
|
fix(extractor): do not throw for broken/outdated link
|
2025-05-16 22:36:20 +02:00 |
|
WebStreamr
|
b790cc7954
|
refactor: use url.href instead of url.toString()
|
2025-05-16 22:34:19 +02:00 |
|
WebStreamr
|
4c53161e98
|
feat(extractor): implement Mixdrop
|
2025-05-16 22:34:19 +02:00 |
|
WebStreamr
|
07ffe444f3
|
chore: return stream.behaviorHints.videoSize when possible
|
2025-05-16 20:48:31 +02:00 |
|
WebStreamr
|
e06b8a2d95
|
chore: rename behaviourHints to behaviorHints 🤦
This fixes DoodStream by fixing the Referer header usage hint.
|
2025-05-16 20:36:33 +02:00 |
|
webstreamr
|
7698757865
|
chore(release): release v0.15.2 (#48)
|
2025-05-16 15:33:12 +00:00 |
|
WebStreamr
|
e13ab0c70f
|
chore: compare by label if both height and bytes are the same
|
2025-05-16 15:31:54 +00:00 |
|
webstreamr
|
269a05499d
|
chore(release): release v0.15.1 (#47)
|
2025-05-16 17:24:05 +02:00 |
|
WebStreamr
|
241e6b0b77
|
fix: rename behaviourHints.group to behaviourHints.bingeGroup
as stated in 3950d57076/docs/api/responses/stream.md
TS types seem to be quite outdated...
|
2025-05-16 15:22:39 +00:00 |
|
webstreamr
|
4857bc0494
|
chore(release): release v0.15.0 (#46)
|
2025-05-16 17:12:11 +02:00 |
|