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
|
a12ae7aaa5
|
chore(fetcher): retry 5xx errors up to 3 times
|
2025-08-13 10:49:36 +00: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
|
9a019396c8
|
fix(fetcher): simplify header and ttl determination, fix edge case bug
|
2025-08-11 15:47:04 +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
|
7d700103c4
|
chore(fetcher): decrease default timeout back to 10s
|
2025-08-11 08:38:56 +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
|
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
|
51b9104f07
|
chore: handle cloudflare 451 censor block, show block reasons
|
2025-07-21 19:35:52 +00:00 |
|
WebStreamr
|
674eb7ca6d
|
fix(fetcher): support Basic Auth
|
2025-07-20 18:44:37 +00:00 |
|
WebStreamr
|
de8e0bdd94
|
fix: do not use cache and proxy headers for health requests
|
2025-07-18 09:23:45 +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
|
2c210941aa
|
refactor(fetcher): switch to undici fetch
|
2025-07-11 16:43:31 +00:00 |
|
WebStreamr
|
5c7b3fb7f2
|
refactor: more consistent import style
|
2025-07-02 09:28:10 +00: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
|
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
|
e895077a7b
|
chore: handle invalid MediaFlow Proxy password better
|
2025-06-25 18:16:12 +00:00 |
|
WebStreamr
|
f90a53da68
|
feat(fetcher): add proxy support
|
2025-06-21 12:03:34 +00:00 |
|
WebStreamr
|
138e92afc5
|
chore: make ip in Context optional
|
2025-06-19 11:54: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
|
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
|
6cf31f60de
|
chore(fetcher): increase general timeouts
|
2025-06-15 11:34:09 +00:00 |
|
WebStreamr
|
6541782541
|
fix(fetcher): consider request body for cache key
|
2025-06-14 20:24:02 +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
|
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
|
5aeab3fe23
|
chore(fetcher): decrease regular request timeout to 5s
|
2025-06-13 10:26:56 +00:00 |
|
WebStreamr
|
bdae1ff346
|
refactor: define member accessiblity explicitly
|
2025-06-13 09:42:06 +00:00 |
|
WebStreamr
|
b5067aa0a9
|
refactor: make BlockedReason an enum
|
2025-06-12 16:00:34 +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
|
16e1aab1c2
|
fix: avoid potential queuing dead lock
|
2025-06-09 20:42:10 +00: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
|
717c2afdc4
|
feat(handler): implement EN Soaper source
|
2025-06-07 19:24:50 +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
|
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
|
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 |
|