2026-07-05 14:34:35 +00:00
2026-07-05 19:49:37 +07:00
2026-07-05 19:49:37 +07:00
2026-07-05 14:30:17 +00:00
2026-06-29 22:25:58 +07:00
2026-07-05 19:49:37 +07:00
2026-06-29 22:25:58 +07:00
2026-07-05 19:49:37 +07:00
2026-07-01 21:11:58 +07:00
2026-06-29 22:25:58 +07:00
2026-07-05 14:34:35 +00:00
2026-07-05 14:30:51 +00:00
2026-07-05 19:49:37 +07:00
2026-07-05 14:31:30 +00:00

MiMo Chain Bot

Bot otomatis untuk Xiaomi MiMo Open Platform (platform.xiaomimimo.com). Chain-loop: register akun → redeem invite code → create API key → apply Ultraspeed beta → ambil ref code → ulangi dengan ref code akun sebelumnya.

Install

npm install
npx playwright install chrome

Configuration

Edit config.json:

{
  "tempmail": {
    "apiUrl": "https://tempmail.adrnode.com/api",
    "domain": "adrnode.com"
  },
  "captcha": {
    "provider": "2captcha",
    "apiKey": "YOUR_2CAPTCHA_API_KEY"
  },
  "xiaomi": {
    "referralLink": "https://platform.xiaomimimo.com/?ref=XXXXXX",
    "inviteCode": "XXXXXX",
    "password": "MimoAuto2024!",
    "betaApplication": "MiMo-V2.5-Pro-UltraSpeed"
  },
  "browser": {
    "headless": false,
    "timeout": 60000,
    "screenshots": false
  }
}

Yang wajib diisi:

  • captcha.apiKey — API key dari 2captcha.com, butuh balance
  • xiaomi.inviteCode — kode referral untuk seed iterasi pertama (6 karakter)
  • xiaomi.referralLink — URL referral, format ?ref=XXXXXX (sama dengan inviteCode)

Yang opsional:

  • tempmail.domain — domain kustom untuk pendaftaran email (misal: "shitoors.fun")
  • xiaomi.password — password untuk semua akun baru (default OK)
  • browser.headless — true tanpa UI, false (default) buat lihat browser

Run

Chain Loop

Mendaftarkan akun dan saling memasukkan kode referral secara berantai (Chain).

