4.4 KiB
4.4 KiB
PPanel 服务端
📋 概述
PPanel 服务端是 PPanel 项目的后端组件,为 PPanel 系统提供强大的 API 和核心功能。它使用 Go 语言构建,注重性能、安全性和可扩展性。
核心特性
- 多协议支持:管理各种加密协议,包括 Shadowsocks、V2Ray、Trojan 等
- 隐私保护:不收集用户日志,确保用户隐私和安全
- 极简设计:易于使用的产品,同时保持业务逻辑的完整性
- 用户系统:完整的用户管理,包含认证和授权
- 订阅管理:处理用户订阅和服务提供
- 支付集成:支持多种支付网关
- 订单管理:处理和跟踪用户订单
- 工单系统:客户支持和问题跟踪
- 节点管理:服务器节点监控和控制
- API 框架:为前端应用提供全面的 API 接口
🚀 快速开始
前提条件
- Go 1.16+
- Docker(可选,用于容器化部署)
通过源代码运行
- 克隆仓库
git clone https://github.com/perfect-panel/server.git
cd ppanel-server
- 安装依赖
go mod download
- 生成代码
chmod +x script/generate.sh
./script/generate.sh
- 构建项目
go build -o ppanel ppanel.go
- 启动服务器
./ppanel run --config etc/ppanel.yaml
🐳 Docker 部署
- 构建 Docker 镜像
docker build -t ppanel-server .
- 运行容器
docker run -p 8080:8080 -v $(pwd)/etc/ppanel.yaml:/app/etc/ppanel.yaml ppanel-server
或使用 Docker Compose:
docker-compose up -d
📖 API 文档
PPanel 提供了全面的在线 API 文档:
- 官方 Swagger 文档:https://ppanel.dev/zh-CN/swagger/ppanel
该文档包含所有可用的 API 端点、请求/响应格式以及认证需求。
🔗 相关项目
| 项目 | 描述 | 链接 |
|---|---|---|
| PPanel Web | PPanel 的前端应用 | GitHub |
| PPanel User Web | PPanel 的用户界面 | 预览 |
| PPanel Admin Web | PPanel 的管理员界面 | 预览 |
🌐 官方网站
访问我们的官方网站获取更多信息:ppanel.dev
📁 目录结构
.
├── etc # 配置文件目录
├── cmd # 应用入口
├── queue # 队列消费服务
├── generate # 代码生成工具
├── initialize # 系统初始化配置
├── go.mod # Go 模块定义
├── internal # 内部模块
│ ├── config # 配置文件解析
│ ├── handler # HTTP 接口处理
│ ├── middleware # HTTP 中间件
│ ├── logic # 业务逻辑处理
│ ├── svc # 服务层封装
│ ├── types # 类型定义
│ └── model # 数据模型
├── scheduler # 计划任务
├── pkg # 公共工具代码
├── apis # API 定义文件
├── script # 构建脚本
└── doc # 文档
💻 开发
格式化 API 文件
goctl api format --dir api/user.api
添加新 API
- 在
apis目录下创建新的 API 定义文件 - 在
ppanel.api文件中导入新的 API 定义 - 运行生成脚本重新生成代码
./script/generate.sh
🤝 贡献
我们欢迎各种形式的贡献,无论是功能开发、错误修复还是文档改进。请查看贡献指南了解更多详情。
📄 许可证
本项目采用 GPL-3.0 许可证 授权。