一个轻量、灵活、高效的服务器管理系统,保持敏捷,掌控一切。
AirOpsCat 是一个基于 Quarkus 3.24.3 构建的现代化服务器管理系统,专为代理服务提供商设计。通过 GraalVM Native Image 技术实现超快启动时间和低内存占用,提供完整的用户管理、服务器管理、节点配置、流量统计和订阅服务等功能。
- 简单小巧: 轻量级架构,快速部署
- 扩展性强: 模块化设计,易于定制
- 高效稳定: 基于 Quarkus 3.24.3 和 Java 21
- 用户友好: 现代化 Web 界面,响应式设计
- 云原生: 支持 Native Image,超快启动时间(< 0.2秒)
| 功能模块 | 主要特性 | 说明 |
|---|---|---|
| 👥 用户管理 | 多角色权限控制、用户认证、面板自助服务 | 支持管理员、合作伙伴、VIP用户三种角色 |
| 💰 账户管理 | 生命周期管理、流量统计、在线IP监控 | 流量配额管理、认证码生成、使用统计 |
| 🖥️ 服务器管理 | SSH连接、配置模板、自动化部署 | 服务器信息管理和远程操作 |
| 🌐 节点管理 | 多协议支持、部署配置、状态监控 | 支持VLESS、Shadowsocks、SOCKS协议 |
| 📱 订阅服务 | 多平台支持、动态配置、实时更新 | 适配各主流客户端的订阅生成 |
| 📊 数据统计 | 流量统计、用户监控、财务记录 | 详细的使用数据分析和报表 |
| 🔔 通知服务 | Bark推送、系统告警、用户通知 | 实时消息推送和状态提醒 |
- 框架: Quarkus 3.24.3
- 语言: Java 21
- 数据库: SQLite + JPA/Hibernate
- 安全: Quarkus Security + JPA Security
- 模板引擎: Qute
- 构建工具: Maven + GraalVM Native Image
- UI框架: Tabler UI 1.3.2
- 响应式: petite-vue 0.4.1
- 样式: Bootstrap 5 + CSS3
- 图标: Tabler Icons
admin123
- 运行环境:
- 方式一:Java 21 或更高版本(JAR 运行)
- 方式二:无需 Java 环境(Native Image 运行)
- 构建环境(仅开发时需要):
- GraalVM 21.0.6+ (Native Image 构建)
- Maven 3.6+ 或使用项目内置的 Maven Wrapper
从 GitHub Releases 下载对应平台的 native 可执行文件:
# 下载并运行 Linux 版本
wget https://github.com/fun90/AirOpsCat/releases/latest/download/airopscat-linux-amd64
chmod +x airopscat-linux-amd64
# 直接运行(使用内置配置)
./airopscat-linux-amd64
# 使用外部配置文件运行(推荐)
./airopscat-linux-amd64 -Dquarkus.config.locations=./application.propertiesNative Image 优势:
- 极快启动: < 0.2 秒启动时间
- 低内存占用: 相比 JVM 减少 70%+ 内存使用
- 无需 Java 环境: 可独立运行
- 文件大小: 约 128MB 单文件可执行程序
# 克隆项目
git clone https://github.com/fun90/AirOpsCat.git
cd AirOpsCat
# 开发模式运行(支持热重载)
./mvnw quarkus:dev
# 访问开发控制台
# http://localhost:8080/q/dev# 构建项目
./mvnw clean package
# 运行应用
java -jar target/quarkus-app/quarkus-run.jar
# 使用外部配置文件运行
java -Dquarkus.config.locations=./application.properties -jar target/quarkus-app/quarkus-run.jar需要安装 GraalVM 21 和 Native Image:
# 安装 GraalVM Native Image 组件
gu install native-image
# 构建 native 可执行文件(需要 8GB+ 内存,约 4 分钟)
./mvnw package -Pnative -DskipTests -Dquarkus.native.additional-build-args=-J-Xmx8g
# 运行(< 0.2s 启动时间)
./target/airopscat-linux-amd64应用支持内置配置和外部配置文件两种方式。外部配置文件优先级更高,推荐在生产环境使用。
外部 application.properties 文件(通过 -Dquarkus.config.locations 指定)
# 下载并部署 Native Image
wget https://github.com/fun90/AirOpsCat/releases/latest/download/airopscat-linux-amd64
chmod +x airopscat-linux-amd64
# 创建外部配置文件
cat > application.properties << EOF
quarkus.http.port=8080
airopscat.crypto.secret-key=your-production-secret-key
airopscat.subscription.url=https://your-domain.com/subscribe
airopscat.bark.url=https://api.day.app
airopscat.bark.device-key=your-device-key
EOF
# 启动应用
./airopscat-linux-amd64 -Dquarkus.config.locations=./application.properties# 创建应用目录
sudo mkdir -p /opt/airopscat
sudo cp airopscat-linux-amd64 /opt/airopscat/
sudo cp application.properties /opt/airopscat/
sudo chmod +x /opt/airopscat/airopscat-linux-amd64
# 创建 systemd 服务文件
sudo tee /etc/systemd/system/airopscat.service > /dev/null << EOF
[Unit]
Description=AirOpsCat Server Management System
After=network.target
[Service]
Type=exec
User=airopscat
Group=airopscat
WorkingDirectory=/opt/airopscat
ExecStart=/opt/airopscat/airopscat-linux-amd64 -Dquarkus.config.locations=/opt/airopscat/application.properties
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
# 创建用户和启动服务
sudo useradd -r -s /bin/false airopscat
sudo chown -R airopscat:airopscat /opt/airopscat
sudo systemctl daemon-reload
sudo systemctl enable airopscat
sudo systemctl start airopscatserver {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}我们欢迎所有形式的贡献!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- 遵循 Java 编码规范
- 使用 Lombok 简化代码
- 添加适当的注释
- 编写单元测试
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试相关
chore: 构建过程或辅助工具的变动
-
v2.0.8
- 续费自动增加流水
- 服务器过期、提醒
- 域名过期、提醒
- 服务器流量统计
-
v2.0.9
- 账户流量排序
- 账户流量:当前周期标记(创建流量调整标记、用户过期取消标记)
- 账户流量搜索:当前周期、用户
- 账户流量字段显示优化
-
v2.1.0
- 账户IP历史记录
- 账户节点列表
- 账户节点配置文件:选择节点生成配置
- 配置链接二维码
-
v2.2.0 UI
- 列表调整:隐藏ID等
- 简洁统计
- badge背景调整
-
v2.2.1 UI
- 登录页重新设计
-
v3.0.0 重构
- 清理API接口
- 清理Java代码
- 去除无用字段:服务器配置信息字段
- 简化优化代码
- 调整目录结构
-
v3.0.1
- 接口层返回参数只使用Dto
- 减少编译文件大小:简化JsonReflectionConfiguration
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- Quarkus - 云原生 Java 框架
- GraalVM - Native Image 支持
- Tabler UI - 现代化的UI组件库
- petite-vue - 轻量级Vue.js
- Qute - 现代化模板引擎
- Hibernate ORM - 对象关系映射框架
- 项目地址: https://github.com/fun90/AirOpsCat
- 问题反馈: Issues
- 讨论交流: Discussions
⭐ 如果这个项目对您有帮助,请给我们一个星标!