{"id":18720,"library":"redblue-cli","title":"redblue","description":"redblue is a security CLI tool written in Rust, providing 90+ commands for network scanning, DNS, recon, web fuzzing, TLS, authentication testing, exploit, binary analysis, password cracking, evasion, secrets detection, vulnerability intelligence, and proxy/C2 capabilities. The npm package redblue-cli v0.2.33 wraps the rb binary for JavaScript/TypeScript ecosystems, supporting npx and npm exec. Requires Node.js >=20. It is actively maintained with frequent releases. Key differentiator: zero-dependency binary with 40+ protocols implemented from scratch.","status":"active","version":"0.2.33","language":"javascript","source_language":"en","source_url":"https://github.com/forattini-dev/redblue","tags":["javascript","redblue","security","cli","sdk","dns","tls","ports","typescript"],"install":[{"cmd":"npm install redblue-cli","lang":"bash","label":"npm"},{"cmd":"yarn add redblue-cli","lang":"bash","label":"yarn"},{"cmd":"pnpm add redblue-cli","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only since v0.2.0; CommonJS require is not supported.","wrong":"const redblue = require('redblue-cli')","symbol":"default","correct":"import redblue from 'redblue-cli'"},{"note":"Use named import for the rb function which executes the CLI.","wrong":"const rb = require('redblue-cli').rb","symbol":"rb","correct":"import { rb } from 'redblue-cli'"},{"note":"TypeScript type available for configuration object.","wrong":"","symbol":"RedblueConfig","correct":"import type { RedblueConfig } from 'redblue-cli'"}],"quickstart":{"code":"import { rb } from 'redblue-cli';\n\nasync function main() {\n  // Run a DNS lookup with custom options\n  const result = await rb('dns', 'record', 'lookup', 'example.com', '--type', 'MX');\n  console.log('DNS records:', result);\n\n  // Run a TLS cipher enumeration\n  const tlsResult = await rb('tls', 'cipher', 'scan', 'example.com', '--port', '443');\n  console.log('TLS ciphers:', tlsResult);\n\n  // Run a subdomain discovery\n  const subdomains = await rb('recon', 'subdomain', 'bruteforce', 'example.com', '--wordlist', '/path/to/wordlist.txt');\n  console.log('Subdomains found:', subdomains);\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Shows how to use the redblue-cli SDK to run various security commands: DNS lookup, TLS cipher scan, and subdomain bruteforce."},"warnings":[{"fix":"Install libc (e.g., glibc on Linux) or use a static build if available.","message":"The rb binary requires libc as a runtime dependency; ensure it's available on your system.","severity":"gotcha","affected_versions":"all"},{"fix":"Use dynamic import() or switch to ESM (type: module in package.json).","message":"Version 0.2.0 changed from CJS to ESM; require() no longer works.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Use '--output' instead of '--format'.","message":"The '--format' flag for output was replaced with '--output' in newer releases.","severity":"deprecated","affected_versions":"<0.2.20"},{"fix":"Run the binary with sudo or appropriate capabilities (CAP_NET_RAW).","message":"Some commands may require root privileges for raw sockets; they will fail silently if not permitted.","severity":"gotcha","affected_versions":"all"},{"fix":"Install the binary manually for non-Linux systems or use a CI matrix.","message":"The npm package does not include the binary for all platforms; only linux-x86_64 is bundled. Other platforms must use the separate binary download.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install redblue-cli' to install the npm package.","cause":"The package is not installed or is missing from package.json.","error":"Cannot find module 'redblue-cli'"},{"fix":"Ensure the binary is installed via curl or download, and add it to PATH.","cause":"The rb binary is not found in PATH or not bundled with the npm package.","error":"Error: spawn rb ENOENT"},{"fix":"Use import { rb } from 'redblue-cli' or dynamic import.","cause":"Using require() with ESM-only package version >=0.2.0.","error":"TypeError: rb is not a function"},{"fix":"Check network connectivity and domain name; use --verbose for more details.","cause":"The DNS lookup failed, possibly due to network issues or invalid domain.","error":"Error: Command failed with exit code 1: rb dns record lookup example.com --type MX"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}