MCPcopy Index your code
hub / github.com/HikiNarou/Kiro-Auto-Pro

github.com/HikiNarou/Kiro-Auto-Pro @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
392 symbols 1,040 edges 38 files 64 documented · 16%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

kiro-auto

Bulk register + upgrade Kiro IDE accounts. GSuite → Google OAuth register → Stripe checkout → Pro.

Stealth browser via Camoufox (Firefox) atau Chromium + playwright-extra stealth.

Fitur

  • Register akun Kiro bulk via Google OAuth di app.kiro.dev/signin
  • Upgrade to Pro otomatis: hydrate session → klik Upgrade → fill Stripe checkout → verify Pro
  • VCC pool dengan Luhn validation, per-card use-state, multi-attempt on decline
  • Auth mode hydrate_or_login — pakai cookies dulu, fallback ke fresh Google login kalau expired
  • 3DS handling: auto-flip headless → headed, pause for manual, atau fail
  • Anti-bot: camoufox fingerprint patches, humanize mouse, geoip resolve, stealth plugin

Requirements

  • Node.js 20+
  • Akun GSuite (email:password per line)
  • Camoufox auto-download di first run (~170MB)

Quick start

git clone <repo> kiro-auto
cd kiro-auto
npm install
npm run install-browser

# 1. Isi accounts
cp accounts/gsuite.example.txt accounts/gsuite.txt
# edit → email:password per line

cp accounts/vcc.example.json accounts/vcc.json
# edit → isi VCC asli

# 2. Register
npm run register -- --count 5 -y

# 3. Upgrade ke Pro
npm run upgrade -- --count 5 -y

Commands

Command Fungsi
npm run register Bulk register akun Kiro via Google OAuth
npm run upgrade Upgrade akun ke Pro via Stripe checkout
npm run switch Legacy aor* token switcher
npm run typecheck TypeScript check

Tanpa flag → interactive menu. Dengan flag + -y → non-interactive.

Register flags

--count 5 --concurrency 2 --proxy http://user:pass@host:port
--engine camoufox|chromium-stealth|chromium-vanilla
--headed --no-humanize --no-geoip

Upgrade flags

--count 5 --auth-mode hydrate_or_login|google_login|hydrate
--on3ds auto_flip|pause|fail --3ds-timeout-s 300
--max-vcc-attempts 3 --headed
--only alice@x.com,bob@x.com
--session-file show/sessions/alice.123.json

File layout

accounts/
├── gsuite.txt              # email:password per line (gitignored)
├── gsuite.state.json       # per-account register state
├── vcc.json                # VCC pool (gitignored)
└── vcc.state.json          # per-VCC use-state

show/
├── sessions/               # captured Kiro sessions per account
├── results.json            # register records
├── upgrade-results.json    # upgrade records
├── upgrade-state.json      # per-account upgrade state
└── diagnostics/            # failure dumps (screenshot + HTML + buttons)

VCC format

accounts/vcc.json — array of cards:

[
  {
    "number": "4242 4242 4242 4242",
    "expMonth": 12,
    "expYear": 2029,
    "cvc": "123",
    "billing": {
      "name": "Jane Doe",
      "country": "US",
      "line1": "1600 Amphitheatre Parkway",
      "city": "Mountain View",
      "state": "CA",
      "postalCode": "94043"
    }
  }
]

Accept: expiry: "MM/YY" instead of expMonth+expYear. country wajib ISO alpha-2 (US, ID, GB). Luhn-invalid cards ditolak saat load.

Auth modes

Mode Behavior
hydrate Pakai session JSON only. Fastest, fragile.
google_login Fresh OAuth every run. Robust, slower.
hydrate_or_login (default) Hydrate first, fallback ke Google login kalau expired.

3DS handling

Issuer Indonesia hampir selalu trigger 3DS. Default --on3ds auto_flip → close headless browser, relaunch headed, retry flow. pause → tunggu user selesaikan 3DS manual. fail → skip akun.

Failure modes

Per-akun di show/results.json / show/upgrade-results.json:

  • google_button_not_found — DOM berubah, update selector
  • challenge_required — Google 2FA / device verify
  • captcha_required — butuh residential IP
  • bot_detection — fingerprint/IP flagged
  • upgrade_button_not_found — check show/diagnostics/ dump
  • stripe_declined / stripe_validation — VCC issue
  • threeds_required_headless — pakai --on3ds auto_flip atau --headed

Troubleshooting

Upgrade fail silent? Check show/diagnostics/<email>.<reason>.<ts>.{png,html,buttons.json} — screenshot + full HTML + visible button inventory saat fail.

Akun sudah Pro tapi state bilang failed? Run npm run upgrade lagi — Pro badge detection via aria-label="Current plan: KIRO PRO" auto-detect and skip.

Reset state: delete accounts/*.state.json atau show/upgrade-state.json.

Disclaimer

For personal automation of accounts you own. Patuhi Google Workspace TOS, Kiro TOS, dan hukum lokal.

License

MIT

Extension points exported contracts — how you extend this code

Account (Interface)
(no doc)
lib/fingerprint/manager.ts
BrowserCreationResult (Interface)
(no doc)
lib/fingerprint/manager.ts
ScreenFingerprint (Interface)
(no doc)
lib/fingerprint/types.ts
HardwareFingerprint (Interface)
(no doc)
lib/fingerprint/types.ts
CanvasFingerprint (Interface)
(no doc)
lib/fingerprint/types.ts

Core symbols most depended-on inside this repo

log
called by 155
scripts/bin.ts
print
called by 58
scripts/bin.ts
log
called by 50
scripts/switch.ts
log
called by 45
scripts/upgrade.ts
log
called by 34
scripts/register.ts
has
called by 30
scripts/upgrade.ts
sleep
called by 29
lib/stripe-stealth.ts
jitter
called by 26
lib/stripe-stealth.ts

Shape

Function 273
Method 86
Class 20
Interface 13

Languages

TypeScript100%

Modules by API surface

lib/google-login.ts34 symbols
scripts/switch.ts27 symbols
lib/vcc.ts27 symbols
scripts/bin.ts25 symbols
scripts/upgrade.ts21 symbols
lib/stripe-checkout.ts19 symbols
scripts/register.ts18 symbols
lib/fingerprint/generator.ts18 symbols
lib/accounts.ts17 symbols
lib/bin/sources/local-db.ts15 symbols
lib/bin/aggregator.ts15 symbols
lib/bin/sources/vccgenerator.ts14 symbols

For agents

$ claude mcp add Kiro-Auto-Pro \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact