Proxy-Cheap
Tích hợp
OpenBullet proxy integration: setup, rotation, and error fixes

OpenBullet Proxy Integration

Integrate proxies with OpenBullet 2: import syntax, HTTP/SOCKS5 setup, rotation, and common error fixes, plus Proxy-Cheap proxies on pay-as-you-go pricing.
Nhận proxy cho OpenBullet proxy integration: setup, rotation, and error fixes
OpenBullet proxy integration: setup, rotation, and error fixes
What is OpenBullet 2?
OpenBullet 2 is a free, open-source automation suite built on .NET for web app testing, scraping and parsing. You build a config that sends requests and parses the results, then run it at scale over a list of inputs with many bots at once. Proxies go in the built-in Proxies tab, which supports HTTP, SOCKS4, SOCKS4a and SOCKS5 and can rotate IPs per request or per retry.

Key takeaways:

  • OpenBullet 2 is a free, open-source (MIT) .NET automation suite for web app testing, scraping, and parsing. You add proxies in the Proxies tab, not in code.
  • Import proxies as (type)host:port:username:password or in URI style. OpenBullet 2 reads HTTP, SOCKS4, SOCKS4a, and SOCKS5, and you can set a default type and default credentials to keep each line short.
  • For rotation, paste one Proxy-Cheap rotating residential gateway line for a fresh IP per request, or a list of static IPs for OpenBullet to cycle through.
  • Match the product to the workload: rotating residential for high-volume testing, static residential or ISP for session-bound runs, datacenter for high-throughput public targets.

OpenBullet 2 sends a lot of requests in a short window, so the IP you run it from matters as much as the config you build. This guide walks through what OpenBullet 2 is, how to install and run it, and then the part most tutorials gloss over: integrating proxies correctly, rotating them, and fixing the proxy errors that come up most often. The Proxy-Cheap endpoints and import formats shown here were tested for reachability before publishing.

What is OpenBullet 2?

OpenBullet 2 is an open-source automation suite powered by .NET. In the maintainers' own words, it "allows to perform requests towards a target webapp and offers a lot of tools to work with the results." You define a sequence of requests and parsing rules in a config, then run that config at scale over a list of input data.

The current release at the time of writing is v2.0.0, published in June 2026 under the MIT license. It is a cross-platform rewrite of the original Windows-only OpenBullet, and it ships in three forms: a native Windows desktop client, a browser-based web client, and a Docker image. The project is maintained on GitHub with an active community forum at discourse.openbullet.dev.

Three concepts hold the tool together. Configs describe what to do, written in LoliCode (a lightweight scripting language) or assembled visually in the Stacker. Jobs run a config, with the Multi-Run Job for data processing and the Proxy Check job for validating proxies. Wordlists supply the input data that a job iterates over. Around all of this sits a proxy manager that handles groups, types, and rotation.

What is OpenBullet 2 used for?

OpenBullet 2 is general-purpose request automation, so its uses follow from that:

  • Web application testing. Run functional and regression checks against an app you own or are authorized to test, across many input combinations.
  • Scraping and parsing. Pull structured fields out of public pages and turn responses into clean data.
  • Availability and uptime monitoring. Confirm that endpoints respond correctly from multiple regions.
  • QA and data aggregation. Automate repetitive request flows and collect results in one place.
  • Authorized security testing. Security teams use it for sanctioned testing of their own services.

One ground rule sits above all of these. Use OpenBullet 2 only against web apps you own or have explicit, written authorization to test, and respect each site's terms of service and the laws that apply to you. The proxy guidance in this article is for legitimate testing, monitoring, and public-data workflows. Treating authorization and compliance as the starting point is also what keeps a proxy-backed pipeline sustainable.

Key features of OpenBullet 2

