Lightning-fast bulk file downloader for datanodes.to & fuckingfast.co
Built with Python · Playwright · aiohttp
Best tested:
~250 MB/son a 2.5 Gbps fiber — 23.5 GB across 47 files in ~3 minutes
| 🖥️ Interface | ✅ Download Complete |
![]() |
![]() |
| 🚀 253.8 MB/s — 47 files on 2.5 Gbps fiber |
![]() |
| ### 🚀 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`) |
avvia.batpip install -r requirements.txt
playwright install chromium
python gen_1.py
python gen_cli.py <url1> <url2> ... -o <output_folder>
| 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.
| 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 |
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) |
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
aiohttp, playwright, pillowMade with 🖤 and cold coffee
$ claude mcp add moondownloader \
-- python -m otcore.mcp_server <graph>