No description
Find a file
WebStreamr 053dce0729
fix(extractor): remove flaky HubCloud head requests
potentially non-working URLs might be returned now from time to time, but that's still better than not returning working ones because of flakyness or blocking. should also improve performance slightly.

reverts changes from c819dd6
2025-11-01 20:29:47 +00:00
.github/workflows chore(deps): update node.js to v24 2025-10-29 13:30:58 +00:00
src fix(extractor): remove flaky HubCloud head requests 2025-11-01 20:29:47 +00:00
.editorconfig chore: initial commit 2025-05-07 21:09:18 +00:00
.gitattributes refactor: DI for handlers, extractors and fetcher 2025-05-11 19:11:14 +00:00
.gitignore chore: initial commit 2025-05-07 21:09:18 +00:00
.release-please-manifest.json chore(release): release v0.56.8 (#462) 2025-10-29 16:07:14 +01:00
CHANGELOG.md chore(release): release v0.56.8 (#462) 2025-10-29 16:07:14 +01:00
Dockerfile chore(deps): update node.js to v24 2025-10-29 13:30:58 +00:00
eslint.config.mjs refactor: more consistent import style 2025-07-02 09:28:10 +00:00
jest.config.ts refactor: create dispatcher per request 2025-09-12 07:30:27 +00:00
jest.setup.ts chore: throw explicit error if required TMDB_ACCESS_TOKEN env var is not set 2025-10-17 14:25:30 +00:00
LICENSE.txt chore: initial commit 2025-05-07 21:09:18 +00:00
package-lock.json chore(release): release v0.56.8 (#462) 2025-10-29 16:07:14 +01:00
package.json chore(release): release v0.56.8 (#462) 2025-10-29 16:07:14 +01:00
README.md docs: add more infos about proxy config 2025-10-17 14:50:01 +00:00
release-please-config.json fix: keep replacing the manifest version on release 2025-05-09 20:08:07 +00:00
renovate.json chore(renovate): limit updates of often-releasing packages a bit 2025-05-12 07:00:17 +00:00
tsconfig.dev.json chore: use tsconfig base for node 22 2025-06-03 14:54:05 +00:00
tsconfig.json test: introduce helper function createTestContext 2025-06-19 11:32:59 +00:00

WebStreamr

Tests GitHub release GitHub License

Stremio add-on which provides HTTP URLs from streaming websites.

Public instance

A public instance is available at https://webstreamr.hayd.uk. Hosting infrastructure for this instance is donated by ElfHosted, and independently maintained by Hayduk.

MediaFlow Proxy

MediaFlow Proxy can be added when configuration the add-on to gain access to a couple of more file hosters. It depends highly on the language / source used if that unlocks more streams or not.

MediaFlow proxy is needed because some hosters ip-lock streams and the add-on does not run on the same device that will stream the video.

The following hosters can be used only with MediaFlow Proxy:

  • Fastream
  • FileLions
  • FileMoon
  • LuluStream
  • Mixdrop
  • Streamtape
  • VOE

MediaFlow proxy can either be self-hosted or acquired via bundle from ElfHosted.

Hosting

Don't want to use the public instance, or concerned about reliability during periods of high use? It's open-source, you can host it yourself!

ElfHosted (easy mode)

Self-hosting to stressful? ElfHosted offer ready-to-go, turn-key WebStreamr instances with $1, 7-day trials. Additionally, 33% of your subscription directly supports your developer! ❤️

(ElfHosted also offer advanced private hosting of the top Stremio Addons, as well as turn-key bundles providing streaming from RealDebrid with Plex, Emby, or Jellyfin)

Self-Hosting

You can run the latest WebStreamr via Docker. E.g.

 docker run \
    --detach=true \
    --name webstreamr \
    --rm \
    --pull always \
    --publish 51546:51546 \
    --env TMDB_ACCESS_TOKEN="YOUR_TOKEN" \
    webstreamr/webstreamr

Environment variables

CACHE_DIR

Optional. Directory for persistent caches using SQLite files. Default: OS tmp dir.

CONFIGURATION_DESCRIPTION

Optional. To customize the description shown on the configuration page.

DISABLED_EXTRACTORS

Optional. Comma separated list of extractors which should be disabled. E.g. doodstream,vidsrc

DISABLED_SOURCES

Optional. Comma separated list of sources which should be disabled. E.g. frembed,vidsrc

MANIFEST_ID

Optional. Add-on manifest ID. Default: webstreamr

MANIFEST_NAME

Optional. Add-on manifest name. Default: WebStreamr

PORT

Optional. Port of the node web server. Default: 51546

PROXY_CONFIG

Optional. Proxies which should be used based on domain. Supports minimatch. E.g. dood.to:http://USERNAME:PASSWORD@IP:PORT,*:socks5://172.17.0.1:1080 would use an http proxy for dood.to and a socks5 proxy for all other domains.

Some hosters are a bit picky when it comes to IPs. Best case is if you use a residential IP. If you can't do that, then I suggest to use a VPN / proxy like Cloudflare WARP. DoodStream is not working with WARP. Free Webshare proxies seem to work with it.

TMDB_ACCESS_TOKEN

Required. TMDB access token to get information like title and year for content. Use the API Read Access Token.