Openbullet 2 Plugins

OpenBullet 2 (OB2) is a powerful web testing suite. While the native block system (HTTP, Parse, Script) is robust, Plugins allow you to extend functionality beyond what is natively possible. They are essential for bypassing complex anti-bot measures (like Akamai or PerimeterX), decoding proprietary formats, or executing specialized algorithms.

On-the-fly mutation.

Most config making requires sending requests. You can access OB2's internal HTTP client via the Browser property within the block, but it is often better to inject IRuriLibFunctions.

However, for a standard BlockPlugin, you usually access context through the Env (Environment) object if available, or construct the request manually within the plugin if you need a standalone HTTP client. Openbullet 2 Plugins

For interacting with the standard OB2 HTTP client, you typically implement BlockPlugin but might need to resolve dependencies via the constructor if you need IRuriLibFunctions.

Simplified HTTP Call inside a plugin:

using var client = new HttpClient();
var response = await client.GetStringAsync("https://api.ipify.org");
return BlockExecutionResult.Success("myIp", response);

Once you have installed plugins, you can manage them through the plugin management section: OpenBullet 2 (OB2) is a powerful web testing suite

Plugins increase capability but also complexity and risk. Review plugin code or rely on trusted sources; sandbox testing is essential. Use responsibly and in accordance with laws and acceptable use policies.

Create a new Class Library project in C#. Add a reference to Openbullet2.Api.dll.

using Openbullet2.Api;
using System.Threading.Tasks;

public class MyCustomPlugin : IObPlugin public string Name => "Example Parser"; public string Author => "YourName"; public string Version => "1.0"; Once you have installed plugins, you can manage

public Task<bool> Process(PluginData data)
// Access the HTTP response from the config
    string response = data.HttpResponse;
// Modify the response or extract a value
    if (response.Contains("success\":true"))
data.Variables["IsSuccess"] = "true";
        return Task.FromResult(true);
data.Variables["IsSuccess"] = "false";
    return Task.FromResult(false);

After compiling, copy the .dll and any dependencies into the Openbullet 2 Plugins folder. Your plugin can now be referenced inside Openbullet 2 configs using the CallPlugin action.

CryptoPlugin.settings.json (placed next to the DLL):


  "ApiKey": "your_api_key",
  "EnableLogging": true

Access inside plugin:

var config = PluginConfig.Load<MySettings>("CryptoPlugin");