π· Automated Xiaomi MiMo Open Platform registration + Telegram admin bot
β¨ Chain-loop: register β redeem β API key β ultraspeed β capture ref code β repeat
π Telegram inline keyboard UI β control everything from your phone
| Feature | Detail |
|---|---|
| π Chain loop | Auto-register accounts in chain β each new account uses previous ref code |
| π Random fingerprint | Unique browser profile per account (UA, WebGL, canvas, locale, timezone, hardware) |
| π§© Smart captcha | reCAPTCHA v2 + image captcha solving via 2Captcha |
| π Multi-proxy | Proxy pool with auto-rotation, health check, country-aware fingerprint |
| π€ Telegram bot | Admin-only with inline keyboard, real-time progress, config editor |
| π§Ή Auto-clean chat | Bot deletes previous messages for a clean UI |
| π Watermarked | Brand preserved β cannot be removed without modifying source |
| π¦ Modular | Clean structure: clients / core / browser / runner / bot |
mekithil/
βββ src/
β βββ clients/ # External API clients
β β βββ tempmail.js # Temporary email API client
β β βββ captcha.js # 2Captcha solver
β βββ core/
β β βββ registration.js # MimoRegistration + getReferralCode
β βββ browser/
β β βββ fingerprint.js # Browser profile randomizer
β β βββ human.js # Human-like interaction
β β βββ proxy.js # Proxy pool manager
β βββ runner/
β β βββ chain-runner.js # Event-based chain orchestrator
β βββ bot/
β β βββ index.js # Telegram bot entry point
β β βββ admin.js # Admin whitelist middleware
β β βββ watermark.js # Branding & integrity
β β βββ commands/ # Command handlers
β β β βββ chain.js # /chain /stop + live progress
β β β βββ proxy.js # /proxies + add/delete
β β β βββ config.js # /config + edit
β β β βββ export.js # /export
β β βββ ui/
β β βββ keyboard.js # Inline keyboard builders
β βββ config.js # Config loader
β βββ index.js # Barrel export
βββ scripts/
β βββ chain-loop.js # CLI entry point
β βββ chain-loop-config.js
βββ config/
β βββ default.json # User configuration
βββ output/ # Results directory
βββ package.json
βββ .gitignore
- Node.js β₯ 18
- Chrome / Chromium installed
- 2Captcha account with balance
- Telegram Bot Token from @BotFather
# 1. Clone repository
git clone https://github.com/hirotomasato/mekithil.git
cd mekithil
# 2. Install dependencies
npm install
# 3. Install Playwright browsers
npx playwright install chrome
# Linux VPS only:
npx playwright install-deps
# 4. Configure
cp config/default.json config/default.json
nano config/default.jsonEdit config/default.json:
{
"tempmail": {
"apiUrl": "https://your-domain.com/api"
},
"captcha": {
"provider": "2captcha",
"apiKey": "YOUR_2CAPTCHA_KEY"
},
"xiaomi": {
"referralLink": "https://platform.xiaomimimo.com/?ref=YOURCODE",
"inviteCode": "YOURCODE",
"password": "YourPassword",
"betaApplication": "MiMo-V2.5-Pro-UltraSpeed"
},
"telegram": {
"botToken": "YOUR_BOT_TOKEN",
"adminIds": [YOUR_TELEGRAM_ID],
"logChatId": null
},
"browser": {
"headless": true,
"timeout": 60000,
"screenshots": false
},
"proxy": {
"enabled": false,
"rotatePerAccount": true,
"defaultCountry": "US",
"maxRetries": 3,
"proxyList": []
}
}Required:
captcha.apiKeyβ 2Captcha API key (needs balance)xiaomi.inviteCodeβ Referral code for first account seed (6 chars)xiaomi.passwordβ Password for all accountstelegram.botTokenβ Telegram bot token from @BotFathertelegram.adminIdsβ Your Telegram user ID (array of numbers)tempmail.apiUrlβ Your own temp mail API (must deploy yourself β see below)
Optional:
proxy.enabledβ Enable proxy rotationproxy.proxyListβ Array of proxy strings:ip:port:user:passbrowser.headlessβtrue= no UI,false= visible browser
This bot does not include a temp email service. You must deploy your own:
π¦ github.com/hirotomasato/tempik
Self-hosted disposable email on Cloudflare Workers (free tier). Setup takes 5 minutes β no VPS needed.
git clone https://github.com/hirotomasato/tempik
cd tempik
npm install
npx wrangler deployThen point your config to your domain:
"tempmail": {
"apiUrl": "https://mail.yourdomain.com/api"
}# Telegram Bot (recommended)
npm run bot
# CLI mode (direct terminal)
npm run chain -- --count 5
npm run chain -- --count 10 --seed XXXXXX --output results.txt| Command / Button | Action |
|---|---|
/start |
Main menu with status overview |
βΆ Run Chain |
Select account count, start registration |
βΉ Stop |
Gracefully stop running chain |
π Proxies |
View/add/delete proxy pool |
β Config |
Edit referral code, password, API key |
π€ Export |
Download chain results as .txt |
π Chain Running
π Seed: XXXXXX
β± Elapsed: 2m 15s
ββββββββββββββββ
π΅ Processing.. Β· 6/10
β
5 success Β· β 1 failed
π Latest:
β
bulanharum75@β USQWSH
β
putrilucu@β UWCYHP
β gagal@β timeout
Proxy format: ip:port:username:password
"proxy": {
"enabled": true,
"defaultCountry": "SG",
"proxyList": [
"103.1.2.3:5000:user:pass",
"104.1.2.3:5001:user:pass"
]
}defaultCountry |
Locale | Timezone |
|---|---|---|
US |
en-US | America/Chicago |
SG |
en-SG | Asia/Singapore |
ID |
id-ID | Asia/Jakarta |
MY |
en-US | Asia/Kuala Lumpur |
TH |
th-TH | Asia/Bangkok |
PH |
en-PH | Asia/Manila |
GB |
en-GB | Europe/London |
Proxy auto-rotate per account. Dead proxies (β₯3 failures) are skipped and reset after 5 minutes.
output/chain-result.txt:
email:password:refCode:apiKey:invitedBy
account1@exse7en.fr:Password123:K3M2P8:sk-aaa...bbb:T9K59J
account2@exse7en.fr:Password123:LX8N2A:sk-ccc...ddd:K3M2P8
output/chain-fail.log:
[ISO timestamp] email | error message
This project includes hardcoded branding in the Telegram bot messages. Modifying the source to remove branding may break functionality. The public repository is provided for transparency and education.
| Scenario | Per Account |
|---|---|
| No proxy (local IP) | ~2-3 minutes |
| Proxy Asia (SG/ID) | ~2.5-4 minutes |
| Proxy US | ~4-5 minutes |
Bottleneck: 2Captcha solving (60-90 seconds per account).
| Issue | Fix |
|---|---|
| Captcha timeout | 2Captcha workers busy β wait & retry. Add balance. |
| Account restricted | IP flagged β switch proxy or wait hours. |
| Balance not credited | Balance delayed by Xiaomi (β€5 min). Screenshot saved. |
| Ref code not captured | Modal layout changed β screenshot saved for debug. |
| Browser zombie | Ctrl+C β auto-close. pkill chrome if stuck. |
| Proxy dead | Auto-marked dead, retry next proxy. |
MIT
masantoid β github.com/hirotomasato