The features that matter most for a proxy-backed workflow:

  • Configs in LoliCode or the Stacker. Write logic as a script, or assemble it visually from steps in the Stacker, then reuse it across jobs.
  • Multi-Run Jobs with concurrent bots. Process a wordlist in parallel, with each bot working an input line at a time.
  • A built-in proxy manager. Group proxies, set types (HTTP, SOCKS4, SOCKS4a, SOCKS5), and rotate them per request or per retry.
  • Proxy Check jobs. Validate a whole group against a target before you commit a real run to it.
  • Browser automation support. Drive Puppeteer or Selenium from a config when a target needs a real browser.
  • Three deployment modes. Native Windows, web client, and Docker, so the same configs run on a laptop or a server.

Is OpenBullet 2 free to use?

Yes. OpenBullet 2 is free and open source under the MIT license, which permits commercial use. There is no license key, no usage cap, and no paid tier built into the tool itself.

Your real costs come from elsewhere: the compute that runs the jobs (browser automation is heavier than plain HTTP), any optional third-party services you wire in, and proxies once you run at volume. The proxy line is the one that scales with your workload, which is why picking the right product and plan early pays off.

How to install OpenBullet 2

Pick the deployment mode that fits where you want to run it. All three open the same web interface in your browser.

Docker is the cleanest option for a server or for keeping your machine tidy:

docker run --name openbullet2 --rm -p 8069:5000 \
  -v C:/OB2/UserData/:/app/UserData/ \
  -it openbullet/openbullet2:latest
# Then open http://127.0.0.1:8069 in your browser.

The -p 8069:5000 flag maps your local port 8069 to the container's port 5000, where OpenBullet 2 always listens. Change 8069 to any free local port you like.

Web client without Docker runs directly on the .NET runtime:

dotnet ./OpenBullet2.Web.dll
# Then open http://localhost:5000 in your browser.

Native Windows client is a desktop download. Grab the latest release for Windows from the project's releases page, unzip it, and run the executable. It is the single-user option and needs no separate runtime setup.

Whichever you choose, once the interface loads you are ready to add proxies and build your first config.

Quickstart: your first OpenBullet 2 job

A minimal end-to-end run proves the install works before you touch a real target. Point it at a harmless endpoint that echoes your IP, such as https://ipinfo.io/ip.

  1. Create a config. Open the Configs tab, create a new config, and add a single HTTP request to https://ipinfo.io/ip in the Stacker (or write the equivalent one-line request in LoliCode). Add a parse step to capture the response body.
  2. Add a wordlist. Under Wordlists, import a tiny text file (even a few placeholder lines is enough for a smoke test).
  3. Run a Multi-Run Job. Go to Jobs, create a new Multi-Run Job, select your config and wordlist, and start it.

The request your config makes is the same one this validated command performs from a terminal, which is a useful way to confirm the target behaves before you wrap it in a config:

curl --max-time 10 https://ipinfo.io/ip

Once a no-proxy run works, add the proxy group from the setup section below and run it again. That sequence (config first, then proxies) keeps debugging simple, because you know the config is sound before a proxy enters the picture.

What is the output of OpenBullet 2?

A job does not return a single document the way a scraper might. Instead, every input line gets a status, and the job tallies them as it runs:

StatusMeaning
SUCCESSThe line met the config's success condition. These are saved as hits.
FAILThe line ran cleanly but did not meet the success condition.
RETRYA transient issue (often a proxy timeout); the line is queued to run again.
ERRORThe config hit an exception, such as a parsing failure or a malformed request.

Successful lines are stored as hits with whatever variables your config captured, so the practical output is structured data: the fields you parsed out of each response. You can review hits in the interface and export them to a file for downstream use. The RETRY column is the one to watch during a proxy-backed run, because a climbing retry count usually points at proxy health rather than the config.

Why you need a proxy with OpenBullet 2

OpenBullet 2 is built to send many requests quickly. Run that from a single IP and three problems show up fast.

  1. Rate limiting. Most sites throttle repeated requests from one address. Spreading requests across a pool of IPs keeps response success rates steady across a long job instead of trailing off after the first few hundred requests.
  2. Accurate geo-specific data. Prices, catalog availability, and search results change by country and city. Routing through an IP in the target market is the only way to capture what a user there actually sees, which matters for localization testing, ad verification, and market research.
  3. Compliance with site terms and regional requirements. Testing and public-web data collection at scale should respect rate limits and the contractual posture each site sets. Country and city targeting lets you stay within those boundaries while still gathering the data you need.

