2026-07-01 08:21:51 +00:00
2026-06-29 22:21:33 +07:00
2026-07-01 08:21:51 +00:00
2026-06-29 22:21:33 +07:00
2026-06-29 22:21:33 +07:00
2026-06-29 22:21:33 +07:00
2026-06-29 22:21:33 +07:00

9router-Antigravity Auto Add Bot

Bot otomatis untuk menambahkan akun GSuite ke 9router-Antigravity via Google OAuth. Bot Harus Jalan di Host yang sama dengan 9router

Stack

  • CloakBrowser — Stealth Chromium (anti bot detection, bypass Google CAPTCHA)
  • Playwright API compatible
  • Node.js ESM

Install

cd gsuite-auto
npm install

Pastikan CloakBrowser binary sudah ter-download. Kalau download otomatis gagal (network/firewall), manual:

  1. Download dari https://github.com/CloakHQ/cloakbrowser/releases
  2. Extract ke ~/.cloakbrowser/chromium-<version>/
    • Windows: C:\Users\<username>\.cloakbrowser\chromium-<version>\

Config

config.json

{
  "nineRouter": {
    "url": "http://localhost:20128",
    "password": "123456"
  },
  "accountsFile": "accounts.txt",
  "settings": {
    "headless": true,
    "slowMo": 300,
    "timeout": 60000,
    "delayBetweenAccounts": 5000
  }
}
Key Description
nineRouter.url URL 9router instance
nineRouter.password Login password 9router
accountsFile File list akun (default: accounts.txt)
headless true = tanpa browser window, false = visible
slowMo Delay antar action (ms)
timeout Max tunggu per step (ms)
delayBetweenAccounts Delay antar akun (ms)

accounts.txt

Format: email|password per baris

[email protected]|password123
[email protected]|password456
# comment bisa pakai #
baris kosong di-skip

Support multiple file untuk batch berbeda:

accounts-batch1.txt
accounts-batch2.txt

Usage

# Normal run (headless dari config.json)
node bot.js

# Force headless via CLI
node bot.js --headless

# Force visible browser
node bot.js --no-headless

# Dry run (test tanpa eksekusi)
node bot.js --dry-run

# Pakai file accounts lain
node bot.js --file accounts-batch2.txt

Flow

Untuk SETIAP akun (fresh browser context):
│
├─ 1. Buka browser baru (clean session, ga ada cookie Google lama)
├─ 2. Login 9router
├─ 3. Navigate → Providers → Antigravity
├─ 4. Click "Add"
├─ 5. Click "I Understand, Continue" → buka popup Google OAuth
├─ 6. Force hl=en di URL Google (paksa English UI)
├─ 7. Input email → click Next
│     (multi-bahasa: EN/ID/JA/KO/ZH/FR/ES/DE/RU)
├─ 8. Input password → Enter
│     (multi-bahasa: EN/ID/JA/KO/ZH/FR/ES/DE/RU)
├─ 9. Verify "I understand" (Workspace Terms)
│     → click kalau ada, skip kalau ga ada
├─ 10. Wait consent page → click Sign in/Continue/Allow
│      (multi-bahasa: EN/ID/JA/KO/ZH/FR/ES/DE/RU)
├─ 11. Verify email muncul di Antigravity page
│      (max 3x refresh)
├─ 12. Close browser context
└─ 13. Next akun (fresh context lagi)

Multi-Language Support

Google kadang render UI sesuai bahasa akun, bukan bahasa browser. Bot handle semua variasi:

Element Bahasa
Email input Email or phone,Alamat email atau nomor telepon,メールアドレスまたは電話番号,이메일 또는 전화번호,电子邮件或电话号码,...
Next button Next,Berikutnya,Lanjut,次へ,다음,下一步,Suivant,Siguiente,Weiter,Далее
Password Enter your password,Masukkan kata sandi Anda,パスワードを入力,비밀번호 입력,输入密码,...
Terms I understand,Saya mengerti,理解しました,이해했습니다,我明白了,...
Consent Sign in,Masuk,ログイン,登录,Se connecter,Iniciar sesión,Anmelden,Войти,...

Log output nunjukin match yang mana:

[>] Email → "Alamat email atau nomor telepon"
[>] Next → "Berikutnya"
[>] OAuth Consent → "Masuk"

Output

File Description
accounts.txt Auto-update — akun yang berhasil dihapus, sisa yang belum
log-YYYY-MM-DD.json Hasil detail per akun (success/fail/error)
screenshots/ Screenshot otomatis kalau error

File Structure

9router-autobot/
├── bot.js              # Main bot script
├── config.json         # Config (URL, password, settings)
├── accounts.txt        # List akun (email|password)
├── package.json
├── README.md
├── recorded-actions.js # Raw Playwright codegen recording (reference)
├── record.js           # Playwright codegen launcher (untuk re-record)
└── screenshots/        # Error screenshots (auto-generated)

Fitur

  • Fresh context per akun — session Google ga nyangkut antar akun
  • CloakBrowser stealth — bypass bot detection Google
  • Multi-language — handle UI Google dalam bahasa apapun
  • Auto-remove — akun yang berhasil dihapus dari accounts.txt
  • Auto-retry verify — refresh max 3x kalau email belum muncul
  • Error screenshot — auto-capture kalau gagal
  • Log harian — log-YYYY-MM-DD.json per run

Troubleshooting

Masalah Solusi
CLOAKBROWSER_BINARY_PATH error Download manual binary ke ~/.cloakbrowser/
Download binary gagal (network) Download via browser, extract manual ke ~/.cloakbrowser/chromium-<version>/
Google CAPTCHA di headless Pastikan pakai CloakBrowser (bukan Playwright biasa)
UI Google bahasa lokal Normal — bot handle multi-bahasa otomatis
Email ga verify di page Bot auto-refresh 3x. Kalau tetap gagal, cek manual
Failed to assign a backend Akun sudah ada di 9router atau quota habis
Akun 1 berhasil, akun 2 gagal Normal kalau Terms baru pertama kali — jalankan lagi
Popup consent ga ke-click Cek log, kemungkinan bahasa belum ter-cover

Tips

  • Test dulu dengan node bot.js --dry-run sebelum run beneran
  • 1 akun dulu — pastikan flow-nya benar sebelum batch
  • Crash-safe — bot update accounts.txt per akun, jadi restart lanjut dari yang belum selesai
  • Headless lebih cepat tapi kadang beda behavior — test visible dulu
  • Delay — kalau sering gagal, naikkan delayBetweenAccounts di config
S
Description
No description provided
Readme
42 KiB
Languages
JavaScript 100%