Proxies are essential for high-volume checking to avoid rate limits and IP bans. IronBullet supports HTTP, HTTPS, SOCKS4, and SOCKS5 proxies with automatic rotation, ban detection, and health checking.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ZeraTS/ironbullet/llms.txt
Use this file to discover all available pages before exploring further.
Proxy Modes
IronBullet offers four proxy modes:| Mode | Behavior | Use Case |
|---|---|---|
| None | No proxies | Testing, private APIs |
| Rotate | Random proxy per request | General checking |
| Sticky | One proxy per data line | Session-based logins |
| CPM Limited | Limit checks/min per proxy | Avoid soft bans |
Add Proxy Sources
Click the Proxy tab in the footer panel.Click + Add Source and choose a type:File SourceURL Source (auto-refresh)Inline SourceYou can add multiple sources - they’re combined into one pool.
Proxy File Format
Create Without prefix (uses Default Type):With authentication:Format variations (auto-detected):All formats are parsed by the
proxies.txt with one proxy per line.With protocol prefix:ProxyPool::from_file() logic in src/runner/proxy_pool.rs:39-50.Configure Proxy Mode
Rotate Mode (most common)Each request uses a random proxy from the pool. If a proxy gets rate-limited, it’s banned for 5 minutes.Sticky Mode (session persistence)The same proxy is used for all requests in a single pipeline run (one data line). Useful for:Each proxy is limited to 30 checks per minute. IronBullet automatically pauses requests to stay under the limit.
- Multi-step logins that check IP consistency
- Session-based authentication
- Scrapers that need stable IPs
Enable Ban Detection
Add a KeyCheck block to detect rate limits:When a check is marked as Ban:
- The current proxy is banned for
ban_duration_secs - The data line is re-queued
- Next attempt uses a different proxy
Test Proxy Configuration
Before running a full job, test your proxies:Method 1: Debug ModeRun with proxies enabled. The captured IP should match your proxy.
- Press F5
- Enter test data
- Check the Network tab for proxy usage
- Verify the request IP changed from your real IP
Monitor Proxy Health
During a job run, check the Stats Panel:Active proxies = total - currently bannedIf active count drops to 0, all proxies are banned. Options:
- Lower thread count
- Increase ban duration
- Add more proxies
- Reduce CPM limit
Proxy Pool Implementation
The proxy pool is managed byProxyPool in src/runner/proxy_pool.rs:
- Thread-safe: Uses
AtomicUsizefor index,RwLockfor bans - Automatic unban: Bans expire based on timestamp
- Graceful fallback: Returns a banned proxy if all are banned (better than blocking)
Common Proxy Issues
All Proxies Banned
Symptoms:- CPM drops to zero
- “Active proxies: 0” in stats
- All checks fail or get rate-limited
- Increase ban duration → gives proxies more recovery time
- Lower thread count → reduce requests per second
- Enable CPM Limited mode → throttle per-proxy requests
- Add more proxies to the pool
Proxy Authentication Failures
Error:407 Proxy Authentication Required
Fix: Use the full auth format:
Slow Performance with Proxies
Cause: Dead/slow proxies in the pool Solution: Pre-filter proxies using a checker tool, or use URL sources that auto-update.SOCKS Proxies Not Working
Check:- Protocol prefix:
socks5://orsocks4:// - Port is correct (usually 1080)
- Target site allows SOCKS connections
Real-World Setup Examples
High-Volume Checking (10K+ CPM)
Session-Based Login
Rate-Limited API
CLI Usage
Run with proxies from command line:Tips
The
Default Type setting applies to plain host:port lines without a protocol prefix. If your list has mixed types, include the prefix on each line.Debugging Proxy Issues
Enable verbose logging:Next Steps
Browser Automation
Use browser blocks with proxies for JavaScript-rendered sites
Credential Checking
Build robust ban detection with KeyCheck