MCPcopy Index your code
hub / github.com/ellite/OneDL

github.com/ellite/OneDL @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
40 symbols 109 edges 1 files 3 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OneDL

OneDL Logo

OneDL is a universal downloader for the command line — a single tool to download content via torrents, hosters, MEGA folders, and direct HTTP(S) links with support for Real-Debrid, AllDebrid, Premiumize.me and TorBox.

Whether you're pasting a magnet link or unlocking hoster URLs, OneDL handles everything from resolving links to downloading files with a clean, interactive terminal interface.


✨ Features

  • ✅ Supports magnet links, hoster URLs, MEGA folders, Torrent files, NZB files, and direct HTTP(S) links
  • ✅ Integrates with:
  • Real-Debrid
  • AllDebrid
  • Premiumize.me
  • Torbox
  • Debrid-Link
  • ✅ Automatically finds the best debrid service for your link
  • ✅ Lets you select specific files from torrents, NZBs, and containers
  • ✅ Shows real-time download progress with speeds
  • ✅ Works entirely from your terminal — no GUI needed

🛠️ Installation

1. Install Python

Make sure Python 3.10 or newer is installed:

python3 --version

If it's not installed, download it from python.org or install it using your system’s package manager.

2. Install Required Package

The only required external Python packages are requests and bencodepy. Install them with:

pip install requests bencodepy

Use pip3 if you're on a system where pip refers to Python 2.

3. Download the Script

Download OneDL.py directly from GitHub:

curl -o OneDL.py https://raw.githubusercontent.com/ellite/OneDL/refs/heads/main/OneDL.py
curl -o ~/.onedl.conf https://raw.githubusercontent.com/ellite/OneDL/refs/heads/main/.onedl.conf
chmod +x OneDL.py

4. Make It Globally Accessible (Optional)

To make onedl available from any folder, create a hard link:

sudo ln OneDL.py /usr/local/bin/onedl

Now you can simply run:

onedl

🔄 Update

curl -o OneDL.py https://raw.githubusercontent.com/ellite/OneDL/refs/heads/main/OneDL.py

🚀 Usage

  1. Run the script:

    bash onedl

  2. Choose how to provide your links:

  3. Load from a file
  4. Paste manually
  5. Use a debrid service

  6. If using a debrid service:

  7. Select Real-Debrid, AllDebrid, Premiumize.me, Torbox, or "Find best option"
  8. Paste your magnet, hoster, or HTTP(S) URL when prompted, or upload a .torrent or .nzb file

  9. Select specific files (if applicable), and OneDL will download them to your current folder.


🔐 API Configuration

OneDL uses a configuration file to store your API keys securely. This file is named .onedl.conf and is usually located in your home directory.

  1. Open the configuration file
nano ~/.onedl.conf
  1. Paste your API keys inside the quotes for the services you want to use:
{
  "REAL_DEBRID_API_TOKEN": "",
  "ALLDEBRID_API_TOKEN": "",
  "PREMIUMIZE_API_TOKEN": "",
  "TORBOX_API_TOKEN": "",
  "DEBRID_LINK_API_TOKEN": ""
}

Tokens are optional — just set the ones you have access to.


Screenshot Screenshot


📄 License

AGPLv3

Core symbols most depended-on inside this repo

select_files_interactive
called by 14
OneDL.py
is_magnet
called by 11
OneDL.py
extract_mega_files_from_folder
called by 5
OneDL.py
print_border
called by 4
OneDL.py
print_line
called by 3
OneDL.py
download_file
called by 3
OneDL.py
get_urls_from_file
called by 2
OneDL.py
human_readable_size
called by 2
OneDL.py

Shape

Function 40

Languages

Python100%

Modules by API surface

OneDL.py40 symbols

For agents

$ claude mcp add OneDL \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact