No description
Find a file
10ho 1bf15ab7dd v3.6.3: debrid APIs improvements and user tracking in logs
FIX:
- AllDebrid: LINK_PASS_PROTECTED treated as dead link (avoid useless retries)
- 1Fichier: strip ?af= as first URL parameter (regex instead of incomplete split)
- TorBox: mylist data defensive (handle list or dict response depending on API)
- Languages: normalize_language recognizes Scene release formats (MULTi.FR.LATIN, etc.)

ADD:
- Logs: ContextVar user_id auto-propagated to all coroutines
- Logs: HTTP middleware extracts user_uuid from all user-facing routes
- Logs: user_id badge visible in admin dashboard + extended search
- AllDebrid: dedicated WARNING log for NO_SERVER (VPN/datacenter blocked diagnostic)

REFACTOR:
- Premiumize: migration GET to POST + Authorization Bearer header (doc compliance)
- Premiumize: stable error codes instead of fragile text matching
- TorBox: removed useless add_only_if_cached in createwebdownload
- TorBox: removed zip_link=False in requestdl
2026-05-19 20:13:35 +02:00
wastream v3.6.3: debrid APIs improvements and user tracking in logs 2026-05-19 20:13:35 +02:00
.env.example Initial commit 2026-04-05 15:23:21 +02:00
.gitignore Initial commit 2026-04-05 15:23:21 +02:00
.gitlab-ci.yml Edit .gitlab-ci.yml 2026-04-05 13:44:33 +00:00
docker-compose.yml Initial commit 2026-04-05 15:23:21 +02:00
Dockerfile Initial commit 2026-04-05 15:23:21 +02:00
LICENSE Initial commit 2026-04-05 15:23:21 +02:00
pyproject.toml Initial commit 2026-04-05 15:23:21 +02:00
README.md Initial commit 2026-04-05 15:23:21 +02:00

GitLab release Python 3.11+ License

Unofficial Stremio addon that resolves direct download links (DDL) into streamable URLs through debrid services


⚠️ Important Notice

WAStream is a generic link-resolution utility. It is a technical tool that takes a direct download link as input and returns a streamable URL as output, using debrid services as an intermediary.

This tool does not host, distribute, provide, or promote any content. It is content-agnostic by design: it simply processes whatever link the user configures it to process.

Legitimate use cases include:

  • Streaming your own personal backups stored on file-hosting services
  • Accessing public domain or Creative Commons content
  • Self-hosted storage and personal file management
  • Open source software distributed via DDL
  • Any content the user legally has the right to access

By using this tool, you agree that:

  • You are solely responsible for ensuring you have the legal right to access any content you process
  • You must comply with all applicable copyright laws in your jurisdiction
  • You must respect the terms of service of any sources and services you configure
  • The developer disclaims any responsibility for misuse of this tool

About

WAStream is a Stremio addon that converts direct download links into instant streamable content through debrid services. It provides a generic, configurable scraping and resolution pipeline that can be adapted to any DDL source via environment variables.

How It Works

  1. You configure one or more sources via environment variables
  2. The addon queries these sources when Stremio requests streams for a given title
  3. The addon converts the resulting direct download links into streamable URLs via the debrid service of your choice
  4. Stremio plays the resulting stream

What WAStream Does

  • Generic source scraping: Configurable scraper interface that works with any compatible source
  • Debrid integration: Resolves DDL through debrid services into streamable URLs
  • Smart caching: Intelligent cache system with distributed locking for optimal performance
  • Instant availability check: Verifies link availability before streaming
  • Advanced filtering: Filter by quality, language, size, and more
  • Multi-language support: Handles multiple audio tracks and subtitle languages
  • Metadata enrichment: Integrates TMDB and Kitsu for comprehensive metadata

Features

Supported Content Types

  • Movies / Series / Anime

Supported Debrid Services

  • AllDebrid - Multi-host support
  • TorBox - Multi-host support
  • Premiumize - Multi-host support
  • 1Fichier - Direct 1Fichier premium
  • NZBDav - Usenet via SABnzbd + WebDAV