Proxy-Cheap offers several product lines that map cleanly onto OpenBullet 2 workloads. For a broader view of how to choose, the best proxy for web scraping guide covers selection criteria across the industry.

Card matrix mapping Proxy-Cheap product types to OpenBullet 2 workloads, from high-volume rotating testing to session-bound runs and high-throughput public targets.

Each product line fits a different shape of job. The links below match the cards above.

  • Rotating residential is the default for high-volume testing and scraping where you want maximum IP diversity with minimal setup. It is the rotating gateway covered in the rotation section below.
  • Static residential (ISP) proxies suit session-bound runs that need a stable identity across many requests.
  • ISP proxies combine datacenter speed with ISP trust for long-lived sessions and flexible authentication.
  • Datacenter proxies deliver high throughput for documentation, public catalogs, and unprotected targets where raw speed matters most.
  • Mobile proxies route through carrier networks for high-trust environments and tasks that need a mobile-network identity.

How to set up a proxy with OpenBullet 2

Proxy setup lives in the web interface, so make sure OpenBullet 2 is running and open in your browser first. The whole flow takes about a minute.

  1. Open the Proxies tab in the left sidebar.
  2. Click Add Group, give it a name you will recognize later (for example, proxycheap-residential), and save.
  3. Select the group and click Import. You can import from text (paste directly), from a file, or from a remote URL. Every method expects one proxy per line.

OpenBullet 2 reads two proxy formats. The legacy format puts the type in parentheses at the front:

(type)host:port:username:password

So a Proxy-Cheap rotating residential gateway entry over HTTP looks like this:

(http)thehub.proxy-cheap.com:8080:<your-proxycheap-username>:<your-proxycheap-password>

The standard URI format works too, and it is the cleaner option if you copy strings between tools:

http://<your-proxycheap-username>:<your-proxycheap-password>@thehub.proxy-cheap.com:8080

Diagram breaking down the OpenBullet 2 proxy string (type)host:port:username:password and mapping each part to the Proxy-Cheap dashboard credentials.

Each part of the OpenBullet 2 proxy line maps directly to a value from your Proxy-Cheap dashboard. Pick the type that matches the credential you copied.

A few details that save time:

  • Set a default type and default credentials in the import dialog. When every proxy in the group shares the same username and password, leave them out of each line and let the defaults fill them in. You can then paste bare thehub.proxy-cheap.com:8080 lines.
  • Use the HTTP type for the rotating residential gateway. The Proxy-Cheap rotating hub thehub.proxy-cheap.com:8080, accepts HTTP on that port, so select HTTP for it in OpenBullet 2.
  • For SOCKS5, copy the exact host and port from your dashboard. Static residential, ISP, datacenter, and mobile products give you a unique host and port per proxy in the dashboard's Setup Credentials panel. Paste that host and port, then set the type to SOCKS5. The full credential workflow is covered in the guide to using the Proxy-Cheap dashboard.

Before you import anything, it is worth confirming the credential works at the network level. Run this quick check from a terminal. A real IP address in the response means the gateway and credentials are good:

# Quick sanity check before importing into OpenBullet 2.
# A printed IP means the proxy string and credentials are valid.
curl --max-time 10 -x "http://<your-proxycheap-username>:<your-proxycheap-password>@thehub.proxy-cheap.com:8080" https://ipinfo.io/ip

If you see a 407 response instead, the gateway is reachable but the credentials are wrong, so refresh them in the dashboard. If the connection times out, check the host and port. This same string maps one to one onto the OpenBullet 2 line above.

Rotating proxies with OpenBullet 2

OpenBullet 2 gives you two rotation models, and the right one depends on which Proxy-Cheap product you bought.

Rotating residential gateway (one line). With rotating residential proxies, rotation happens at the gateway. You import a single line, and every request that leaves through thehub.proxy-cheap.com:8080 gets a fresh exit IP automatically. You do not need a long proxy list, because one endpoint already fronts a large pool. Sticky sessions of around 30 minutes are available when you need the same IP across a sequence of requests.

