Skip to main content

Settings Object

Global settings are configured under the settings key:
settings:
  browser: chromium
  headless: true
  timeout: 30000

Available Settings

SettingTypeDefaultDescription
browserstring"chromium"Browser to use
headlessbooleantrueRun in headless mode
timeoutnumber30000Timeout in milliseconds

Browser

Choose which browser to use for recording and testing:
settings:
  browser: chromium # or firefox, webkit
Available browsers:
BrowserDescription
chromiumGoogle Chrome/Chromium (recommended)
firefoxMozilla Firefox
webkitSafari/WebKit
Chromium is recommended for most use cases. It has the best compatibility and performance.

Installing Browsers

# Install specific browser
vulcn install chromium

# Install all browsers
vulcn install --all

# Check installed browsers
vulcn doctor

Headless Mode

Control whether the browser runs with a visible window:
settings:
  headless: true   # No visible window (faster, CI/CD friendly)
  headless: false  # Visible window (for debugging)

CLI Override

Override headless mode from the command line:
# Run with visible browser
vulcn run session.vulcn.yml --no-headless

# Force headless mode
vulcn run session.vulcn.yml --headless

Timeout

Set the maximum time to wait for page operations:
settings:
  timeout: 30000 # 30 seconds
The timeout applies to navigation, element interactions, and other page operations. Increase it for slow applications.

Environment Variables

Some settings can be overridden via environment variables:
VariableDescription
VULCN_BROWSEROverride default browser
VULCN_HEADLESSOverride headless mode (true/false)
DEBUG=vulcn:*Enable debug logging
# Run with Firefox in visible mode
VULCN_BROWSER=firefox VULCN_HEADLESS=false vulcn run session.vulcn.yml

Complete Example

# vulcn.config.yml
version: "1"

plugins:
  - name: "@vulcn/plugin-payloads"
    config:
      builtin: true

  - name: "@vulcn/plugin-detect-xss"
    config:
      detectDialogs: true
      detectConsole: true
      severity: high

settings:
  browser: chromium
  headless: true
  timeout: 30000