pallab-js/r-burp
GitHub: pallab-js/r-burp
一个基于 Rust 与 Tauri 的轻量级、安全桌面 HTTP 代理工具,用于拦截检查与修改 Web 流量。
Stars: 1 | Forks: 0
# r-burp
一个轻量级、安全、注重隐私的桌面 HTTP 代理工具包。
受 [Burp Suite](https://portswigger.net/burp) 和 [Caido](https://caido.io/) 启发,采用现代技术开发,满足严格的性能与安全标准。
## 功能特性
- **HTTP/HTTPS 代理** — 拦截并检查完整的 HTTP/HTTPS 流量,包括请求与响应详情
- **请求拦截器** — 实时暂停、修改并转发请求,支持简洁直观的 UI 操作
- **拦截规则** — 创建自动化规则以修改头部、正文内容和查询参数
- **HAR 导出** — 将捕获的流量导出为 HAR 文件,便于分析与共享
- **证书管理** — 生成并管理用于 HTTPS 拦截的 CA 证书
- **安全设计** — 基于 Rust 的后端,采用 Tauri 的能力安全模型
- **温暖极简 UI** — 简洁、专业的界面设计,灵感来源于 Cursor
- **跨平台支持** — 兼容 macOS、Windows 和 Linux
- **开源协议** — 采用 MIT 许可,透明且社区驱动
## 截图
## 技术栈
| 层 | 技术 |
|---|---|
| 后端 | Rust |
| 框架 | Tauri v2 |
| 前端 | Next.js 16、TypeScript、Tailwind CSS v4 |
| 设计 | 基于 OKLCH 色彩系统的温暖极简风格 |
## 快速开始
### 前置条件
- Rust 1.77.2 或更高版本
- Node.js 18 或更高版本
- Tauri CLI(`cargo install tauri-cli --version "^2"`)
### 开发
```
# 安装前端依赖
cd src && npm install
# 启动开发服务器(同时运行 Next.js + Tauri)
cargo tauri dev
```
### 构建
```
# 为当前平台构建
cargo tauri build
# 构建产物位于 src-tauri/target/release/bundle/
```
### 常用命令
```
npm run lint # Run ESLint
npm run test # Run Rust unit tests
npm run clippy # Run Rust linter
npm run audit # Run security audits (npm + cargo)
```
## 项目结构
```
r-burp/
├── src-tauri/ # Rust backend + Tauri configuration
│ ├── src/
│ │ ├── lib.rs # Tauri app entry point
│ │ ├── commands.rs # Tauri commands (backend logic)
│ │ ├── main.rs # Native app entry point
│ │ ├── proxy.rs # Proxy engine (traffic capture)
│ │ ├── server.rs # HTTP/HTTPS proxy server
│ │ ├── intercept.rs # Request interception engine
│ │ └── certs.rs # Certificate management
│ ├── capabilities/ # Tauri permission capabilities
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
├── src/ # Next.js frontend
│ ├── app/ # App router pages
│ │ ├── proxy/ # Proxy control panel
│ │ ├── interceptor/ # Request interceptor UI
│ │ ├── requests/ # Intercept rules management
│ │ └── settings/ # Certificate & app settings
│ ├── components/ # Shared UI components
│ ├── lib/ # Utilities and Tauri API layer
│ └── types/ # Shared TypeScript types
├── .github/workflows/ # CI/CD pipeline
├── CONTRIBUTING.md # Contribution guidelines
├── DESIGN.md # Design system documentation
└── LICENSE # MIT License
```
## 安全
r-burp 遵循安全最佳实践:
- **内存安全** — 全部后端代码使用 Rust 编写,杜绝内存损坏漏洞
- **基于能力的权限** — Tauri 的允许列表系统强制执行最小权限原则
- **输入验证** — 所有 Tauri 命令均对输入进行验证和清洗,并设置长度限制
- **内容安全策略** — 严格的 CSP 防止未经授权的资源加载
- **仅回环绑定** — 代理监听器默认仅绑定到 `127.0.0.1`、`localhost` 和 `::1`
- **加密密钥存储** — CA 私钥在磁盘上加密存储
- **加密指纹** — 使用 SHA-256 指纹进行证书识别
- **无网络攻击面** — 不对外暴露任何监听端口,防止远程利用
### 安全审计
对该代码库进行了全面的安全审计,关键发现与修复包括:
- 移除未维护的 `rustls-pemfile` 依赖(迁移至 `rustls-pki-types`)
- 使用 SHA-256 替代弱哈希函数生成证书指纹
- 为 CA 私钥添加加密存储
- 为所有表单字段添加输入验证与长度限制
- 限制代理绑定仅允许回环地址
- 改进盲隧道处理,增加字节计数与日志记录
## 贡献
我们欢迎贡献!请参考 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。
## 许可证
本项目采用 MIT 许可协议 — 详情见 [LICENSE](LICENSE) 文件。
标签:CA证书, Cursor设计, HAR导出, HTTPS代理, HTTP代理, MACOS, MITM, MIT许可, OKLCH, Rust, SIEM, SOC Prime, Tailwind CSS, Tauri, Tauri v2, TypeScript, 二进制发布, 前端代理, 可视化界面, 后端代理, 安全插件, 安全设计, 实时拦截, 开发工具, 开源工具, 性能优化, 抓包工具, 拦截规则, 最小化设计, 服务管理, 检测绕过, 流量拦截, 流量检查, 社区驱动, 网络安全, 网络安全, 网络流量审计, 能力安全模型, 自动化攻击, 证书管理, 请求修改, 请求暂停, 请求转发, 跨平台桌面应用, 隐私保护, 隐私保护