# RustyMitm **Repository Path**: cola9104/RustyMitm ## Basic Information - **Project Name**: RustyMitm - **Description**: rust网络安全代理和扫描工具 - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-29 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RustyMitm - 跨平台安全测试工具 基于 Rust + Dioxus + gRPC 的跨平台安全测试工具平台。 ## 🎯 特性 - **全平台 UI 统一**:Desktop、CLI、Web 全部使用 Dioxus 0.6 - **高性能通信**:gRPC (Tonic) 实现核心服务与 UI 的通信 - **插件系统**:动态库加载,支持热重载 - **MITM 代理**:完整的 HTTP(S) 拦截和流量分析 - **漏洞扫描**:可扩展的扫描框架 - **跨平台**:Windows、Linux、macOS 全支持 ## 🏗️ 架构 ``` ┌─────────────────────────────────────────┐ │ UI 层 (Dioxus 0.6) │ │ Desktop │ CLI │ Web │ └──────────────┬──────────────────────────┘ │ gRPC ┌──────────────▼──────────────────────────┐ │ 核心守护进程 (Core Service) │ │ - MITM 代理 │ │ - 插件系统 │ │ - 扫描引擎 │ │ - 数据库 │ └─────────────────────────────────────────┘ ``` ## 📦 项目结构 ``` RustyMitm/ ├── crates/ # 核心库 │ ├── core-service/ # 核心守护进程 (gRPC 服务) │ ├── core-client/ # gRPC 客户端库 │ ├── mitm-core/ # MITM 代理核心 │ ├── plugin-system/ # 插件系统 │ ├── database/ # 数据库层 │ ├── security-framework/ # 安全框架 │ └── cross-platform/ # 跨平台适配 │ ├── apps/ # UI 应用 │ ├── desktop/ # 桌面应用 (Dioxus Desktop) │ ├── cli/ # CLI 应用 (Dioxus CLI) │ └── web/ # Web 应用 (Dioxus Web) │ ├── plugins/ # 插件目录 │ ├── vuln-scanner/ # 漏洞扫描插件 │ └── js-analyzer/ # JS 分析插件 │ └── proto/ # gRPC 协议定义 └── rustymitm.proto ``` ## 🚀 快速开始 ### 1. 构建项目 ```bash # 构建所有组件 cargo build --release # 构建核心服务 cargo build -p rustymitm-core-service --release # 构建 Desktop 应用 cargo build -p rustymitm-desktop --release # 构建 CLI 应用 cargo build -p rustymitm-cli --release # 构建 Web 应用 cargo build -p rustymitm-web --release ``` ### 2. 运行核心服务 ```bash cargo run -p rustymitm-core-service ``` 核心服务将在 `http://[::1]:50051` 启动 gRPC 服务。 ### 3. 运行 UI 应用 ```bash # 运行 Desktop 应用 cargo run -p rustymitm-desktop # 运行 CLI 应用 cargo run -p rustymitm-cli # 运行 Web 应用 (需要 trunk) trunk serve apps/web/index.html ``` ## 🔌 插件开发 ### 创建新插件 1. 在 `plugins/` 目录下创建新的 crate 2. 实现 `Plugin` trait 3. 导出 `_create_plugin` 函数 ```rust use rustymitm_plugin_system::{Plugin, PluginMetadata}; pub struct MyPlugin; #[async_trait] impl Plugin for MyPlugin { fn metadata(&self) -> PluginMetadata { PluginMetadata { name: "my-plugin".to_string(), version: "0.1.0".to_string(), author: "Your Name".to_string(), description: "My Plugin".to_string(), } } } #[no_mangle] pub extern "C" fn _create_plugin() -> Box { Box::new(MyPlugin) } ``` ## 📊 gRPC API 核心服务提供以下 gRPC 服务: - **ProxyService**: 代理控制(启动、停止、状态) - **TrafficService**: 流量管理(查询、订阅) - **PluginService**: 插件管理(加载、卸载、配置) - **ScanService**: 漏洞扫描(启动、查询、订阅) 详细 API 定义见 `proto/rustymitm.proto`。 ## 🛠️ 技术栈 | 组件 | 技术 | 版本 | |------|------|------| | UI 框架 | Dioxus | 0.6 | | gRPC | Tonic + Prost | 0.12 + 0.13 | | 异步运行时 | Tokio | 1.x | | 数据库 | SeaORM + SQLite | 0.12 | | HTTP | Hyper | 1.x | | TLS | Rustls | 0.23 | ## 📝 开发状态 - [x] 项目框架搭建 - [x] gRPC 协议定义 - [x] 核心服务框架 - [x] UI 应用基础 - [ ] MITM 代理实现 - [ ] 插件系统完善 - [ ] 漏洞扫描实现 - [ ] 数据库实现 ## 📄 License MIT