DuoRain is a powerful automation toolkit for Duolingo that helps you farm XP, Gems, Streaks, and complete quests efficiently.
This version includes an upgraded Graphical User Interface (GUI) via DuoRain-GUI, built on top of the original DuoRain engine.
π¬ Support & Suggestions: https://discord.gg/yawq7BxJPy
- β‘ XP, Gem, and Streak farming
- π Multi-Task Farming (XP, Gems, Streaks simultaneously)
- π ~499 XP per XP loop
- π ~60 Gems per Gem loop
- π Completes all quests
- Daily quests
- Friend quests
- Monthly badge quests (including past ones)
- π Free items & 3-Day Super Duolingo
- π₯οΈ Stable CLI engine with live progress tracking
- β Press Z anytime to stop all tasks safely
- πͺ Modern Graphical User Interface
- π Real-time account stats (XP, Gems, Streak, Course)
- β‘ One-click XP / Gem / Streak farming
- π Live progress bars and logs
- βοΈ Configurable delays & debug mode
- π¨ Dark-mode themed UI
- π Start / Stop controls for each task
- π Run multiple tasks side-by-side effortlessly.
Hereβs a clean, corrected, and clearer version that supports both install paths:
- β Pre-built Windows binary (recommended for most users)
- β Source / Python method
- β No duplicated steps
- β Clear expectations per method
You can paste this directly into your README.
You can use DuoRain-GUI in two ways:
- Option A: Pre-built executable (Windows only β recommended)
- Option B: Run from source (Python required)
β Recommended for most users β No Python installation required
-
Go to the Releases page:
-
Download the latest
DuoRain-GUIvx.x.exe(Note: vx.x may varies based on the version) -
Run the executable
Thatβs it β no setup required. β
Requires Python 3.10+
git clone https://github.com/LycanLD/DuoRain-GUI.git
cd DuoRain-GUIpip install -r requirements.txtpython DuoRain_GUI.py- Windows users are strongly encouraged to use the pre-built binary
- Linux/macOS users must use the source method
- Linux binary builds might coming soon.
If you want, I can:
- Add Python version checks
- Add portable mode notes
- Add Windows Defender false-positive disclaimer
- Add auto-update notes for releases
Just tell me π
GitHub does not allow clickable bookmarklet buttons for security reasons. Please follow the steps below β it takes less than 1 minute.
This method shows your JWT token in a popup and lets you copy it safely.
- Click Copy DuoJWT Bookmarklet below
- Open your browserβs Bookmarks Manager
- Create a new bookmark
- Set the Name to:
DuoJWT - Paste the copied code into the URL / Location field
- Save it to your Bookmarks Bar
- Go to https://www.duolingo.com and log in
- Click the DuoJWT bookmark
- Copy the JWT token shown on screen
- Paste it into DuoRain
javascript:(function(){const c=document.cookie.match(new RegExp('(^| )jwt_token=([^;]+)'));if(!c){alert('Token not found.');return;}const t=c[0].slice(11).trim();const id='duo-jwt-popup';if(document.getElementById(id))document.getElementById(id).remove();const isDark=window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches;const theme={bg:isDark?'#131f24':'#fff',text:isDark?'#f1f7fb':'#4b4b4b',border:isDark?'#37464f':'#e5e5e5',shadow:isDark?'#000':'#e5e5e5',box:isDark?'#202f36':'#f7f7f7',sub:isDark?'#afafaf':'#777'};const%20s=document.createElement('style');s.innerHTML=`@keyframes%20duoPop{0%{transform:translate(-50%,-40%)%20scale(0.9);opacity:0}100%{transform:translate(-50%,-50%)%20scale(1);opacity:1}}.duo-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000000;background:${theme.bg};padding:24px;border-radius:16px;box-shadow:0%208px%200%20${theme.shadow},0%2015px%2030px%20rgba(0,0,0,0.3);font-family:'din-round',sans-serif,system-ui;width:350px;animation:duoPop%200.25s%20cubic-bezier(0.17,0.89,0.32,1.28);border:2px%20solid%20${theme.border};text-align:center}.duo-header{color:#58cc02;font-size:20px;font-weight:800;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px}.duo-warning{color:#ff4b4b;font-size:13px;font-weight:700;margin-bottom:16px;display:block}.duo-token-box{background:${theme.box};padding:12px;border-radius:12px;border:2px%20solid%20${theme.border};word-break:break-all;font-family:monospace;font-size:11px;max-height:100px;overflow-y:auto;color:${theme.text};margin-bottom:20px}.duo-btn{background:#58cc02;color:white;border:none;padding:12px%2020px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;width:100%;border-bottom:4px%20solid%20#46a302;transition:all0.1s;text-transform:uppercase}.duo-btn:active{border-bottom:0;transform:translateY(4px)}.duo-close{position:absolute;top:10px;right:15px;cursor:pointer;color:${theme.sub};font-size:24px;font-weight:bold}`;document.head.appendChild(s);const%20v=document.createElement('div');v.id=id;v.innerHTML=`<div%20class='duo-modal'><span%20class='duo-close'%20onclick='this.parentElement.parentElement.remove()'>×</span><div%20class='duo-header'>JWT%20Token</div><div%20style='font-size:14px;font-weight:700;color:${theme.sub};margin-bottom:4px'>(For%20DuoRain,%20DuoKLI)</div><span%20class='duo-warning'>%E2%9A%A0%EF%B8%8F%20Do%20not%20show%20this%20to%20anyone</span><div%20class='duo-token-box'>${t}</div><button%20class='duo-btn'%20id='duo-copy-btn'>Copy%20Token</button></div>`;document.body.appendChild(v);document.getElementById('duo-copy-btn').onclick=function(){navigator.clipboard.writeText(t);this.innerText='Copied!';this.style.background='#1cb0f6';this.style.borderBottomColor='#1899d6';setTimeout(()=>{this.innerText='Copy%20Token';this.style.background='#58cc02';this.style.borderBottomColor='#46a302'},2000)};})();
- Go to https://www.duolingo.com and log in
- Open Developer Tools (
F12orCtrl + Shift + I) - Go to the Console tab
- Run:
document.cookie.match(new RegExp('(^| )jwt_token=([^;]+)'))[0].slice(11)- Copy the output
- Remove any leading or trailing quotes (
") - Paste the cleaned token into DuoRain
- Your JWT token gives full access to your Duolingo account
- β Never share it
- β Never upload screenshots containing it
- β Never commit it to GitHub
If you want, I can:
- Add browser-specific screenshots
- Add a Troubleshooting section
- Add Safari / Firefox notes
- Convert this into a GUI βFetch JWTβ helper
Just tell me π
XP farming currently uses English β French stories. Make sure the French course is added to your Duolingo profile.
Special thanks to @OracleMythix for the original DuoRain Python project.
We are grateful to have DuoRain-GUI recognized as an official part of the DuoRain project.
- DuoRain β @OracleMythix
- DuoRain-GUI β Lyc4nLΔ
This project is for educational purposes only. Use responsibly and at your own risk.
β Do NOT resell, skid, or claim this project as your own.
Stay stormy. βοΈ

