Data Settings Overview
Data settings control how IronBullet reads and parses input data. Each line in your wordlist is split according to these rules and mapped toinput.* variables.
Data settings transform raw text lines like
user@example.com:password123 into structured variables like input.USER and input.PASS.Data Settings Structure
Fromsrc/pipeline/mod.rs:66-81:
Configuration Fields
| Field | Type | Description |
|---|---|---|
wordlist_type | String | Preset format name (Credentials, Url, Custom, etc.) |
separator | Char | Character to split each line on |
slices | Array of strings | Ordered names for the split parts |
Wordlist Types
Common preset formats:Credentials
Format: Example data:Variables:
username:passwordinput.USER→john@example.cominput.PASS→password123
Email:Password:Extra
Format: Example data:Variables:
email:password:extrainput.EMAILinput.PASSinput.EXTRA
URL
Format: Single column (no separator)Example data:Variables:
input.URL→ full line
Custom
Format: Pipe-separated valuesExample data:
Example Configuration
Fromconfigs/example.rfx:87-91:
input.USER=user1@example.cominput.PASS=password123
Data Source Types
Fromsrc/runner/job.rs:46-60:
File Source
File Source
Load data from a text file:File contents:
Folder Source
Folder Source
Load all Combines all files:
.txt files from a directory:URL Source
URL Source
Download wordlist from HTTP/HTTPS:Downloads and parses the remote file.
Inline Source
Inline Source
Paste data directly into the config:Useful for testing or small datasets.
Range Source
Range Source
Generate numeric sequences:Generates:Access via
input.NUMBER or your configured slice name.Combinations Source
Combinations Source
Generate combinations from multiple lists:If
users.txt has 100 users and passwords.txt has 50 passwords, generates 5,000 combinations.Separator Characters
Common separators:| Character | Use Case | Example | |||
|---|---|---|---|---|---|
: (colon) | Credentials, standard format | user:pass | |||
| ` | ` (pipe) | CSV-like data | `id | name | email` |
, (comma) | CSV files | john,smith,john@example.com | |||
\t (tab) | TSV files | user\tpass\temail | |||
; (semicolon) | European CSV | name;email;phone | |||
(space) | Space-delimited | user pass extra |
Slice Mapping
Slices are mapped in order to the split parts:Example Configurations
- 2 Slices
- 3 Slices
- 4 Slices
- Single Slice
alice@test.com:secretpassVariables:input.USER=alice@test.cominput.PASS=secretpass
Data Pool Processing
Fromsrc/runner/data_pool.rs:4-57, the data pool manages how lines are consumed:
When a block returns
BotStatus::Retry, the data line is added back to the retry queue and will be processed again.Runner Settings for Data
Fromsrc/pipeline/mod.rs:173-233, you can control how data is processed:
Example: Process subset of data
Using Input Variables
Once parsed, access input data in any block using<input.SLICE_NAME>:
- HTTP Body
- URL Parameters
- Headers
- JSON Body
Best Practices
Clean Data
- Remove duplicate lines
- Trim whitespace
- Validate format consistency
- Remove empty lines
Naming
- Use descriptive slice names
- Prefer UPPERCASE
- Match your domain (USER vs EMAIL vs USERNAME)
Performance
- Use skip/take for testing subsets
- Start with small wordlists
- Gradually increase thread count
Format
- Keep separators consistent
- Document your format
- Use standard types when possible
Troubleshooting
Variables are empty
Variables are empty
Problem:
input.USER is empty even though wordlist has data.Solutions:- Check separator matches your data format
- Verify slice names match variable references
- Ensure no extra spaces around separator
- Check for UTF-8/encoding issues
Too many/few slices
Too many/few slices
Problem: Lines have different number of separator characters.Solutions:
- Clean your wordlist to consistent format
- Choose a separator not present in data
- Use only as many slices as minimum split count
Special characters in data
Special characters in data
Problem: Data contains separator character (e.g.,
: in password).Solutions:- Use different separator (e.g.,
|or\t) - URL-encode the data
- Escape the character
- Use a different wordlist format