Your First Pipeline
This guide walks you through creating a simple HTTP automation pipeline in IronBullet. You’ll learn the core workflow and be able to build more complex pipelines afterward.Make sure you’ve installed IronBullet before continuing.
Understanding the Interface
When you launch IronBullet, you’ll see three main areas:- Left Panel: Block palette with 50+ blocks organized by category
- Center Canvas: Visual pipeline editor where you drag and connect blocks
- Right Panel: Block configuration settings
Creating a Simple HTTP Pipeline
Let’s create a pipeline that makes an HTTP request and extracts data from the response.Launch IronBullet
Start the application:Windows: Double-click
ironbullet.exeLinux: Run ./start.sh or ./ironbulletAdd an HTTP Request Block
- In the left panel, expand the HTTP category
- Drag the HTTP Request block onto the canvas
- Click the block to select it
- In the right panel, configure:
- URL:
https://api.github.com/users/octocat - Method:
GET - User-Agent:
IronBullet/0.2.3
- URL:
Add a JSON Parser Block
- Expand the Parsing category in the left panel
- Drag a JSON parsing block onto the canvas
- Connect the HTTP Request block output to the JSON parser input
- Configure the JSON parser:
- JSON Path:
$.name(extracts the “name” field) - Variable Name:
username - Input Source: Response body
- JSON Path:
Testing Your Pipeline
Enter Debug Mode
Press F5 or click the Debug button in the toolbar.Debug mode allows you to test your pipeline with sample data before running it against full datasets.
View the Results
The debugger panel will show:
- HTTP request details (URL, headers, method)
- Response status code and headers
- Response body
- Extracted variables
- Log output
Running Against Datasets
Once your pipeline works in debug mode, you can run it against full datasets.Create a Job
- Click the Jobs button in the toolbar
- Click New Job
- Configure:
- Name: “GitHub User Checker”
- Pipeline: Select your current pipeline
- Data Source: Choose a data file or enter test data
- Threads: 5 (adjust based on your needs)
Add Input Data
IronBullet supports multiple data formats:Then modify your HTTP URL to use the input:
- List: One item per line
- CSV: Comma-separated values with headers
- JSON: Array of objects
Start the Job
Click Start to begin execution.Monitor progress in the Jobs panel:
- Items processed
- Success/failure counts
- Execution time
- Results preview
Essential Keyboard Shortcuts
- F5: Debug current pipeline with test data
- Ctrl+S: Save pipeline
- Ctrl+N: New pipeline
- Ctrl+O: Open pipeline
- Delete: Remove selected block
Block Categories Overview
Now that you’ve created a basic pipeline, explore these block categories:HTTP
Make HTTP/HTTPS requests with full control over:- Methods (GET, POST, PUT, DELETE, PATCH, etc.)
- Headers and cookies
- Authentication (Basic, Bearer, custom)
- Request bodies (JSON, form data, raw)
- Proxy support
Parsing
Extract data from responses:- JSON: JSONPath expressions
- Regex: Pattern matching with capture groups
- CSS Selector: Query HTML with CSS selectors
- XPath: XML/HTML querying
Functions
Transform and manipulate data:- String: Concatenate, substring, replace, encode/decode
- List: Split, join, filter, map
- Crypto: Hash (MD5, SHA1, SHA256), HMAC, AES encryption
- Math: Arithmetic operations, random numbers
- Time: Date/time parsing, formatting, timezone conversion
Control Flow
Build complex logic:- IfElse: Conditional branching
- Loop: Iterate over lists or ranges
- Set Variable: Create and update variables
- Delay: Add pauses between requests
Browser Automation
Control browsers with Selenium:- Navigate to URLs
- Click elements, fill forms
- Execute JavaScript
- Take screenshots
- Handle popups and frames
Protocols
Work with other protocols:- TCP/UDP: Raw socket communication
- FTP: File transfers
- SSH: Remote command execution
- IMAP/SMTP: Email automation
Bypass
Handle anti-automation measures:- Captcha: Integration with solving services
- Cloudflare: Bypass Cloudflare protection
- CSRF Token: Extract and use CSRF tokens
Utilities
- Log: Debug output
- Script: Execute custom JavaScript/Python
- Plugin: Load external plugins
Advanced Features
Variable System
IronBullet supports two variable syntaxes:- URLs:
https://api.example.com/users/<userId> - Headers:
Authorization: Bearer <token> - Request bodies:
{"username": "<username>"} - Log messages:
User <username> logged in
Proxy Rotation
Configure proxy lists with automatic rotation:- Add proxies in the Data/Proxy panel
- Enable proxy rotation in HTTP blocks
- IronBullet handles ban detection and health checking
Export as Code
Export your pipeline as standalone Rust code:- Click Export in the toolbar
- Select Export as Rust Code
- Customize and compile the generated code
Import OpenBullet Configs
Migrate from OpenBullet:- Click Import in the toolbar
- Select your OpenBullet config (.svb, .opk, or .loliScript)
- IronBullet will convert it to blocks automatically
Example: Login Flow
Here’s a more complex example showing a multi-step authentication flow:Get CSRF Token
- HTTP GET to login page
- CSS Selector to extract CSRF token from form
- Store in
csrf_tokenvariable
Troubleshooting
Pipeline Not Executing
- Check that all blocks are connected properly
- Verify input data is in the correct format
- Look for error messages in the debugger panel
Variables Not Resolving
- Ensure variable names match exactly (case-sensitive)
- Check that variables are created before they’re used
- Use the Variables panel to see all available variables
HTTP Requests Failing
- Verify the URL is correct and accessible
- Check headers and authentication
- Review proxy settings if using proxies
- Use the Network panel to inspect full request/response details
Next Steps
Block Reference
Explore all 50+ blocks and their configuration options
Variable System
Master the variable input system and data flow
Jobs & Execution
Learn advanced job configuration and optimization
Plugins
Extend IronBullet with custom plugins