# SmartFlow **Repository Path**: lei_wenbin/smart-flow ## Basic Information - **Project Name**: SmartFlow - **Description**: SmartFlow是一个专注于流程自动化与管理的开源项目,提供灵活的编排工具和丰富的插件,旨在简化业务流程,提升开发效率。 - **Primary Language**: Go - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-05 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmartFlow ## 介绍 SmartFlow 是一个开源的分布式网络流量管理和自动化平台,基于 Go 语言开发。它旨在通过智能调度和管理网络资源,有效提升带宽利用效率。 本系统采用模块化设计,主要包括中心调度服务、设备代理、流量容器和节点监控等核心组件。 ## 项目架构 SmartFlow 系统由以下几个关键模块组成: - **`server`**: 中心控制服务,是整个系统的大脑。它负责: - 提供 API 接口和 Web 管理界面。 - 调度和分发流量任务。 - 管理和监控所有节点。 - **`agent`**: 部署在终端设备上的代理服务。它负责: - 执行来自 `server` 的具体指令,例如网络速度测试。 - 收集设备信息并上报。 - **`container`**: 分布式的网络流量容器。它负责: - 接收并执行 `server` 分配的流量任务。 - 作为流量处理的基本单元,实现高并发和可扩展性。 - **`monitor`**: 分布式节点监控服务。它负责: - 实时监控 `container` 节点的状态,包括系统负载、网络情况等。 - 为 `server` 的调度决策提供数据支持。 - **`script`**: 包含一系列用于测试、管理和维护系统的辅助脚本。 ## 主要技术栈 - **后端**: Go - **Web 框架**: Gin - **数据库**: Redis - **配置管理**: Viper - **日志**: Zap, Lumberjack - **任务调度**: Gocron - **IP 地理位置**: ip2region - **网络测速**: speedtest-go ## 安装与部署 > **注意**: 本项目主要为内部使用,以下为通用的部署流程。 1. **环境准备**: - 安装 Go (建议版本 1.24 或更高)。 - 安装 Redis 数据库。 2. **编译模块**: 进入每个模块目录 (`server`, `agent`, `container`, `monitor`),执行构建脚本: ```bash # 示例:构建 Linux 64位版本 ./build-linux-64.sh ``` 3. **配置服务**: - 修改各模块 `resource` 目录下的 `.yaml` 配置文件,设置数据库连接、服务端口等参数。 4. **启动服务**: - 按照 `server` -> `container` -> `monitor` 的顺序启动各个模块。 ## 使用说明 项目启动后,可通过 `server` 模块提供的 API 或 Web 界面与系统交互。 - **API**: `server` 模块的 `controller` 目录定义了所有 API 接口,例如: - `POST /sf/Task/Add`: 添加新的流量任务。 - `GET /sf/Task/List`: 查看当前任务列表。 - **Web**: 访问 `server` 服务的地址,可进入 `home.html` 页面进行可视化操作。 ## 贡献代码 我们欢迎任何形式的贡献! 1. **Fork** 本仓库。 2. 创建新的分支 (`git checkout -b dev_xxx`)。 3. 提交您的代码。 4. 创建一个 **Pull Request**。 ## 许可证 本项目采用 [GNU General Public License v3.0](LICENSE) 开源协议。 #### TODO 1. 欺诈者模式 -- fake, monitor, server 2. Cilium -- 研究 #### 172.16.212.45 FR1747H2100010A2E2 32c253d5-1303-5f1a-a0a4-e7260537493a 其他 #### 172.16.213.21 XX1501H01P50RND001 49d1a918-65b6-549b-8942-76d10e331fa9 M-STAR #### 172.16.211.104 XX1501ABCDEFG00101 e8e75c2a-5d35-5f5b-abcd-76eff24c3214 海思