🎮 Automate Twitch Drop Farming — Effortlessly, Headlessly, and Bandwidth-Free
A modern, AI-assisted fork of DevilXD/TwitchDropsMiner — rebuilt for reliability, simplicity, and automation.
Twitch Drops Miner lets you automatically farm Twitch drops without ever opening a stream.
No more tab juggling, channel switching, or missing rewards — just set it, forget it, and collect.
- 🚀 Streamless Mining — Earn drops without streaming video (save bandwidth)
- 🔍 Automatic Campaign Discovery — Detects new drop events automatically
- ⚙️ Auto Channel Switching — Always mines the best available stream
- 💾 Persistent Login — OAuth login saved via cookies
- 🕹️ Simple Web UI — Manage everything from your browser
- 🧩 Docker-Ready — One command to deploy anywhere
docker pull rangermix/twitch-drops-miner:latest
docker run -d -p 8080:8080 -v $(pwd)/data:/app/data rangermix/twitch-drops-miner:latestservices:
twitch-drops-miner:
image: rangermix/twitch-drops-miner:latest
ports:
- "8080:8080"
volumes:
- ./data:/app/data
# optional, use if you want to persist logs
- ./logs:/app/logs
environment:
# Set timezone (optional, defaults to UTC)
- TZ=Australia/Sydney
restart: unless-stopped# Python 3.10+
pip install -e .
python main.pyVisit 👉 http://localhost:8080
- Open
http://localhost:8080 - Login with your Twitch account (OAuth device flow)
- The miner auto-fetches available campaigns
- Select games you want to farm → click Reload
- TDM starts mining drops automatically 🎉
📝 Tip:
Make sure your Twitch account is linked to your game accounts →
👉 https://www.twitch.tv/drops/campaigns
⚠️ Avoid Watching on the Same Account
Watching Twitch manually while the miner runs can cause progress desync.
Use a different account if you want to watch live streams while mining.
💡 Requirements
Python 3.10+
Docker optional but recommended
Persistent data stored in/data
A clean, modern web UI lets you control everything from your browser.
If TwitchDropsMiner saves you time or bandwidth, please consider supporting continued development:
⭐ Star this repo → it really helps visibility!
💬 Open an issue or submit a PR if you want to contribute.
You can also support the original author @DevilXD:
👉 buymeacoffee.com/DevilXD or Patreon.
| Goal | Description |
|---|---|
| 🎯 Focus | Twitch Drops automation |
| 🧩 Ease of Use | Simple web UI |
| 🛡️ Reliability | Designed for continuous operation |
| ⚙️ Efficiency | Minimal API calls, Twitch-friendly |
| 🐳 Deployment | Docker-first, headless operation |
This project is a fork of the brilliant TwitchDropsMiner by @DevilXD.
Huge thanks to DevilXD and all contributors who built the foundation.
For detailed translation and contribution credits, see Acknowledgments below.
⚙️ This fork is heavily maintained and developed using AI-assisted coding (Claude Code).
While stable, the codebase reflects “vibe coding” patterns — always review changes before deployment.
Use responsibly.
@guihkx - For the CI script, CI maintenance, and everything related to Linux builds.
@kWAYTV - For the implementation of the dark mode theme.
@Bamboozul - For the entirety of the Arabic (العربية) translation.
@Suz1e - For the entirety of the Chinese (简体中文) translation and revisions.
@wwj010 - For the Chinese (简体中文) translation corrections and revisions.
@zhangminghao1989 - For the Chinese (简体中文) translation corrections and revisions.
@Ricky103403 - For the entirety of the Traditional Chinese (繁體中文) translation.
@LusTerCsI - For the Traditional Chinese (繁體中文) translation corrections and revisions.
@nwvh - For the entirety of the Czech (Čeština) translation.
@Kjerne - For the entirety of the Danish (Dansk) translation.
@roobini-gamer - For the entirety of the French (Français) translation.
@Calvineries - For the French (Français) translation revisions.
@ThisIsCyreX - For the entirety of the German (Deutsch) translation.
@Eriza-Z - For the entirety of the Indonesian translation.
@casungo - For the entirety of the Italian (Italiano) translation.
@ShimadaNanaki - For the entirety of the Japanese (日本語) translation.
@Patriot99 - For the Polish (Polski) translation and revisions (co-authored with @DevilXD).
@zarigata - For the entirety of the Portuguese (Português) translation.
@Sergo1217 - For the entirety of the Russian (Русский) translation.
@kilroy98 - For the Russian (Русский) translation corrections and revisions.
@Shofuu - For the entirety of the Spanish (Español) translation and revisions.
@alikdb - For the entirety of the Turkish (Türkçe) translation.
@Nollasko - For the entirety of the Ukrainian (Українська) translation and revisions.
@kilroy98 - For the Ukrainian (Українська) translation corrections and revisions.

