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, 中间人攻击, 后端开发, 安全测试工具, 数据擦除, 网络抓包