Skip to content

Simatwa/y2mate-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

y2mate-clone logo

License Release Release date Black Visitors

Web interface for Youtube-Downloader-API, inspired by the late y2mate.com

hosted-demo-short-3.mp4

Important

It is with great gratitude that I maintain a clone of one of the most legendary websites to ever exist. While its existence is now history, we honor it, as its spirit has inspired many other projects, including this one. IFPI took down a tool, but never the spirit.

Prerequisites

Installation and Usage

1. Clone the repository

git clone --recurse-submodules https://github.com/Simatwa/y2mate-clone.git
cd y2mate-clone

2. Set up the backend

The backend is powered by Youtube-Downloader-API. Install its dependencies using uv:

cd backend
pip install uv
uv venv
source .venv/bin/activate
uv sync

Tip

Keep yt-dlp updated to avoid download failures caused by YouTube-side changes:

uv pip install -U yt-dlp

3. Start the backend server

# While in backend directory
uv run python -m app run

4. Start the frontend server

On a separate terminal tab, from the root directory of the project:

cd frontend
python -m http.server 8080 -d frontend

The web interface will be accessible at http://localhost:8080.

Tip

A live demo is available at https://y2mate-clone.vercel.app. Change the Base URL of the API to point to your own instance and enjoy the service.

Serving Both API and Frontend from One Server

  1. Navigate to the backend directory:
   cd backend
  1. Set the frontend_dir key in config.yml to point to the frontend directory:
   frontend_dir = ../frontend
  1. Start the server:
   uv run python -m app run

Both the API and frontend will now be served from http://localhost:8000.

Note

Check out Youtube-Downloader-API for full documentation on configuring and customizing the REST API backend.

License