sudo-su-ayan-ali/BurpTUI
GitHub: sudo-su-ayan-ali/BurpTUI
BurpTUI 是一款完全用 C++ 构建的轻量级终端 HTTP/HTTPS 拦截代理,让用户无需 GUI 即可在终端中拦截、检查、修改和重放 Web 流量。
Stars: 0 | Forks: 0
# BurpTUI:基于终端的拦截代理
## 1. 项目简介
BurpTUI 是一款受 Burp Suite 启发的轻量级、极速、基于终端的 HTTP/HTTPS 拦截代理。它完全使用现代 C++ (C++17/20) 构建,允许安全专业人员、开发者和学生直接在终端中拦截、检查、修改和重放 Web 流量,而无需依赖庞大的 GUI。
## 2. 架构概述
BurpTUI 采用了高并发的、基于组件的架构:
- **TUI 层 (FTXUI):** 在主线程上运行的响应式终端界面。
- **网络引擎 (Boost.Asio):** 在后台线程处理数以千计的异步 TCP 和 TLS 连接。
- **加密引擎 (OpenSSL):** 动态生成基于主机的 X.509 证书,以中间人(MITM)方式处理 HTTPS 流量。
- **HTTP 解析器 (llhttp):** 对原始 HTTP 流进行零拷贝、高性能解析。
- **存储层 (SQLite3):** 使用预写式日志(WAL)在本地持久化流量历史记录,实现无锁并发访问。
- **事件总线:** 线程安全的 MPSC 队列,安全地将网络事件传递至 UI 线程。
## 3. 前置软件
在构建之前,请确保您的开发环境满足以下要求:
- **编译器:** GCC 10+、Clang 11+ 或 MSVC 19.29+(必须支持 C++20)。
- **构建系统:** CMake(v3.20 或更高版本)。
- **包管理器:** `vcpkg`(用于获取 Boost、OpenSSL、FTXUI、SQLite 和 llhttp)。
## 4. 构建命令
BurpTUI 结合使用 CMake 和 `vcpkg` 以实现无缝的依赖管理。
```
# 克隆仓库
git clone https://github.com/yourusername/BurpTUI.git
cd BurpTUI
# 通过 vcpkg 安装依赖
vcpkg install
# 配置 CMake 项目(将 VCPKG_ROOT 调整为您本地的 vcpkg 安装路径)
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
# 编译项目
cmake --build build --parallel
```
## 5. 快速入门指南
### 运行代理
在默认端口(8080)启动代理:
```
./build/burptui --port 8080
```
### HTTPS 拦截设置(首次运行)
1. 首次启动时,BurpTUI 会在 `ca/` 目录下自动生成自定义的 Root CA 证书和私钥。
2. 找到生成的证书:`ca/ca.crt`。
3. 打开您的 Web 浏览器的证书管理器,并将 `ca.crt` **导入**到“受信任的根证书颁发机构”存储区中。
4. 配置您的浏览器或操作系统,将 `localhost:8080` 用作其 HTTP 和 HTTPS 代理。
5. 现在,流量将显示在 BurpTUI 的 **History** 标签页中!
*(注意:如需卸载,只需删除 `ca/` 目录并从浏览器的信任存储区中移除该证书即可。)*
标签:Bash脚本, C++, HTTP代理, TUI, 中间人攻击, 后端开发, 安全测试工具, 数据擦除, 网络抓包