AsieduDevelopmentHub/edgegate
GitHub: AsieduDevelopmentHub/edgegate
EdgeGate 是一个基于 ESP32-C3 的 Wi-Fi 网络观测网关系统,用于在边缘侧捕获设备会话和 DNS 请求数据并集中进行实时监控与历史分析。
Stars: 0 | Forks: 0
# EdgeGate
EdgeGate 是一个基于 ESP32-C3 构建的高性能网络观测和策略网关,专为设备可见性、DNS 感知策略执行、会话智能和实时遥测而设计。
EdgeGate 将嵌入式系统工程与现代后端基础设施相结合,提供一个能够观测网络行为并通过集中控制平面提供可操作性洞察的轻量级边缘网关。
## 架构
EdgeGate 被组织为一个 monorepo,包含三个主要的系统组件。
### 固件 (`apps/firmware`)
ESP32-C3 SuperMini 边缘网关,负责:
- Wi-Fi 接入点和网关操作
- 设备会话生命周期跟踪
- DNS 观测和策略评估
- 遥测收集和事件批处理
- 与后端服务的安全通信
### 后端 (`apps/backend`)
基于 FastAPI 的控制平面,负责:
- 网关管理
- 遥测摄取
- 策略编排
- 会话分析
- PostgreSQL 持久化
- 基于 Redis 的缓存和实时协调
### Dashboard (`apps/dashboard`)
Next.js 监控界面,提供:
- 实时网关可见性
- 设备和会话监控
- 策略管理
- 历史分析
- 基于 WebSocket 的实时更新
## 文档
项目文档被组织为概念、架构和实现指南。
| 主题 | 路径 |
|---|---|
| 项目概述 | `docs/init/about.md` |
| 技术规范 | `docs/init/overview.md` |
| 系统架构 | `docs/architecture/system.md` |
| API 参考 | `docs/api/reference.md` |
| 固件设置 | `docs/firmware/setup.md` |
| Docker 部署 | `docs/deployment/docker.md` |
| 开发指南 | `docs/development/getting-started.md` |
| 测试 | `docs/development/testing.md` |
## 快速开始
### 1. 配置环境
```
cp .env.example .env
```
更新配置值:
- 数据库凭据
- Redis 连接
- 后端密钥
- 网关配置
- 开发环境设置
### 2. 运行开发环境
#### 使用 Cursor Tasks
打开命令面板:
```
Ctrl + Shift + P
```
运行:
```
Tasks: Run Task → EdgeGate: Dev Stack
```
#### 手动启动
**后端:**
```
cd apps/backend
set PYTHONPATH=.
python -m uvicorn app.main:app --reload --port 8000
```
**Dashboard:**
```
cd apps/dashboard
npm install
npm run dev
```
### 3. 使用 Docker 运行
```
npm run docker:up
```
| 服务 | 端点 |
|---|---|
| Dashboard | http://localhost |
| API | http://localhost/api |
| WebSocket | ws://localhost/ws |
### 4. 烧录固件
```
cd apps/firmware
pio run -t upload
```
更多固件说明:[`docs/firmware/setup.md`](docs/firmware/setup.md)
## 开发工作流
### 后端
```
cd apps/backend
pip install -e ".[dev]"
alembic upgrade head
uvicorn app.main:app --reload --port 8000
```
### Dashboard
```
cd apps/dashboard
npm install
npm run dev:dashboard
```
## 仓库结构
```
apps/
├── firmware/ PlatformIO firmware for ESP32-C3 gateway
├── backend/ FastAPI control plane
└── dashboard/ Next.js monitoring interface
packages/
├── shared/ Shared domain models and contracts
├── api/ API client and route definitions
└── telemetry/ Event schemas and telemetry contracts
infra/
├── docker/ Container infrastructure and reverse proxy
└── postgres/ Database initialization and provisioning
tests/
├── integration/ Cross-service integration testing
└── performance/ Performance and load testing
docs/
└── Project documentation
```
## 设计原则
EdgeGate 基于以下原则构建:
- 事件驱动的遥测
- 低延迟决策路径
- 轻量级边缘处理
- 确定性系统行为
- 数据平面和控制平面分离
- 可扩展的后端架构
- 可观测的基础设施
- 生产级可维护性
## 核心功能
- 设备会话跟踪
- DNS 请求观测
- 轻量级策略执行
- 遥测聚合
- 历史分析
- 网关编排
- 实时 Dashboard 监控
## 许可证
在 MIT 许可证下分发。有关更多信息,请参阅 [`LICENSE`](LICENSE)。
标签:AV绕过, ESP32, FastAPI, 搜索引擎查询, 测试用例, 物联网, 网络网关, 请求拦截, 逆向工具