TubeZ


NameTubeZ JSON
Version 1.0.9 PyPI version JSON
download
home_pageNone
SummaryA self-hosted web dashboard to search, play, and download video or audio from hundreds of sites using yt-dlp.
upload_time2025-09-17 11:09:50
maintainerNone
docs_urlNone
authorJuniorSir
requires_python>=3.8
licenseNone
keywords youtube downloader yt-dlp flask termux video audio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<div align="center">
  <img src="https://raw.githubusercontent.com/juniorsir/TubeZ/main/.github/assets/logo.png" alt="TubeZ Logo" width="150"/>
  <h1>TubeZ</h1>
  <p>
    A powerful, self-hosted web dashboard to search, play, and download video or audio from hundreds of sites using yt-dlp.
  </p>
  <p>
    <a href="https://pypi.org/project/TubeZ/"><img alt="PyPI" src="https://img.shields.io/pypi/v/TubeZ?color=blue&label=pypi%20package"></a>
    <a href="https://github.com/juniorsir/TubeZ/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/juniorsir/TubeZ"></a>
  </p>
</div>

![TubeZ Demo GIF](https://raw.githubusercontent.com/juniorsir/TubeZ/main/.github/assets/demo.gif)

---

### **Table of Contents**

- [✨ Features in Depth](#-features-in-depth)
- [🛠️ Technology Stack](#️-technology-stack)
- [🚀 Installation](#-installation)
- [▶️ How to Run](#️-how-to-run)
- [🐳 Docker Deployment (Advanced)](#-docker-deployment-advanced)
- [🔧 Configuration](#-configuration)
- [🤝 Contributing](#-contributing)
- [📄 License](#-license)

---

## ✨ Features in Depth

-   **Modern & Responsive UI**: Clean, beautiful, and mobile-friendly interface built with Bootstrap. It includes a dark mode theme and a fully responsive layout that works on any device.

-   **Universal Support**:
    -   **YouTube Search**: Find any video on YouTube directly from the app.
    -   **Direct URL Support**: Paste a video, playlist, or channel URL from hundreds of websites supported by `yt-dlp`.

-   **Direct Streaming**: Why wait? Play videos and audio directly in your browser with a multi-stage loading animation that provides clear feedback. It intelligently handles sites that don't support direct streaming.

-   **Advanced Downloads**:
    -   **Format Selection**: Choose the exact video quality, audio quality, or file format you need.
    -   **Playlist & Channel Downloading**: Paste a playlist or channel URL, select the videos you want, and download them all in one go.
    -   **One-Click Audio**: A dedicated "Get Audio" button streamlines downloading music and podcasts.
    -   **Subtitle Support**: Automatically fetches available subtitle languages and allows you to embed them directly into your downloaded video file.

-   **Robust Download Management**:
    -   **Background Queue**: Add multiple items to a download queue that processes sequentially in the background, so you can keep browsing.
    -   **Live Progress**: The UI dynamically updates to show real-time download progress, speed, and ETA without needing a page refresh.
    -   **File Management**: View, download, and delete your completed files directly from the web interface.

-   **Secure & Maintainable**:
    -   **Self-Hosted**: You control your data. Run it on your own machine, home server, or in the cloud.
    -   **Password Protection**: An optional password can be set to protect access to the dashboard.
    -   **Auto-Update Notifications**: The app automatically checks for new versions on PyPI and will prompt for an update, ensuring you're always on the latest stable release.

---

## 🛠️ Technology Stack

-   **Backend**: Python with **Flask**
-   **Core Engine**: **yt-dlp** for all media downloading and metadata extraction.
-   **Frontend**: **Bootstrap 5**, HTML5, CSS3, and modern JavaScript (no framework).
-   **WSGI Server**: **Waitress** for a lightweight production-ready server.
-   **Packaging**: **PyPI** for distribution and **GitHub Actions** for automated publishing.

---

## 🚀 Installation

Make sure you have Python 3.8+ and `ffmpeg` installed on your system.

#### On Linux (Debian/Ubuntu)
```bash
sudo apt update && sudo apt install python3 python3-pip ffmpeg -y
```
### On Termux (Android)
```baah
pkg update && pkg install python ffmpeg -y
```
## Install with pip (Recommended)
*(Note: You may need to use `pip3` instead of `pip` on some systems).*

---

## ▶️ How to Run

After a successful installation, you can start the web server from anywhere in your terminal.
1.  **Install using pip:**
    ```bash
    pip install TubeZ
    ```
2.  **Start the Server:**
    ```bash
    tubez
    ```

3.  **Open the Web Dashboard:**
    Open your web browser and go to: `http://127.0.0.1:8089`

4.  **Find Your Files:**
    Your downloaded videos and audio will be saved in a folder named `TubeZ` inside your main `Downloads` directory. This can be changed in the Settings page.



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "TubeZ",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "youtube, downloader, yt-dlp, flask, termux, video, audio",
    "author": "JuniorSir",
    "author_email": "JuniorSir <juniorsir011@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/0d/b3/74232d4685fc222f5d0554035d2fe1751d47155d1202a1230ba826c1e66d/tubez-1.0.9.tar.gz",
    "platform": null,
    "description": "\n<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/juniorsir/TubeZ/main/.github/assets/logo.png\" alt=\"TubeZ Logo\" width=\"150\"/>\n  <h1>TubeZ</h1>\n  <p>\n    A powerful, self-hosted web dashboard to search, play, and download video or audio from hundreds of sites using yt-dlp.\n  </p>\n  <p>\n    <a href=\"https://pypi.org/project/TubeZ/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/TubeZ?color=blue&label=pypi%20package\"></a>\n    <a href=\"https://github.com/juniorsir/TubeZ/blob/main/LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/github/license/juniorsir/TubeZ\"></a>\n  </p>\n</div>\n\n![TubeZ Demo GIF](https://raw.githubusercontent.com/juniorsir/TubeZ/main/.github/assets/demo.gif)\n\n---\n\n### **Table of Contents**\n\n- [\u2728 Features in Depth](#-features-in-depth)\n- [\ud83d\udee0\ufe0f Technology Stack](#\ufe0f-technology-stack)\n- [\ud83d\ude80 Installation](#-installation)\n- [\u25b6\ufe0f How to Run](#\ufe0f-how-to-run)\n- [\ud83d\udc33 Docker Deployment (Advanced)](#-docker-deployment-advanced)\n- [\ud83d\udd27 Configuration](#-configuration)\n- [\ud83e\udd1d Contributing](#-contributing)\n- [\ud83d\udcc4 License](#-license)\n\n---\n\n## \u2728 Features in Depth\n\n-   **Modern & Responsive UI**: Clean, beautiful, and mobile-friendly interface built with Bootstrap. It includes a dark mode theme and a fully responsive layout that works on any device.\n\n-   **Universal Support**:\n    -   **YouTube Search**: Find any video on YouTube directly from the app.\n    -   **Direct URL Support**: Paste a video, playlist, or channel URL from hundreds of websites supported by `yt-dlp`.\n\n-   **Direct Streaming**: Why wait? Play videos and audio directly in your browser with a multi-stage loading animation that provides clear feedback. It intelligently handles sites that don't support direct streaming.\n\n-   **Advanced Downloads**:\n    -   **Format Selection**: Choose the exact video quality, audio quality, or file format you need.\n    -   **Playlist & Channel Downloading**: Paste a playlist or channel URL, select the videos you want, and download them all in one go.\n    -   **One-Click Audio**: A dedicated \"Get Audio\" button streamlines downloading music and podcasts.\n    -   **Subtitle Support**: Automatically fetches available subtitle languages and allows you to embed them directly into your downloaded video file.\n\n-   **Robust Download Management**:\n    -   **Background Queue**: Add multiple items to a download queue that processes sequentially in the background, so you can keep browsing.\n    -   **Live Progress**: The UI dynamically updates to show real-time download progress, speed, and ETA without needing a page refresh.\n    -   **File Management**: View, download, and delete your completed files directly from the web interface.\n\n-   **Secure & Maintainable**:\n    -   **Self-Hosted**: You control your data. Run it on your own machine, home server, or in the cloud.\n    -   **Password Protection**: An optional password can be set to protect access to the dashboard.\n    -   **Auto-Update Notifications**: The app automatically checks for new versions on PyPI and will prompt for an update, ensuring you're always on the latest stable release.\n\n---\n\n## \ud83d\udee0\ufe0f Technology Stack\n\n-   **Backend**: Python with **Flask**\n-   **Core Engine**: **yt-dlp** for all media downloading and metadata extraction.\n-   **Frontend**: **Bootstrap 5**, HTML5, CSS3, and modern JavaScript (no framework).\n-   **WSGI Server**: **Waitress** for a lightweight production-ready server.\n-   **Packaging**: **PyPI** for distribution and **GitHub Actions** for automated publishing.\n\n---\n\n## \ud83d\ude80 Installation\n\nMake sure you have Python 3.8+ and `ffmpeg` installed on your system.\n\n#### On Linux (Debian/Ubuntu)\n```bash\nsudo apt update && sudo apt install python3 python3-pip ffmpeg -y\n```\n### On Termux (Android)\n```baah\npkg update && pkg install python ffmpeg -y\n```\n## Install with pip (Recommended)\n*(Note: You may need to use `pip3` instead of `pip` on some systems).*\n\n---\n\n## \u25b6\ufe0f How to Run\n\nAfter a successful installation, you can start the web server from anywhere in your terminal.\n1.  **Install using pip:**\n    ```bash\n    pip install TubeZ\n    ```\n2.  **Start the Server:**\n    ```bash\n    tubez\n    ```\n\n3.  **Open the Web Dashboard:**\n    Open your web browser and go to: `http://127.0.0.1:8089`\n\n4.  **Find Your Files:**\n    Your downloaded videos and audio will be saved in a folder named `TubeZ` inside your main `Downloads` directory. This can be changed in the Settings page.\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A self-hosted web dashboard to search, play, and download video or audio from hundreds of sites using yt-dlp.",
    "version": "1.0.9",
    "project_urls": {
        "Bug Tracker": "https://github.com/juniorsir/TubeZ/issues",
        "Homepage": "https://github.com/juniorsir/TubeZ"
    },
    "split_keywords": [
        "youtube",
        " downloader",
        " yt-dlp",
        " flask",
        " termux",
        " video",
        " audio"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0cdeb36a7b2865f2c0033a8eba4f77d44601d06fb1080dca48629a33f6a9495c",
                "md5": "42cf879452c17ecf96f23ba7ae70d26c",
                "sha256": "83603ac0a9449f3587c416cb43f93469ab4255146675f2af0cfc6f16c30c39b1"
            },
            "downloads": -1,
            "filename": "tubez-1.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "42cf879452c17ecf96f23ba7ae70d26c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 36064,
            "upload_time": "2025-09-17T11:09:48",
            "upload_time_iso_8601": "2025-09-17T11:09:48.664045Z",
            "url": "https://files.pythonhosted.org/packages/0c/de/b36a7b2865f2c0033a8eba4f77d44601d06fb1080dca48629a33f6a9495c/tubez-1.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0db374232d4685fc222f5d0554035d2fe1751d47155d1202a1230ba826c1e66d",
                "md5": "74cf10164ae29a87cc9f2b6b8741b833",
                "sha256": "6e6eba3ac7b2456f4a4994e711cdb435ad158090c2c16b871bdaf6c9de9e8a59"
            },
            "downloads": -1,
            "filename": "tubez-1.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "74cf10164ae29a87cc9f2b6b8741b833",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 28553,
            "upload_time": "2025-09-17T11:09:50",
            "upload_time_iso_8601": "2025-09-17T11:09:50.477688Z",
            "url": "https://files.pythonhosted.org/packages/0d/b3/74232d4685fc222f5d0554035d2fe1751d47155d1202a1230ba826c1e66d/tubez-1.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-17 11:09:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "juniorsir",
    "github_project": "TubeZ",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tubez"
}
        
Elapsed time: 3.89254s