Static list (many lines). With static residential, ISP, or datacenter products, each proxy is a fixed IP and port. You import the full list, and OpenBullet 2 hands one proxy to each bot, then moves to the next entry on retry. The larger and more diverse your list, the more evenly the load spreads.

Either way, validate the group before a real run. OpenBullet 2 has a built-in Proxy Check job: go to Jobs, click New, choose Proxy Check, pick your group, set a test target, and start it. OpenBullet connects through each proxy and reports its status, so you can drop the dead ones before they cost you a run. For methods that work outside OpenBullet too, see the walkthrough on how to test proxies.

Choosing between the two models is the classic tradeoff. Rotating residential is the default for high-volume jobs where you want maximum IP diversity with minimal setup. Static residential or ISP wins when you need a stable identity that persists across a session. The full comparison lives in static vs rotating proxies.

A protocol note: Proxy-Cheap supports HTTP and SOCKS5 across the product line. For OpenBullet 2, HTTP with a username and password is the most compatible choice, and it is what the rotating hub uses on port 8080. SOCKS5 works well when you copy the host and port straight from the dashboard.

Advanced: using proxies inside a Multi-Run Job

Importing proxies is only half the integration. The other half is telling a job to use them.

A Multi-Run Job ties together three inputs: a config, a wordlist (your input data), and proxy settings. When you create the job, enable the proxy option and select the group you imported, and OpenBullet 2 routes each bot's requests through that group.

Diagram of an OpenBullet 2 Multi-Run Job: concurrent bots routing requests through the Proxy-Cheap gateway to a target web app and returning SUCCESS, FAIL, RETRY, and ERROR results.

A Multi-Run Job spreads its bots across the proxy pool. Each request leaves through the Proxy-Cheap gateway, hits your target, and returns a status the job tallies.

Three settings decide whether the run is smooth or stalls:

  • Concurrency (bots). Each bot opens its own connection. Set the bot count to match what your proxy plan supports, rather than the highest number the machine allows. Rotating residential handles many concurrent requests from one gateway entry. With a static list, keep concurrency in line with the number of proxies and their per-IP connection limits.
  • Proxy reload and retries. Configure the job to reuse the pool and retry on a failed request. This keeps a single slow proxy from ending the run, and it turns a transient timeout into a retry rather than a lost data line.
  • Rotation timing. With the rotating gateway, every request already gets a new IP, so you rarely need extra logic. With static proxies, OpenBullet rotates to the next entry on retry, which is why a healthy, diverse list matters.

The payoff of getting these right is throughput that holds steady across a long job instead of degrading as the pool thins out. A residential proxy network with enough pool depth is what makes that consistency possible.

Common errors and how to fix them

Most OpenBullet 2 proxy problems map to a handful of root causes. These are the ones that surface most often in the project's issue tracker.

1. Authenticated proxies pass in the Runner but fail the Proxy Check. A known mismatch where username and password proxies behave differently between the checker and a live job. Use the full (type)host:port:username:password form, or set the default type and default credentials in the import dialog so every line is complete. Then validate with a Multi-Run Job against a known-good target rather than relying only on the checker.

2. Proxies work in other tools but show as dead in OpenBullet 2. Almost always the wrong type is selected. The Proxy-Cheap rotating hub, thehub.proxy-cheap.com:8080, accepts HTTP, so set the type to HTTP for it. Reserve SOCKS5 for the host and port you copy from the dashboard, and confirm the credentials are present on the line or in the defaults.

3. Importing from a file throws an InvalidOperationException. Some builds choke on file import while pasting works fine. Paste the proxies into the text box instead, and make sure the file is plain UTF-8 text with exactly one proxy per line and no trailing empty lines.

4. Idle connections pile up and hit a thread limit. High concurrency against thread-limited proxies leaves connections open and exhausts the per-IP cap. Lower the bot count to match your plan's allowed concurrency. With a static list, keep bots near the number of proxies; with the rotating gateway, one entry comfortably fronts many concurrent requests.

