notgate/Ironbullet

GitHub: notgate/Ironbullet

一款基于可视化拖拽 pipeline 编辑器的桌面 HTTP 自动化工具包,支持多线程批量执行、多协议请求、浏览器自动化与 pipeline 导出为 Rust 代码。

Stars: 24 | Forks: 8

Ironbullet logo

Ironbullet

**充满爱心制作的 Bullet 软件** [![发布版本](https://img.shields.io/github/v/release/notgate/Ironbullet?style=flat-square&color=303033)](https://github.com/notgate/Ironbullet/releases/latest) [![下载量](https://img.shields.io/github/downloads/notgate/Ironbullet/total?style=flat-square&color=303033)](https://github.com/notgate/Ironbullet/releases) [![许可证](https://img.shields.io/badge/license-MIT-303033?style=flat-square)](LICENSE) [![文档](https://img.shields.io/badge/docs-Starlight-303033?style=flat-square)](https://notgate.github.io/Ironbullet/)

Ironbullet Signal Path pipeline with HTTP, parsing, and key-check blocks

Ironbullet 是一个围绕可视化、拖拽式 pipeline 编辑器构建的桌面自动化工具包。将支持的 block 链接在一起,用于 HTTP 请求、解析器、检查、转换、浏览器自动化和协议客户端,然后通过多线程作业执行,针对已授权的数据集运行它们。 ## 功能 | | | |---|---| | **Block pipeline 编辑器** | 拖拽式界面,包含 8 大类 50 多种 block 类型 | | **Debug 模式** | 单步执行,带有实时请求/响应查看器和变量检查器 | | **多线程作业** | 可配置的线程池、代理轮换、封禁检测、逐步加压 | | **Intellisense** | 在所有输入字段中进行上下文感知的自动补全 — 变量、headers、分隔符、response body 预测 | | **TLS 指纹识别** | AzureTLS、RustTLS 和 WreqTLS 后端,支持按 block 进行 JA3/HTTP2 指纹控制 | | **MITM 捕获** | 内置代理捕获浏览器流量用于 Site Inspector — 导出为 JSON/HAR | | **代码导出** | 将任何 pipeline 导出为独立的 Rust 源代码 | | **插件系统** | 热加载插件,无需重新编译即可扩展 block 面板 | | **OB2 导入** | 导入 OpenBullet 2 / SilverBullet 配置(.svb, .opk, .loliScript) | ## 安装说明 下载适用于您平台的最新版本: | 平台 | 文件 | |---|---| | Windows | `ironbullet-vX.X.X-windows-x64.zip` | | Linux | `ironbullet-vX.X.X-linux-x64.zip` 或 `.AppImage` | 解压并运行 `ironbullet`(或 `ironbullet.exe`)。Sidecar 二进制文件(`reqflow-sidecar` / `reqflow-sidecar.exe`)必须位于同一目录中。 ## 快速入门 1. 启动 Ironbullet 2. 从左侧面板添加 block,或按 **Ctrl+K** 3. 点击 block 以在右侧面板中打开其设置 4. 按 **F5** 使用单行数据运行 debug 测试 5. 打开 **Response Viewer** 以检查 HTTP 流量 6. 创建 **Job** 以使用多个线程处理完整的字典 ## Block 分类
HTTP — 具有完全 header/cookie/body 控制的请求 - `HttpRequest` — 通过 AzureTLS、RustTLS 或 WreqTLS 发送可配置的 HTTP 请求 - 自定义 headers、cookies 和表单/原始 request bodies - 针对单个请求的 JA3、HTTP/2 指纹、代理和浏览器配置文件覆盖
Parsing — 从响应中提取数据 - `ParseLR` — 左/右分隔符提取 - `ParseJSON` — JSON 路径(点表示法) - `ParseRegex` — 带有捕获组的正则表达式 - `ParseCSS` — CSS 选择器 + 属性提取 - `ParseXPath` — XPath 查询 - `ParseCookie` — 提取特定的 cookie 值
Functions — 转换和计算 - `StringFunction` — 替换、修剪、编码/解码、分割、随机字符串 - `CryptoFunction` — MD5, SHA1/256/512, HMAC, BCrypt, AES - `ConversionFunction` — 类型转换、Base64、Hex、URL、bytes、BigInt - `DateFunction` — 格式化、解析、加/减时间、Unix 时间戳 - `JwtToken` — 签名和验证 HS256/384/512 JWT - `HeaderSpoof` — 注入随机化的转发 IP headers
Control — 流程和逻辑 - `IfElse` — 条件分支 - `Loop` — 遍历列表或重复 N 次 - `SetVariable`、`CaseSwitch` 和 `Delay`
Browser — 无头(Headless)自动化 - 打开、导航、点击、输入、等待、截图、执行 JS - Cookie 和会话管理
Protocols — 原始网络客户端 - TCP, UDP, FTP, SSH, IMAP, SMTP, POP3
Bypass — 反机器人处理 - `CaptchaSolver` — 集成第三方求解器 API - `CloudflareBypass` — FlareSolverr 集成 - `LaravelCsrf` — 自动获取 CSRF token
Utilities - `Log`、`Webhook`、`CookieContainer`、`FileSystem`、`Plugin`
## 从源码构建 **要求:** Rust 1.80+, Node.js 20+, Go 1.23+ ``` git clone https://github.com/notgate/Ironbullet.git cd Ironbullet # 构建 frontend cd gui && npm install && npm run build && cd .. # 构建 sidecar cd sidecar && go build -o reqflow-sidecar && cd .. # 构建 app cargo build --release ``` 二进制文件位于 `target/release/ironbullet`。将其与 `reqflow-sidecar` 一起复制以运行。 **交叉编译为 Windows(从 Linux):** ``` cargo build --release --target x86_64-pc-windows-gnu ``` ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:MITM代理, 可视化界面, 可视化管道, 日志审计, 桌面应用, 爬虫框架, 通知系统