Skip to content

LeyckerS/moondownloader

Repository files navigation

🌙 Moon Downloader

v14.1

Lightning-fast bulk file downloader for datanodes.to & fuckingfast.co

Built with Python · Playwright · aiohttp

Python Playwright Platform License



Best tested: ~250 MB/s on a 2.5 Gbps fiber — 23.5 GB across 47 files in ~3 minutes



📸 Screenshots

🖥️ Interface ✅ Download Complete

🚀 253.8 MB/s — 47 files on 2.5 Gbps fiber

⚡ Features

🚀 Performance

  • 8–32 parallel browsers for extraction
  • 16–64 concurrent download streams
  • Stall detection & automatic lane kills
  • Resume interrupted downloads (.tmp)

🛡️ Reliability

  • Per-URL retry with exponential backoff
  • Dead link detection (instant fail, no wasted time)
  • Ad overlay bypass & popup dismissal
  • Per-session telemetry logs

🎯 Providers

  • fuckingfast.co — regex extraction, no browser needed
  • datanodes.to — full browser automation flow
  • Automatic provider detection from URL

🔧 Modes

  • Download — extract & download files
  • Links only — extract direct URLs to file
  • CLI version included (gen_cli.py)

🚀 Quick Start

One-click launch (Windows)

  1. Install Python 3.10+ — check ✅ "Add Python to PATH"
  2. Double-click avvia.bat
  3. Done. First run auto-installs everything.

Manual setup

pip install -r requirements.txt
playwright install chromium
python gen_1.py

CLI version

python gen_cli.py <url1> <url2> ... -o <output_folder>

⚙️ Settings

Setting Range Default Description
Browsers 8 – 32 16 Parallel browser workers for link extraction
DL Streams 16 – 64 48 Concurrent download connections
Retries 0 – 5 3 Retry attempts per failed URL

Tip: For 40+ file sessions, 16 browsers / 48 streams is the sweet spot. For 200+ files, push browsers toward 32.


📂 Output Files

File Description
moontech_*.log Human-readable performance report
moontech_*.json Per-file metrics (machine-readable)
output_links.txt Extracted direct links (Links-only mode)
failed_links.txt URLs that failed all retries

📁 Optional Files

Place in the same folder as gen_1.py:

File Purpose
proxies.txt Proxy list — ip:port:user:pass or http://user:pass@ip:port
logo.png Custom header logo (auto-scaled to 44×44)

🏗️ Architecture

Single-file application (~1500 lines), structured in layers:

gen_1.py
├── Global config          — theme, tuning constants, user agents
├── Resource singletons    — aiohttp session pool, proxy rotation
├── Extraction layer       — fuckingfast (regex) + datanodes (Playwright)
├── Download engine        — Range resume, stall detection, lane kills
├── Telemetry              — 1 Hz snapshots, .log + .json output
├── GUI (tkinter)          — live stats, dual progress bars, color log
└── Async orchestration    — queue-based workers, semaphore concurrency

📋 Requirements

  • OS: Windows 10 / 11
  • Python: 3.10+
  • Disk: ~150 MB for Chromium browser
  • Packages: aiohttp, playwright, pillow

Made with 🖤 and cold coffee

About

Lightning-fast bulk file downloader for datanodes.to & fuckingfast.co - 253 MB/s on 2.5 Gbps fiber. Playwright extraction + aiohttp async engine.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors