Skip to content

Download videos and audios from various platforms using your own private Telegram bot

License

Notifications You must be signed in to change notification settings

johan-perso/YourDownloader

Repository files navigation

Version française ici.

YourDownloader

A Telegram bot allowing you to download videos and audio files from supported platforms "providers", with the ability to search for them directly from other supported platforms "subproviders". Self-hostable for more privacy, open-source, and free without ads!

This project uses the Telegraf library to interact with the Telegram Bot API, and uses ffmpeg + yt-dlp to download and convert files.

Hosting with Docker

Prerequisites

  • Docker with Docker Compose
  • A Telegram bot token (create yours by sending a message to @BotFather)
  • Telegram API ID and API Hash (obtained from my.telegram.org)
    • You don't have to enter any website if asked, and you can select Desktop as the used platform.

Installation

  1. Clone the repository:
git clone https://github.com/johan-perso/yourdownloader.git
cd yourdownloader
  1. Configure environment variables:
cp .env.example .env
# Edit the .env file with the values you obtained from BotFather and my.telegram.org
  1. Build and run the Docker container:
docker-compose up -d --build

Access the bot

You can now send the /start command to your bot based on the username you defined in BotFather. The bot will respond with a welcome message and instructions on how to use it.
Reminder: everyone with the link to your bot can use it, but you should NEVER share the token or API ID/API Hash publicly.

Supported platforms

Providers

  • ytdlp: Download videos and audio files from many websites, including YouTube, SoundCloud, Instagram, TikTok and more.

Subproviders

You can send the bot a link from any subprovider, and it will automatically search for it on another supported provider.

  • Apple Music
  • Spotify
  • Deezer
  • Tidal
  • Amazon Music
  • Song.link

License

MIT © Johan. Support this project if you want to help me 💙