5. The job stalls because the proxy pool ran dry. When every proxy is marked unhealthy and no reload is set, the job has nothing left to route through. Enable proxy reload and retries in the job settings, and prefer the rotating residential gateway, where each request draws a fresh IP from the pool so it does not deplete the way a fixed list does.

6. A 407 proxy authentication response. The credentials are wrong, or you are on IP-allowlist authentication and the machine's IP is not on the list. Copy fresh credentials from the dashboard, or add the machine's public IP to the allowlist for static products.

Is OpenBullet 2 good? Pros and cons

For flexible, self-hosted request automation, OpenBullet 2 is one of the strongest open-source options available, especially given the price. A few honest tradeoffs are worth weighing first.

Pros

  • Free and open source under the MIT license, with commercial use permitted.
  • Highly flexible configs through LoliCode and the visual Stacker.
  • A built-in proxy manager with grouping, multiple types, and rotation.
  • Multi-Run Jobs scale across concurrent bots for real throughput.
  • Runs natively on Windows, as a web client, or in Docker.
  • Active development and a sizable community for configs and support.

Cons

  • A learning curve: configs and LoliCode take time to pick up.
  • You manage your own infrastructure, including compute and proxies.
  • A handful of proxy edge cases live in the issue tracker, so validation matters.
  • Non-Docker deployments need the correct .NET runtime in place.

OpenBullet 2 vs OpenBullet 1. OpenBullet 2 is the maintained, cross-platform rewrite. The original OpenBullet was Windows-only and is no longer the active project. Unless you are maintaining a legacy setup, OpenBullet 2 is the version to learn, and it is the one all proxy guidance in this article targets.

The practical setup for most users: run OpenBullet 2 yourself, pair it with a value-tier proxy provider on pay-as-you-go billing, validate every group with a Proxy Check job, and you cover the large majority of legitimate testing and data workflows without enterprise overhead.

Câu hỏi thường gặp

The software itself is a legitimate, open-source automation suite, and many teams use it for testing, monitoring, and public-data collection. Legality depends on what you point it at. Use it only against web apps you own or have explicit authorization to test, and follow each site's terms of service and the laws that apply to you.

Residential proxies are the common default because they route through real ISP-assigned IPs, which suits testing that needs location-accurate results. Datacenter proxies fit high-throughput runs against public or unprotected targets. The right pick depends on the target, not the budget.

Not always. Username and password authentication works everywhere and is the most portable choice. Static residential, ISP, datacenter, and mobile products also support IP-allowlist authentication, where you whitelist your machine's IP and import bare host and port lines with no credentials.

Yes. OpenBullet 2 reads HTTP, SOCKS4, SOCKS4a, and SOCKS5. For Proxy-Cheap, HTTP is the most compatible option and is what the rotating hub uses on port 8080. For SOCKS5, copy the exact host and port from your dashboard and select SOCKS5 as the type.

The usual cause is the wrong protocol type selected on import. A proxy listening on an HTTP port will fail if you mark it SOCKS5, and the reverse is true too. Set the correct type, confirm the credentials are on the line or in the import defaults, then re-check the group.

Match concurrency to what your proxy plan supports rather than to your machine's maximum. With a static list, keep the bot count near the number of proxies and their per-IP connection limits. With the rotating residential gateway, a single entry comfortably handles many concurrent bots.

Use the built-in Proxy Check job: open Jobs, create a new Proxy Check job, select your proxy group and a test target, and start it. OpenBullet connects through each proxy and reports its status so you can remove the dead ones before a real run.

Yes, in two ways. A rotating residential gateway rotates at the source, giving every request a fresh IP from one imported line. With a static list, OpenBullet 2 cycles through the entries itself, moving to the next proxy on retry.

A config is the reusable script that defines what a job does: the requests it sends, the data it parses, and the conditions that mark a result as a success. You write configs in LoliCode or assemble them visually in the Stacker, then run them with a Multi-Run Job.