Skip to content

hirotomasato/mekithil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

MiMo Chain Bot

πŸ”· 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


✨ Features

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

πŸ“¦ Project Structure

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

πŸš€ Quick Start

Prerequisites

  • Node.js β‰₯ 18
  • Chrome / Chromium installed
  • 2Captcha account with balance
  • Telegram Bot Token from @BotFather

Installation

# 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.json

Configuration

Edit 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 accounts
  • telegram.botToken β€” Telegram bot token from @BotFather
  • telegram.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 rotation
  • proxy.proxyList β€” Array of proxy strings: ip:port:user:pass
  • browser.headless β€” true = no UI, false = visible browser

⚠️ Required: Deploy Your Own Tempmail API

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 deploy

Then point your config to your domain:

"tempmail": {
  "apiUrl": "https://mail.yourdomain.com/api"
}

Run

# 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

πŸ€– Telegram Bot Commands

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

Live Progress

πŸš€ Chain Running
πŸ“Œ Seed: XXXXXX
⏱ Elapsed: 2m 15s

β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘
πŸ”΅ Processing..  Β·  6/10
βœ… 5 success  Β·  ❌ 1 failed

πŸ“‹ Latest:
βœ… bulanharum75@β†’ USQWSH
βœ… putrilucu@β†’ UWCYHP
❌ gagal@β†’ timeout

🌐 Proxy Setup

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 Format

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

πŸ” Brand & Watermark

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.


⚑ Performance

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).


πŸ›  Troubleshooting

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.

πŸ“„ License

MIT


πŸ‘€ Author

masantoid β€” github.com/hirotomasato

About

Automated Xiaomi MiMo Open Platform registration

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors