A fast and simple downloader for BuzzHeavier and FuckingFast file hosting services
Project description
BHDownloader
A fast and simple Python downloader for BuzzHeavier and FuckingFast file hosting services.
Features
- Download files using URLs or file IDs
- Batch download from a file containing multiple links
- Parallel downloads for faster batch processing
- Progress bar with download statistics
- Python API for integration into your projects
- Cross-platform (Windows, macOS, Linux)
Supported Domains
buzzheavier.combzzhr.cofuckingfast.netfuckingfast.co
Installation
pip install bhdownloader
Command-Line Usage
Download a single file
# Using full URL
bhdownloader https://fuckingfast.net/abc123xyz456
# Using just the file ID
bhdownloader abc123xyz456
# Using the short alias
bhd abc123xyz456
Download to a specific directory
bhdownloader https://fuckingfast.net/abc123xyz456 -o ./downloads
Batch download from a file
Create a text file with one URL or ID per line:
# urls.txt
https://fuckingfast.net/abc123xyz456
https://buzzheavier.com/def789ghi012
jkl345mno678
Then run:
bhdownloader -f urls.txt -o ./downloads
Parallel downloads
Download multiple files simultaneously:
bhdownloader -f urls.txt -p 3 -o ./downloads
All CLI Options
Usage: bhdownloader [OPTIONS] [URL]
Options:
URL URL or file ID to download
-f, --file FILE File containing URLs or IDs (one per line)
-o, --output-dir DIR Output directory (default: current directory)
-p, --parallel N Number of parallel downloads (default: 1)
-t, --timeout SECONDS Request timeout in seconds (default: 30)
-q, --quiet Suppress output except errors
-v, --verbose Enable verbose/debug output
--no-banner Don't show the banner
-V, --version Show version and exit
-h, --help Show help message and exit
Python API
Basic usage
from bhdownloader import download
# Download by URL
download("https://fuckingfast.net/abc123xyz456")
# Download by file ID
download("abc123xyz456")
# Download to specific directory
download("abc123xyz456", output_dir="./downloads")
# Download with custom filename
download("abc123xyz456", output_filename="myfile.zip")
# Quiet mode (no progress bar)
download("abc123xyz456", quiet=True)
Advanced usage
from bhdownloader import download, resolve_url, get_download_link
# Resolve a file ID to full URL
url = resolve_url("abc123xyz456")
print(url) # https://buzzheavier.com/abc123xyz456
# Get direct download link without downloading
download_url, filename = get_download_link("https://fuckingfast.net/abc123xyz456")
print(f"Direct URL: {download_url}")
print(f"Filename: {filename}")
# Download with custom progress callback
def my_progress(downloaded, total):
percent = (downloaded / total) * 100 if total else 0
print(f"Progress: {percent:.1f}%")
download(
"abc123xyz456",
show_progress=False,
progress_callback=my_progress
)
Error handling
from bhdownloader import download
from bhdownloader.core import (
InvalidURLError,
DownloadError,
FileNotFoundError,
BHDownloaderError,
)
try:
download("abc123xyz456")
except InvalidURLError as e:
print(f"Invalid URL or ID: {e}")
except FileNotFoundError as e:
print(f"File not found or expired: {e}")
except DownloadError as e:
print(f"Download failed: {e}")
except BHDownloaderError as e:
print(f"General error: {e}")
API Reference
Functions
download(input_str, **kwargs) -> str
Download a file from BuzzHeavier/FuckingFast.
Parameters:
input_str(str): URL or file ID to downloadoutput_dir(str, optional): Directory to save the fileoutput_filename(str, optional): Custom filenamechunk_size(int): Download chunk size (default: 8192)timeout(int): Request timeout in seconds (default: 30)show_progress(bool): Show progress bar (default: True)progress_callback(callable): Custom progress callbackquiet(bool): Suppress all output (default: False)
Returns: Path to the downloaded file
resolve_url(input_str) -> str
Resolve a URL or file ID to a valid BuzzHeavier URL.
get_download_link(url, timeout=30) -> tuple[str, str]
Get the direct download link and filename from a BuzzHeavier page.
Returns: Tuple of (download_url, filename)
Exceptions
BHDownloaderError: Base exception for all errorsInvalidURLError: Invalid URL or file IDDownloadError: Download failedFileNotFoundError: File not found or expired
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bhdownloader-1.0.0.tar.gz.
File metadata
- Download URL: bhdownloader-1.0.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
580edae5d14af88c5c4f857fc8102504fae833b3af30cd26481bab9012994a8d
|
|
| MD5 |
784dd226c5e5c3a9576c48125ed61d6d
|
|
| BLAKE2b-256 |
d941a59e086feb9742561c96a3c3c6070c843e10d7318f0f3f6bd69b9ee07012
|
File details
Details for the file bhdownloader-1.0.0-py3-none-any.whl.
File metadata
- Download URL: bhdownloader-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8549da56206924fbe6590713f126a48468da9b7ae6a07bfa30059eff1d4fbb4
|
|
| MD5 |
7a57c9850d15f78ca998d7224bf18cbd
|
|
| BLAKE2b-256 |
1eaa44595ad1b1f6db07d552f97630c11c895405dcb210d57404b15bc282cfd2
|