Smart Features

  • Instant cache check - Verifies availability before conversion
  • Round-robin processing - Optimized link checking algorithm
  • Quality filtering - Filter by resolution (4K, 1080p, 720p, etc.)
  • Language filtering - Multi-language and subtitle support
  • Size filtering - Filter by file size
  • Deduplication - Hide identical results from different hosters
  • Password protection - Optional addon password protection
  • Database support - SQLite or PostgreSQL
  • Pastebin scraper - Auto-import links from external paste URLs on a schedule
  • HTTP response caching - Optional ETag-based caching for stream responses
  • Kitsu integration - Anime metadata via Kitsu API with season chain mapping

Admin Dashboard

  • Statistics - Users, searches, streams, cache stats
  • Live logs - Real-time log viewer with filtering
  • Source status - Monitor source and proxy health
  • System info - RAM/CPU usage, database status
  • Dead links management - Add/remove dead links
  • WASource - Add custom links compatible with all debrid services
  • Remote system - Share dead links, cache and custom links between instances
  • Pastebin scraper - Status and stats of auto-import jobs

Installation

For environment configuration, see .env.example

  1. Create a docker-compose.yml file:
services:
  wastream:
    image: registry.gitlab.com/10ho/wastream:latest
    container_name: wastream
    ports:
      - "7000:7000"
    volumes:
      - ./data:/app/data
    environment:
      - SECRET_KEY=your-secret-key-min-32-chars # Required - Generate with: openssl rand -hex 32
      - ADMIN_PASSWORD=your-admin-password-here # (Optional) Password for admin dashboard - Leave empty to disable admin
      - DATABASE_TYPE=sqlite
      - DATABASE_PATH=/app/data/wastream.db
      # Configure your sources via environment variables (see .env.example)
    restart: unless-stopped
  1. Start the container:
docker-compose up -d
  1. Check logs:
docker-compose logs -f wastream

Manual Installation

Prerequisites

  • Python 3.11 or higher
  • Git

Steps

  1. Clone the repository:
git clone https://gitlab.com/10ho/wastream.git
cd wastream
  1. Install dependencies:
pip install .
  1. Configure environment:
cp .env.example .env
# Edit .env according to your needs
  1. Start the application:
python -m wastream.main

Configuration

Add to Stremio

  1. Access http://localhost:7000 in your browser
  2. Configure your debrid API keys and TMDB token
  3. Click "Generate link"

The addon will appear in your Stremio addon list.

Admin Dashboard

  1. Set ADMIN_PASSWORD in your .env file
  2. Access http://localhost:7000/admin in your browser
  3. Login with your admin password

Environment Variables

See .env.example for all available configuration options.

Required:

  • SECRET_KEY - Encryption key for user configs (min 32 chars) - Generate with: openssl rand -hex 32
  • At least one source URL must be configured (see .env.example)
  • Debrid API key - Configured via web interface
  • TMDB API token - Configured via web interface

Optional:

  • ADMIN_PASSWORD - Password for admin dashboard
  • ADDON_PASSWORD - Password protect your addon
  • LOG_LEVEL - Set log level (DEBUG, INFO, ERROR)
  • PROXY_URL - HTTP proxy for source access
  • PASTEBIN_SCRAPER_URLS - JSON list of paste URLs for auto-import
  • And many more... (see .env.example)

Troubleshooting

Debug

# Health check
curl http://localhost:7000/health

# Docker logs
docker-compose logs -f wastream

# Enable debug mode
LOG_LEVEL=DEBUG python -m wastream.main

License

This project is licensed under the MIT License. See the LICENSE file for details.


Disclaimer

WAStream is an unofficial, independently developed project.

  • Not affiliated with Stremio or any source/service provider
  • Provided "as is" without any warranty of any kind
  • No content is hosted, distributed, or promoted by this project
  • The developer takes no responsibility for how users choose to use this tool

This is a technical tool with legitimate uses. It is the sole responsibility of the user to ensure that their usage complies with applicable copyright laws, terms of service, and regulations in their jurisdiction. The developer does not endorse, support, or condone any unlawful use of this software.

If you are a rights holder and believe this tool is being misused, please note that this repository only contains a generic link-resolution utility and does not host, link to, or reference any specific copyrighted content. Any takedown requests should be directed at the actual sources of infringing content, not at this technical tool.