sahilvinodMhatre/RequestJar
GitHub: sahilvinodMhatre/RequestJar
RequestJar 是一款用于 Burp Suite 的 HTTP 请求管理扩展,帮助用户高效组织、重放请求。
Stars: 0 | Forks: 0
# RequestJar - Burp Suite 扩展
[](https://github.com/sahilvinodMhatre/RequestJar/releases/download/RequestJar-V2.1.0/RequestJar-2.1.0.jar)

## ✨ 功能
| 功能 | 描述 |
|---|---|
| 🕸️ **集合** | 每个目标都有一个顶级集合(一个集合),具有无限子文件夹 |
| 🔍 **搜索与过滤** | 实时过滤集合和文件夹,UI 中的任何地方都可以 |
| 💾 **保存请求** | 在任何 Burp 标签中右键单击任何请求 → 发送到 RequestJar |
| 📁 **创建文件夹** | 直接从保存对话框创建集合和子文件夹 |
| ✏️ **重命名和组织** | 重命名、移动、复制和删除任何集合/子文件夹或请求 |
| ⚡ **保存 HTTP 代理历史记录** | 可以使用“保存代理历史记录”和“恢复代理历史记录”来保存和恢复“HTTP 历史记录”标签的历史记录 |
| 📨 **请求/响应视图** | 统一 Repeater 风格的分割窗格,显示请求和响应并排 |
| 📝 **自动保存笔记** | 每个存储的请求都有一个专门的笔记标签,您在键入时自动保存您的笔记 |
| 🎨 **现代深色 UI** | 受 FlatLaf 启发的定制深色主题,具有自定义 SVG 风格矢量图标和流畅的装饰 |
| 📤 **导出** | 将一个集合或所有集合导出到 JSON(包括响应的完整层次结构) |
| 📥 **导入** | 导入之前导出的 JSON 文件以恢复完整的文件夹结构 |
| 🔁 **Burp 集成** | 将存储的请求发送到 **Repeater**、**Intruder**、**Comparer** 或 **Scanner** |
| 🛡️ **会话持久性** | 数据存储在本地 SQLite 数据库(`~/.requestjar/`)中,因此当 Burp 关闭时您永远不会丢失工作(非常适合社区版用户) |
| 🗄️ **本地 SQLite 数据库** | 所有数据都保持本地化——没有外部连接,参数化查询以提高安全性 |
## 🚀 安装(推荐——预构建 JAR)
无需构建工具。
1. 前往 [**发布**](../../releases) 页面并下载 **`RequestJar-2.1.0.jar`**。
2. 打开 **Burp Suite**。
3. 导航到 **扩展** → **已安装** → **添加**。
4. 将 **扩展类型** 设置为 `Java`。
5. 点击 **选择文件** 并选择下载的 `RequestJar-2.1.0.jar`。
6. 点击 **下一步** — **RequestJar** 标签将出现在 Burp 的标签栏中。
## 📖 使用方法
### 保存请求
1. 在任何 Burp 标签(代理、Repeater 等)中,**右键单击** 请求。
2. 选择 **发送到 RequestJar**。
3. 在打开的对话框中:
- 选择一个现有集合或子文件夹,**或**
- 点击 **📂 新集合** 创建一个新的,**或**
- 选择一个集合并点击 **📁 新子文件夹** 在其中添加子文件夹。
4. 点击 **💾 保存到此处**。

### 管理集合
| 操作 | 如何 |
|---|---|
| 新集合 | 工具栏 → **📂 新集合** |
| 新子文件夹 | 在树中右键单击集合 → **📁 新子文件夹** |
| 重命名 | 右键单击 → **✏️ 重命名** |
| 删除 | 右键单击 → **🗑 删除**(级联到所有子文件夹和请求) |
| 刷新 | 工具栏 → **🔄 刷新** |
### 将请求发送到 Burp 工具
1. 在左侧面板中选择一个文件夹以加载其请求。
2. 在表格中单击一个请求以选择它。
3. 使用表格下方的按钮(或右键单击):
- **发送到 Repeater** — 在 Repeater 中打开,具有正确的宿主/端口/HTTPS
- **发送到 Intruder** — 用于模糊测试
- **发送到 Comparer** — 并排比较
- **发送到 Scanner** — 活动扫描 *(仅限 Burp Pro)*
### 导出和导入
**导出所选集合:**
- 在左侧面板中选择一个集合 → 工具栏 → **📤 导出**
**导出所有集合:**
- 工具栏 → **🗂 导出所有集合**
**导入:**
- 工具栏 → **📥 导入** → 选择之前导出的 `.json` 文件
- 恢复完整的文件夹层次结构、所有请求及其响应
## 🗂 项目结构
```
Request-Jar/
├── pom.xml
└── src/main/java/com/requestjar/
├── RequestJarExtension.java # Entry point, context menu, shutdown hook
├── database/
│ ├── DatabaseManager.java # Thread-safe SQLite CRUD + schema migration
│ ├── Request.java # Request model (incl. host/port/protocol/response/notes)
│ └── Folder.java # Folder model
├── gui/
│ ├── RequestJarTab.java # Main UI tab, collection tree, proxy sync, search
│ ├── RequestJarTheme.java # Modern dark theme config & custom SVG-style vector icons
│ ├── RequestViewerPanel.java # Request table + split req/res view + auto-saving notes
│ ├── FolderSelectionDialog.java # Reusable folder picker with search (save, move, copy)
│ ├── ExportDialog.java # JSON export (full hierarchy + responses)
│ └── ImportDialog.java # JSON import with security limits
└── utils/
└── BurpIntegration.java # Repeater / Intruder / Comparer / Scanner API
```
## 🤝 贡献
请随意为此开源项目做出贡献。请确保遵循安全最佳实践和编码标准。
## 🔨 从源码构建
只有当您想做出贡献或修改扩展时才需要。
### 先决条件
- Java 15+
- Maven 3.6+
- Burp Suite JAR(用于 API — 作为 `scope: provided` 提供)
### 步骤
```
# 1. Clone
git clone https://github.com/sahilvinodMhatre/RequestJar.git
cd Request-Jar
# 2. Install the Burp extender API to local Maven repo
# (replace the path with your actual Burp Suite JAR location)
mvn install:install-file \
-Dfile="C:/Program Files/BurpSuitePro/burpsuite_community.jar" \
-DgroupId=net.burp-extender-api \
-DartifactId=burp-extender-api \
-Dversion=2026 \
-Dpackaging=jar
# 3. Build
mvn clean package
# Output: target/RequestJar-X.0.0.jar
```
## 📄 许可证
本项目采用 **GNU 通用公共许可证 v3.0** 许可。请参阅 [LICENSE](LICENSE) 文件以获取全文。
标签:Burp Suite, HTTP请求, Java开发, JS文件枚举, Linux取证, SQLite数据库, UI设计, 代理历史, 会话持久化, 内核监控, 域名枚举, 扩展插件, 搜索过滤, 数据备份, 数据导出导入, 数据恢复, 暗黑主题, 社区版, 网络抓包, 自动化笔记, 请求响应查看, 请求管理, 请求重放, 集合管理, 集成工具