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.