node chain-loop.js --count 5
Flag Default Keterangan
--count N 1 jumlah akun yang dibuat
--seed XXXXXX config.xiaomi.inviteCode invite code untuk akun pertama
--output file.txt chain-result.txt file output
--proxy [arg] - Menentukan proxy. Jika diisi string url (http://user:pass@host:port), akan memakai proxy tersebut. Jika bendera --proxy ditulis tanpa nilai (atau --proxy proxy.txt), program akan otomatis memuat list proxy dari file proxy.txt di workspace dan merotasinya per iterasi.
# 5 akun, seed dari config
node chain-loop.js --count 5

# 10 akun, seed manual
node chain-loop.js --count 10 --seed P9LHUK

# Output ke file lain
node chain-loop.js --count 3 --output batch1.txt

Regis Loop (Tanpa Redeem Referral Code)

Mendaftarkan akun, mengambil API key, mengisi form Ultraspeed, dan mengambil referral code milik akun baru saja tanpa melakukan redeem referral (skip).

node regis-loop.js --count 5
Flag Default Keterangan
--count N 1 jumlah akun yang dibuat
--output file.txt regis-result.txt file output (format: email:password:refCode:apiKey)
--proxy [arg] - Sama seperti di chain-loop.js. Berguna untuk merotasi proxy per iterasi agar setiap akun terdaftar menggunakan IP berbeda.
# Membuat 5 akun baru secara bergantian tanpa referral link / redeem code sama sekali
node regis-loop.js --count 5

Per-akun flow

[1]  Bikin temp email (menggunakan domain kustom jika diatur)
[2]  Launch browser dengan random fingerprint (dan proxy yang dirotasi jika diaktifkan)
[3]  Buka referral link (?ref=<currentSeed>)
[4]  Sign up form (email + password + confirm + terms checkbox)
[5]  Solve captcha (reCAPTCHA via 2Captcha + image captcha)
[6]  Verify email (kode 6 digit dari tempmail)
[7]  Pengecekan Balance & Terms:
     - **Regis Loop**: Klik Console → Balance → deteksi & setujui Terms modal → cek balance (baca saldo).
     - **Chain Loop**: Klik Console → Balance → deteksi & setujui Terms modal → "Enter invite code" → isi 6-box → Redeem → cek restriction (kalau kena, STOP) → reload halaman → verify balance bertambah ~$2.
[8]  Create API key (atau ambil existing kalau sudah ada)
[9]  Fill Ultraspeed beta application form
[10] Klik "Refer & earn" → ambil ref code akun ini

Output

# chain-result.txt (auto-create, append)
# Format: email:password:refCode:apiKey:invitedBy
[email protected]:MimoAuto2024!:K3M2P8:sk-aaa...bbb:T9K59J
[email protected]:MimoAuto2024!:LX8N2A:sk-ccc...ddd:K3M2P8
[email protected]:MimoAuto2024!:Q9R3FZ:sk-eee...fff:LX8N2A

Tiap baris dichain — invitedBy baris N+1 = refCode baris N.

Features

Random fingerprint per akun — User-Agent, viewport, locale, timezone, hardwareConcurrency, deviceMemory, WebGL vendor/renderer, canvas noise seed, navigator.plugins. Sehingga Xiaomi tidak mengenali fingerprint yang sama antar akun.

Human-like typing — Form signup, captcha code, email verification code, dan OTP redeem diketik per-karakter dengan delay acak 60-180ms + thinking pause. Form Ultraspeed pakai .fill() langsung (mode cepat, cukup untuk form internal).

Idempotent — Akun yang sudah redeem invite code / sudah punya API key akan di-skip otomatis, aman untuk re-run.

Verifikasi balance — Setelah redeem invite code, halaman di-reload dan balance dibaca ulang. Harus bertambah ~$2.00. Kalau tidak, iterasi dianggap gagal.

Restriction detection — Kalau setelah redeem atau saat membuka halaman balance muncul notif "risk control restrictions", loop berhenti total (akun kena cap, gak bisa lanjut).

Proxy Auto-Rotation & Sanitized Logs — Mendukung rotasi proxy otomatis per iterasi dengan membaca file proxy.txt. Username/password autentikasi disembunyikan dari logs untuk menjaga kerahasiaan.

Custom Email Domain — Mendukung domain email kustom via properti tempmail.domain di config.json.

Stop conditions

Loop berhenti kalau:

Condition Action
Akun restricted (risk control) STOP, gak retry
Balance tidak bertambah ~$2 STOP, gak retry
Ref code tidak tertangkap STOP, mencegah duplikasi seed
Ref code = seed lama (clipboard leak) STOP
Iter total fail (captcha timeout, dll) Retry pakai seed yang sama

Fingerprint

Tiap akun randomize:

  • User-Agent: Chrome 122-131 di Windows NT 10.0
  • Viewport: 8 ukuran (1280x720 → 1920x1080)
  • Locale: en-US, en-GB, id-ID, en-AU, en-CA, en-SG
  • Timezone: Jakarta, Singapore, Bangkok, KL, Manila, Ho_Chi_Minh
  • Hardware: 4-16 cores, 4-16 GB memory
  • WebGL: pasangan vendor + renderer NVIDIA/Intel/AMD realistis
  • Canvas: seed unik, noise 1 pixel pada toDataURL & getImageData
  • navigator.webdriver di-undefine, plugins palsu

Troubleshooting

Captcha solve lama (>2 menit)

  • 2Captcha workers sibuk, coba lagi nanti. Balance 2Captcha cek di dashboard.

"Account restricted" muncul

  • IP mungkin sudah ke-flag Xiaomi. Coba jeda beberapa jam atau pakai VPN.
  • Screenshot error-restriction-*.png ke-dump otomatis untuk referensi.

Balance tidak bertambah

  • Screenshot error-balance-*.png ke-dump otomatis.
  • Kemungkinan saldo ter-delay (Xiaomi bilang "Balance updates in near-real time, ≤5 min delay").
  • Atau invite code expired / invalid.

Ref code tidak tertangkap

  • Screenshot error-refcode-*.png dan chain-refcode-leak-*.png ke-dump otomatis.
  • Cek format modal "Refer & Earn" di Xiaomi — kalau label berubah, pattern di extras.js perlu ditambah.

Browser zombie (chrome.exe nyangkut)

  • Ctrl+C di terminal akan auto-close browser (SIGINT handler aktif).
  • Kalau masih ada: taskkill //IM chrome.exe //F (hati-hati: juga tutup chrome pribadi).

Estimasi durasi

Akun Estimasi
1 2-4 menit
5 10-20 menit
10 20-40 menit
50 2-3 jam

Bottleneck utama: solving captcha (60-120s per akun via 2Captcha).

Files

├── chain-loop.js         entry point (node chain-loop.js)
├── chain-loop-config.js  CLI args + save/log helpers
├── regis-loop.js         entry point baru (node regis-loop.js)
├── index.js              MimoRegistration core class
├── extras.js             getReferralCode method
├── fingerprint.js        random browser fingerprint
├── human.js              human-like typing helpers
├── package.json
├── config.json           ← edit ini
└── README.md

Runtime output (gak masuk git):

  • chain-result.txt — akun sukses
  • chain-fail.log — error log
  • *.png — screenshot debug

License

MIT

S
Description
No description provided
Readme
4.2 MiB
Languages
JavaScript 100%