Skip to main content

A high-performance, React-based BitTorrent client with an intuitive interface for seamless file downloading

Project description

Torrent Downloader Web App

A modern, full-featured torrent downloader with a clean React interface and FastAPI backend.

Torrent Downloader Web UI

Features

  • Sleek, Responsive UI: Modern React interface that works on desktop and mobile
  • Real-time Updates: Live tracking of download progress, speed, and ETA
  • Easy to Use: Simple interface for adding and managing downloads
  • Flexible Backend: Powerful FastAPI server handling torrent operations
  • Lightweight: Minimal resource usage while maintaining full functionality
  • Cross-platform: Works on Windows, macOS, and Linux

System Requirements

  • Python 3.8 or higher
  • Platform-specific libtorrent dependencies:
    • Windows: Microsoft Visual C++ Redistributable
    • macOS: brew install libtorrent-rasterbar
    • Ubuntu/Debian: sudo apt-get install python3-libtorrent
    • Fedora: sudo dnf install rb_libtorrent-python3

Installation

From PyPI (Recommended)

pip install torrent-downloader-react

From Source

git clone https://github.com/stevenyyan/torrent-downloader.git
cd torrent-downloader/torrent-downloader-react/backend
pip install -e .

Usage

  1. Start the application:
    torrent-downloader-react
    
  2. Open your browser at http://127.0.0.1:8000
  3. Paste a magnet link in the input field and click "Add Torrent"
  4. Monitor download progress in the list view
  5. Access completed downloads in your Downloads/TorrentDownloader folder
  6. Click "Open Download Folder" to view your downloaded files

Development Setup

Frontend (React + Vite)

# Install dependencies
cd torrent-downloader-react
npm install

# Start development server (runs on http://localhost:5173)
npm run dev

Backend (FastAPI)

# Install dependencies
cd torrent-downloader-react/backend
pip install -r requirements.txt

# Start development server
python -m torrent_downloader.server

API Documentation

The backend provides a RESTful API:

  • POST /api/torrent/add - Add new torrent
  • GET /api/torrent/list - List all active torrents
  • DELETE /api/torrent/{torrent_id} - Remove torrent
  • GET /api/downloads/path - Get downloads directory path
  • POST /api/downloads/open - Open downloads folder

Alternative Installation with Conda

# Create and activate conda environment
conda create -n torrent-env python=3.11
conda activate torrent-env

# Install libtorrent dependency
conda install -c conda-forge libtorrent

# Install the package
pip install torrent-downloader-react

License

MIT License - See LICENSE file for details.

Legal Notice

This software is intended for downloading legal torrents only. Users are responsible for compliance with applicable laws.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torrent-downloader-react-1.2.0.tar.gz (79.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torrent_downloader_react-1.2.0-py3-none-any.whl (79.0 kB view details)

Uploaded Python 3

File details

Details for the file torrent-downloader-react-1.2.0.tar.gz.

File metadata

  • Download URL: torrent-downloader-react-1.2.0.tar.gz
  • Upload date:
  • Size: 79.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for torrent-downloader-react-1.2.0.tar.gz
Algorithm Hash digest
SHA256 11aaf1597349ed80ac2de865b7ac54438d9da21b9a2ae88019b39830286416d4
MD5 b226f08a84f46d533899bcf9eb0d1a47
BLAKE2b-256 b75b75fe14147f03b2a4315ebe9fa4bc1cefd498cfce5a244d210d78247d86d6

See more details on using hashes here.

File details

Details for the file torrent_downloader_react-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for torrent_downloader_react-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1aa526f7dce97ae3a9bfb3941fbf7a1f9807648baa286f38a9db05c23bb27878
MD5 93d0fc109839ee6e6db3dfc5359fc708
BLAKE2b-256 59540ce590beb094619a55c2ffe355f7f98e57ec9a6831d82fccc1f95a343cb6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page