Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
W

WZML-X

> 编程语言
Open source

A elegantly enhanced Telegram Bot which can download torrents, mega, google drive links, telegram file, direct links and all yt-dlp sites, upload to google driv

1.5K stars0 likes0 views
WebsiteGitHub

About

A elegantly enhanced Telegram Bot which can download torrents, mega, google drive links, telegram file, direct links and all yt-dlp sites, upload to google driv

WZML-X

Telegram mirroring and leeching platform with a container-based runtime, a lightweight web UI, and a configurable transfer pipeline.

Index

Table of Contents Click Here
  • At a Glance
  • Why Use It
  • What It Covers
  • How It Runs
  • Deployment
  • Configuration
  • Project Layout
  • Documentation
  • Support
  • Credits
  • License

At a Glance

Area Details
Runtime Python Telegram bot + web UI
Deployment Docker & Docker Compose (buildx)
Required config BOT_TOKEN, TELEGRAM_API, TELEGRAM_HASH, OWNER_ID, DATABASE_URL
License LICENSE

Why Use It

WZML-X is built for users who want a single bot stack that can mirror, leech, manage files, and expose a simple web-based selection flow without stitching together multiple tools. The README focuses on what you need to deploy it quickly, understand the moving parts, and tune the behavior safely.

What It Covers

Capability Outcome
Mirroring Send files to Telegram with a controllable pipeline
Leeching Deliver files in the format you prefer, including document and media workflows
File selection UI Review and select torrent / NZB / upload contents before finalizing
Multi-source downloads Use qBittorrent, Aria2, JDownloader, Mega, NZB, and yt-dlp integrations
Storage and upload paths Push content to Google Drive, Rclone, Mega, and other supported routes
Automation Limit tasks, tune queues, and manage startup updates from one config layer

How It Runs

Deploy with Docker and provide the required configuration values. The container takes care of the runtime path, so users only need to build or start the image and set their settings.

What you need Click Here
  • Docker installed
  • Your Telegram bot token and Telegram API credentials
  • A MongoDB connection string
  • The optional service credentials you want to enable, such as Drive, Rclone, Mega, JDownloader, or SABnzbd

Deployment

VPS / Dedicated Server (Recommended)
bash
git clone https://github.com/SilentDemonSD/WZML-X.git
cd WZML-X
cp config_sample.py config.py
# Edit config.py with your values
docker buildx compose up -d

The bot runs behind a Cloudflare quick tunnel by default. Check the tunnel URL:

bash
docker compose logs tunnel

You'll see a https://*.trycloudflare.com URL — that's your bot's web UI.

To stop:

bash
docker buildx compose down
VPS with VPN (Gluetun)
  1. Uncomment the gluetun service in docker-compose.yml
  2. Fill in your VPN provider credentials
  3. Set network_mode: "service:gluetun" on the app service
  4. Start:
bash
docker buildx compose up -d

All traffic (including the cloudflared tunnel) routes through the VPN.

Multi-Instance (Multiple Bots)

Each bot needs its own config.py and data volumes. Example for a second bot:

  1. Create config2.py with different BOT_TOKEN, OWNER_ID, etc.
  2. Uncomment app2 and tunnel2 in docker-compose.yml
  3. Edit volume mounts to use config2.py and separate data dirs
  4. Start:
bash
docker buildx compose up -d

Each bot gets its own cloudflared tunnel URL. Admin ports (qBittorrent, SABnzbd) are mapped to different host ports (127.0.0.1:8091, etc.).

Single Container (Manual)
bash
git clone https://github.com/SilentDemonSD/WZML-X.git
cd WZML-X
docker build -t wzmlx .
docker run -p 8080:8080 wzmlx
Deployment Notes
  1. If you use qBittorrent, tune AsyncIOThreadsCount to your machine size.
  2. Stop the container before removing it, and remove the container before pruning images.
  3. Useful cleanup commands:
bash
docker container prune
docker image prune -a
Legacy Workflow Guide

Some users still rely on the external workflow path referenced by the previous README:

  • WZ Deploy workflow guide

Keep this only if that workflow still matches your deployment style.

Configuration

Start with the required values:

  • BOT_TOKEN
  • TELEGRAM_API
  • TELEGRAM_HASH
  • OWNER_ID
  • DATABASE_URL

Then tune the optional behavior from config_sample.py.

Important user-facing settings
Setting User impact
DEFAULT_LANG Bot language
STATUS_LIMIT How much status data is shown
DEFAULT_UPLOAD Default upload target
LEECH_SPLIT_SIZE How large leech outputs are split
QUEUE_ALL, QUEUE_DOWNLOAD, QUEUE_UPLOAD Queue pressure and concurrency
SHOW_CLOUD_LINK Whether cloud links are shown to users
WEB_PINCODE Protects web access to file selection
Integrations available in config

The sample config also covers:

  • qBittorrent and Aria2-related controls
  • JDownloader login details
  • Mega credentials
  • SABnzbd server definitions
  • Google Drive settings
  • RSS, search, media metadata, and logging controls
AllDebrid (-ad)

Set ALLDEBRID_API_KEY (default: empty, feature off) in config_sample.py, in the environment, or from Bot Settings → Config Variables → ALLDEBRID_API_KEY.

Add -ad to a mirror/leech command to route the input through AllDebrid:

  • /mirror <filehost link> -ad unlocks premium hosts (1fichier, rapidgator, mega, ...) and hands the direct link to the normal downloader.
  • /leech <magnet> -ad (or reply to a .torrent with -ad) uploads the torrent to AllDebrid, waits for it to finish there, then downloads every file from AllDebrid's CDN — aria2/qBittorrent are bypassed entirely.

ALLDEBRID_NO_SEED_TIMEOUT (default: 180) caps how many seconds a magnet may stall with no seeders and no download progress before the task is aborted. Set it to 0 to disable the check and rely on AllDebrid's own dead-torrent reporting instead.

The flag is documented in the mirror help menu under the AllDebrid button. Without a key the task fails with ALLDEBRID_API_KEY is not configured; without -ad nothing changes. Magnets stop after 3 min with no seeders and 2 h overall, and are removed from your AllDebrid history if the task fails.

Project Layout

Path Purpose
bot/ Bot core, handlers, listeners, and modules
web/ FastAPI app, templates, and the file selector UI
gen_scripts/ Setup helpers for sessions, tokens, and drive configuration
plugins/ Optional bot plugins
qBittorrent/ Default qBittorrent configuration
sabnzbd/ Default SABnzbd configuration

Documentation

[!NOTE] This documentation is still being expanded.

  • Full guides: docs/
  • Deployment notes: the docs site linked from the repository at WZ Docs
  • Configuration reference: config_sample.py

Support

Join Community
  • Telegram channel: https://t.me/WZML_X
  • Support group: https://t.me/WZML_Support

Credits

WZML-X is a fork of mirror-leech-telegram-bot. The base project belongs to anasty17 and upstream contributors.

Bot Authors
Avatar Name Role Profile
SilentDemonSD Author, UI design, and custom features GitHub
RjRiajul Co-author and maintainer GitHub
CodeWithWeeb Feature expansion and wrap-up improvements GitHub
Maverick Co-author and bug testing GitHub

License

This project is distributed under the terms of the repository license. See LICENSE for the full text.

Issues· 21 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Pythonaria2cbotcloneddl-server

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言