一个基于 Go 语言开发的网络应用管理系统,提供应用程序管理、API接口管理、变量管理、用户认证等功能的 Web 管理平台。
- 应用管理: 支持应用的增删改查、版本管理、状态控制、密钥管理
- API接口管理: 支持多种加密算法的API接口配置(RC4、RSA、易加密等)
- 变量管理: 独立的变量系统,支持变量的增删改查和别名管理
- 用户管理: 完整的用户认证和权限管理系统
- 系统设置: 灵活的系统配置和参数管理
- 仪表盘: 实时系统状态监控和统计数据展示
- RESTful API: 标准的 REST API 接口设计
- JWT 认证: 基于 JWT 的安全认证机制
- 多种加密算法: 支持 RC4、RSA、RSA动态、易加密等多种加密方式
- 数据库支持: 支持 MySQL 和 SQLite 数据库
- Redis 缓存: 集成 Redis 缓存提升性能(可选)
- 日志系统: 完整的日志记录和管理,支持日志切割
- 配置管理: 基于 Viper 的灵活配置系统
- 响应式设计: 支持多种设备和屏幕尺寸
- 现代化 UI: 基于 LayUI 的现代化管理界面
- 主题支持: 支持明暗主题切换
- 实时更新: 支持数据的实时刷新和更新
- 片段化加载: 采用 AJAX 片段加载提升用户体验
- 后端: Go 1.24.1
- Web 框架: Gin + 自定义路由
- 数据库: GORM + MySQL/SQLite
- 缓存: Redis(可选)
- 认证: JWT
- 日志: Logrus + Lumberjack
- 配置: Viper
- 前端: LayUI + JavaScript
- 加密: 自定义加密工具包
networkDev/
├── cmd/ # 命令行工具
│ ├── root.go # 根命令定义
│ └── server.go # 服务器启动命令
├── config/ # 配置文件和配置管理
│ ├── config.go # 配置加载和验证
│ ├── security.go # 安全配置
│ └── validator.go # 配置验证器
├── constants/ # 常量定义
│ └── status.go # 状态常量
├── controllers/ # 控制器层
│ ├── admin/ # 管理后台控制器
│ │ ├── api.go # API接口管理
│ │ ├── app.go # 应用管理
│ │ ├── auth.go # 认证管理
│ │ ├── handlers.go # 通用处理器
│ │ ├── settings.go # 系统设置
│ │ ├── user.go # 用户管理
│ │ └── variable.go # 变量管理
│ ├── base.go # 基础控制器
│ └── home/ # 前台控制器
│ └── home.go # 主页控制器
├── database/ # 数据库相关
│ ├── database.go # 数据库连接
│ ├── migrate.go # 数据库迁移
│ └── settings.go # 默认设置初始化
├── middleware/ # 中间件
│ └── logging.go # 日志中间件
├── models/ # 数据模型
│ ├── api.go # API接口模型
│ ├── app.go # 应用模型
│ ├── settings.go # 系统设置模型
│ ├── user.go # 用户模型
│ └── variable.go # 变量模型
├── server/ # 服务器路由配置
│ ├── admin.go # 管理后台路由
│ ├── home.go # 前台路由
│ └── routes.go # 路由注册
├── services/ # 业务逻辑层
│ ├── query.go # 查询服务
│ └── settings.go # 设置服务
├── utils/ # 工具函数
│ ├── encrypt/ # 加密工具包
│ │ ├── easy.go # 易加密
│ │ ├── rc4.go # RC4加密
│ │ ├── rsa.go # RSA加密
│ │ ├── rsa_dynamic.go # RSA动态加密
│ │ └── rsa_standard.go# RSA标准加密
│ ├── logger/ # 日志工具
│ │ ├── http.go # HTTP日志
│ │ ├── logger.go # 日志配置
│ │ └── server.go # 服务器日志
│ ├── timeutil/ # 时间工具
│ │ └── server.go # 服务器时间工具
│ ├── cookie.go # Cookie工具
│ ├── crypto.go # 加密工具
│ ├── csrf.go # CSRF防护
│ ├── database.go # 数据库工具
│ └── errors.go # 错误处理
└── web/ # Web 资源
├── assets/ # 资源文件
│ ├── favicon.svg # 网站图标
│ ├── logo.svg # 系统Logo
│ └── themes.json # 主题配置
├── static/ # 静态资源
│ ├── css/ # 样式文件
│ ├── js/ # JavaScript文件
│ └── lib/ # 第三方库
├── template/ # 模板文件
│ ├── admin/ # 管理后台模板
│ └── index.html # 主页模板
└── public.go # 静态资源处理
- Go 1.24.1 或更高版本
- MySQL 5.7+ 或 SQLite 3
- Redis (可选,用于缓存)
-
克隆项目
git clone <repository-url> cd networkDev
-
安装依赖
go mod download
-
配置系统
项目默认使用 SQLite 数据库,配置文件为
config.json。主要配置项:
- 数据库配置: 默认使用 SQLite,也可配置 MySQL
- 服务器配置: 默认监听
0.0.0.0:8080 - Redis配置: 可选,用于缓存(连接失败时自动禁用)
- 安全配置: JWT密钥、加密密钥等
-
编译项目
go build -o networkDev main.go
-
运行项目
# 直接运行 ./networkDev server # 或使用 go run go run main.go server # 指定端口 ./networkDev server -p 8080 # 指定主机和端口 ./networkDev server -H 0.0.0.0 -p 8080
-
访问系统
打开浏览器访问:
http://localhost:8080默认管理员账号需要通过数据库初始化创建。
主要配置文件位于 config.json,包含以下配置项:
host: 服务器监听地址,默认0.0.0.0port: 服务器端口,默认8080dist: Web 资源目录,默认./web/dev_mode: 开发模式开关
type: 数据库类型,支持sqlite或mysqlmysql: MySQL 数据库连接配置host,port,username,password,databasecharset: 字符集,默认utf8mb4max_idle_conns,max_open_conns: 连接池配置
sqlite: SQLite 数据库配置path: 数据库文件路径,默认./database.db
host: Redis 服务器地址port: Redis 端口password: Redis 密码db: Redis 数据库编号
level: 日志级别 (debug, info, warn, error)file: 日志文件路径max_size: 单个日志文件最大大小 (MB)max_backups: 保留的日志文件数量max_age: 日志文件保留天数
jwt_secret: JWT 签名密钥encryption_key: 数据加密密钥jwt_refresh: JWT 刷新时间 (小时)cookie: Cookie 安全配置secure: HTTPS 安全标志same_site: SameSite 策略domain: Cookie 域名max_age: Cookie 过期时间 (秒)
项目基于 Cobra CLI 框架,提供了丰富的命令行工具支持:
# 查看帮助信息
./networkDev --help
# 启动服务器
./networkDev server
# 指定配置文件启动
./networkDev --config ./config.json server
# 指定端口启动 (覆盖配置文件)
./networkDev server -p 8080
# 指定主机和端口 (覆盖配置文件)
./networkDev server -H 0.0.0.0 -p 8080
# 使用 go run 方式
go run main.go server
go run main.go --config ./config.json server--config: 指定配置文件路径,默认为./config.json-H, --host: 服务器监听地址,覆盖配置文件设置-p, --port: 服务器监听端口,覆盖配置文件设置
POST /admin/api/auth/login- 用户登录POST /admin/api/auth/logout- 用户登出GET /admin/api/auth/captcha- 获取验证码
GET /admin/api/apps/list- 获取应用列表(完整信息,支持分页)GET /admin/api/apps/simple- 获取应用列表(简化信息,仅包含uuid和name)POST /admin/api/apps/create- 创建应用POST /admin/api/apps/update- 更新应用POST /admin/api/apps/delete- 删除应用POST /admin/api/apps/batch_delete- 批量删除应用POST /admin/api/apps/batch_update_status- 批量更新应用状态POST /admin/api/apps/update_status- 更新应用状态POST /admin/api/apps/reset_secret- 重置应用密钥GET /admin/api/apps/get_app_data- 获取应用数据POST /admin/api/apps/update_app_data- 更新应用数据GET /admin/api/apps/get_announcement- 获取应用公告POST /admin/api/apps/update_announcement- 更新应用公告GET /admin/api/apps/get_bind_config- 获取绑定配置POST /admin/api/apps/update_bind_config- 更新绑定配置GET /admin/api/apps/get_register_config- 获取注册配置POST /admin/api/apps/update_register_config- 更新注册配置
GET /admin/api/apis/list- 获取API接口列表POST /admin/api/apis/update- 更新API接口配置GET /admin/api/apis/types- 获取API类型列表POST /admin/api/apis/generate_keys- 生成加密密钥对
GET /admin/variable/list- 获取变量列表POST /admin/variable/create- 创建变量POST /admin/variable/update- 更新变量POST /admin/variable/delete- 删除变量POST /admin/variable/batch_delete- 批量删除变量
GET /admin/api/user/profile- 获取用户资料POST /admin/api/user/profile/update- 更新用户资料POST /admin/api/user/password- 修改密码
GET /admin/api/settings- 获取系统设置POST /admin/api/settings/update- 更新系统设置GET /admin/api/system/info- 获取系统信息GET /admin/api/dashboard/stats- 获取仪表盘统计数据
- 遵循 Go 官方代码规范
- 使用 gofmt 格式化代码
- 添加必要的注释和文档
- 遵循 RESTful API 设计原则
项目使用 GORM 自动迁移功能,启动时会自动创建和更新数据库表结构。
项目集成了完整的日志系统,支持:
- 不同级别的日志记录
- HTTP 请求日志
- 服务器状态日志
- 自定义日志格式
# 构建镜像
docker build -t networkdev .
# 运行容器
docker run -d -p 8080:8080 networkdev-
编译生产版本
go build -o networkdev main.go
-
配置生产环境配置文件
-
使用进程管理工具(如 systemd)管理服务
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 发送邮件
- 创建 Pull Request
- 基础架构: 完整的 MVC 架构,支持模块化开发
- 用户认证: JWT 认证系统,支持登录/登出/验证码
- 应用管理: 完整的应用 CRUD 操作,支持配置管理
- API接口管理: 支持多种加密算法的接口配置
- 变量管理: 独立的变量系统,支持别名管理
- 系统设置: 灵活的配置管理系统
- 仪表盘: 实时系统监控和统计
- 日志系统: 完整的日志记录和切割功能
- 数据库: 支持 SQLite 和 MySQL,自动迁移
- 前端界面: 基于 LayUI 的现代化管理界面
- 用户权限系统: 多角色权限管理
- API 文档: 自动生成 API 文档
- 数据导入导出: 支持配置和数据的导入导出
- 监控告警: 系统状态监控和告警功能
- 插件系统: 支持第三方插件扩展
- Docker 支持: 容器化部署
- 集群支持: 多节点部署和负载均衡
- WebSocket: 实时通信功能
- 国际化: 多语言支持
- 移动端适配: 响应式设计优化
- ✅ 重构变量管理系统,移除应用依赖
- ✅ 完善 API 接口管理功能
- ✅ 优化前端用户体验
- ✅ 增强日志系统功能
- 🔄 开发用户权限管理
- ✅ 实现应用管理完整功能
- ✅ 添加 API 接口管理
- ✅ 集成多种加密算法
- ✅ 完善系统设置功能
- ✅ 项目基础架构搭建
- ✅ 用户认证系统
- ✅ 基础管理后台界面
- ✅ 数据库设计和迁移
注意: 本项目仍在积极开发中,功能和 API 可能会发生变化。建议在生产环境使用前进行充分测试。