server/readme_zh.md

4.4 KiB
Raw Blame History

PPanel 服务端

License Go Version Docker

PPanel 是一个纯净、专业、完美的开源代理面板工具,旨在成为您学习和实际使用的理想选择。

English | 中文 | 报告问题 | 功能请求

📋 概述

PPanel 服务端是 PPanel 项目的后端组件,为 PPanel 系统提供强大的 API 和核心功能。它使用 Go 语言构建,注重性能、安全性和可扩展性。

核心特性

  • 多协议支持:管理各种加密协议,包括 Shadowsocks、V2Ray、Trojan 等
  • 隐私保护:不收集用户日志,确保用户隐私和安全
  • 极简设计:易于使用的产品,同时保持业务逻辑的完整性
  • 用户系统:完整的用户管理,包含认证和授权
  • 订阅管理:处理用户订阅和服务提供
  • 支付集成:支持多种支付网关
  • 订单管理:处理和跟踪用户订单
  • 工单系统:客户支持和问题跟踪
  • 节点管理:服务器节点监控和控制
  • API 框架:为前端应用提供全面的 API 接口

🚀 快速开始

前提条件

  • Go 1.16+
  • Docker可选用于容器化部署

通过源代码运行

  1. 克隆仓库
git clone https://github.com/perfect-panel/server.git
cd ppanel-server
  1. 安装依赖
go mod download
  1. 生成代码
chmod +x script/generate.sh
./script/generate.sh
  1. 构建项目
go build -o ppanel ppanel.go
  1. 启动服务器
./ppanel run --config etc/ppanel.yaml

🐳 Docker 部署

  1. 构建 Docker 镜像
docker build -t ppanel-server .
  1. 运行容器
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 文档:

该文档包含所有可用的 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

  1. apis 目录下创建新的 API 定义文件
  2. ppanel.api 文件中导入新的 API 定义
  3. 运行生成脚本重新生成代码
./script/generate.sh

🤝 贡献

我们欢迎各种形式的贡献,无论是功能开发、错误修复还是文档改进。请查看贡献指南了解更多详情。

📄 许可证

本项目采用 GPL-3.0 许可证 授权。