← Back
0xgetz

0xgetz/runbios-account-creator

Automated end-to-end Run BiOS account + API key creator — random identity, disposable inbox (zenvex.dev), OTP verification, and API key generation in one zero-dependency Node.js script.

View on GitHub ↗https://github.com/0xgetz/runbios-account-creator#readme ↗
account-creatorapi-keyautomationbotclidisposable-emailnodejsotprunbiostemp-mailzenvexzero-dependencies
Stars
3
Forks
0
Watchers
3
Open issues
0
Contributors
1
Language
JavaScript
License
MIT License
Default branch
main
Created Oct 1, 2026Updated Oct 1, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

Run BiOS Account Creator

Automated, end-to-end Run BiOS account + API key creator.

Random identity → disposable inbox → OTP verification → API key. One file. Zero dependencies.


Node.js Dependencies License Platform PRs Welcome

Stars Forks Issues Last Commit


🌐 Languages: English · Indonesia · Español · 中文 · العربية


✨ Overview

Run BiOS Account Creator automates the whole onboarding flow on platform.runbios.ai: it generates a random identity, opens a disposable inbox on zenvex.dev, registers, reads the 6-digit verification code from the incoming email, activates the account, and finally provisions a scoped API key — all in a single, dependency-free Node.js script.

It is built for people who need Run BiOS access programmatically: batch onboarding, QA, load testing, demos, and integration pipelines.

🚀 Features

🎲 Random identity Plausible full name + strong password generated per run
📬 Disposable inbox Fresh Zenvex address, isolated per account
🔐 Full OTP flow Polls the inbox and extracts the 6-digit code automatically
🔑 API key provisioning Creates a scoped key (full-access / training / read-only)
🧩 Zero dependencies Only the Node.js standard library — no npm install
🌐 Proxy-ready Built-in HTTP CONNECT tunnel for residential proxies
🩺 Health check --check diagnoses connectivity and IP reputation before you run
📦 Structured output Saves email, password, tokens and key to a 0600 JSON file

📋 Requirements

  • Node.js ≥ 18 (built-in fetch and crypto)
  • A network where zenvex.dev accepts inbox reads — or a residential proxy via ZENVEX_PROXY

⚡ Quick Start

# 1. (Ubuntu/Debian) install Node.js if missing
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# 2. grab the script
git clone https://github.com/0xgetz/runbios-account-creator.git
cd runbios-account-creator

# 3. health check (recommended)
node runbios-account-creator.mjs --check

# 4. create an account
node runbios-account-creator.mjs

On success the script prints the credentials and writes account-<timestamp>.json (permissions 0600):

=================================================
 SUCCESS
-------------------------------------------------
 email:    user329429@souss.dev
 name:     Marco Sinclair
 password: ZCZsbagrej563#%&
 api key:  bios-dgON-…UtgY  (preset: full-access)
 saved:    account-1790439782798.json
=================================================

🧭 How It Works

┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐
│ Random       │ → │ Zenvex inbox │ → │ Register on  │ → │ Read OTP &   │ → │ Create       │
│ identity     │   │ (fresh addr) │   │ Run BiOS     │   │ verify email │   │ API key      │
└──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘
  1. Identity — a realistic first + last name and a 16-char password with mixed classes.
  2. Inbox — GET /api/domains on Zenvex picks a receiving domain; a random local part is used.
  3. Register — POST /api/auth/register on Run BiOS with that inbox.
  4. OTP — polls GET /api/emails/{address}, opens the message, extracts the 6-digit code.
  5. Verify — POST /api/auth/verify-otp with a hashed device fingerprint.
  6. API key — resolves the personal org + workspace, then POST /api/api-keys.

⚙️ Configuration

All options are environment variables — nothing to edit in the source.

Variable Default Description
ZENVEX_PROXY – HTTP(S) proxy for Zenvex reads, e.g. http://user:pass@host:port
ZENVEX_DOMAIN from API Force a specific Zenvex receiving domain
ACCOUNT_PREFIX user Email local-part prefix
API_KEY_NAME auto-key Name of the created API key
API_KEY_PRESET full-access full-access · training · read-only
RUNBIOS_OTP – Supply the 6-digit code yourself (skips polling)
OUT_DIR . Directory for the result JSON
# residential proxy + custom key
ZENVEX_PROXY='http://user:pass@host:port' \
API_KEY_NAME='CI pipeline' \
API_KEY_PRESET='read-only' \
node runbios-account-creator.mjs

🩺 Health Check

Always run this first — it tells you whether your IP is accepted before spending a signup:

node runbios-account-creator.mjs --check
==> Connectivity check
    egress IP: 3.22.49.207
    zenvex.dev page load: OK
    zenvex /api/domains:  OK (default souss.dev)
    zenvex inbox read:    OK
    runbios /register:    OK
==> Done.

🌍 Notes on IP Reputation

Zenvex serves inbox reads only to "normal" IPs. Many cloud datacenter IPs are blocked and return:

{"success":false,"error":{"name":"ProxyError","message":"Use the Zenvex website at https://zenvex.dev"}}

If --check reports zenvex inbox read: FAIL, route those calls through a residential proxy — the script tunnels via HTTP CONNECT with no extra dependencies:

ZENVEX_PROXY='http://user:pass@host:port' node runbios-account-creator.mjs

Note: Run BiOS rejects known disposable-inbox domains (DISPOSABLE_EMAIL). Zenvex's souss.dev is accepted, which is why this project uses Zenvex. Run BiOS itself does not block datacenter IPs — only Zenvex does.

🧰 Using the Key

export RUNBIOS_API_KEY='bios-...'

curl -H "X-API-Key: $RUNBIOS_API_KEY" \
  https://platform.runbios.ai/api/api-keys/introspect

📁 Project Structure

runbios-account-creator/
├── runbios-account-creator.mjs   # the whole program (single file)
├── package.json                  # metadata + npm scripts
├── LICENSE                       # MIT
├── assets/
│   ├── logo.svg / logo.png       # horizontal wordmark
│   └── icon.svg / icon.png       # square app icon
├── docs/
│   ├── README.id.md              # Bahasa Indonesia
│   ├── README.es.md              # Español
│   ├── README.zh.md              # 中文
│   └── README.ar.md              # العربية
└── README.md                     # you are here

🔒 Security & Ethics

This project is provided for legitimate automation, testing, and research on services you are authorized to use. You are responsible for complying with the terms of service of any platform you interact with and with applicable law. Generated credentials are sensitive — the result file is written with 0600 permissions and account-*.json is git-ignored.

🤝 Contributing

Issues and pull requests are welcome. Please keep the zero-dependency promise: any change must run on a stock Node.js ≥ 18 without npm install.

  1. Fork the repository
  2. Create a branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m "Add amazing feature")
  4. Push and open a Pull Request

📄 License

Released under the MIT License.


If this project saved you time, consider giving it a ⭐