自建科学上网:酷猫云Xray代理面板架构与部署实录

工具教程2026-08-23749 阅读
约 1,453 字 · 大约 5 分钟

技术栈总览

层级

选型

说明

Web 框架

FastAPI 0.111 + Uvicorn

异步 ASGI,单机可撑数千并发

数据库

SQLite(WAL 模式)

零运维,23 张表,内置迁移机制

ORM

SQLAlchemy 2.0 async

配合 aiosqlite 全异步读写

前端渲染

Jinja2 + HTMX + Alpine.js

服务端渲染,无需 Node.js 构建

样式

Tailwind CSS(CDN)

紫色/品红主色调,响应式布局

定时任务

APScheduler 3.10

11 个后台任务,流量采集到自动备份

远程管理

AsyncSSH + HTTP Agent

面板通过 SSH 或轻量 Agent 调度落地机

代理内核

Xray-core

脚本自动安装,支持 VLESS Reality / SS

HTTPS

Caddy(可选)

自动签发 Let's Encrypt 证书

整套系统不依赖 MySQL、Redis、Docker,也不需要 npm 构建,一台 1 核 1G 的 VPS 就能跑面板本体。前端用 HTMX 做局部刷新、Alpine.js 处理客户端交互,改完模板立刻生效,对二开非常友好。

01 登录页面

登录页 -- 浅紫背景 + 居中白色卡片,品牌色贯穿全站


部署条件与流程

服务器要求:

  • 系统:Ubuntu 20+ 或 Debian 11+(仅支持 Linux)

  • 配置:1 核 CPU / 1 GB 内存起步

  • 权限:root

  • 网络:需放行面板端口(默认 18080)和节点端口

部署耗时: 全新服务器约 10 分钟完成,含 Xray 内核 + 网络优化 + BBR + 面板。

关键步骤:

  1. 将源码上传至服务器 /root/xray-panel

  2. 执行一键部署脚本:bash install-all.sh

  3. 脚本自动完成:安装 Python 依赖、初始化数据库、创建 systemd 服务、安装 Xray 内核、开启 BBR 和网络优化

  4. 部署完成后终端打印面板地址和管理员密码,浏览器直接访问

  5. (可选)绑定域名并开启 HTTPS:bash panel_install.sh install --https your-domain.com

  6. 扩容落地机:在面板添加服务器 IP → 远端一键装 Agent → 面板下发配置

国内服务器可加 --mirror cn 参数走清华镜像加速安装。支持在已有 Xray 的机器上增量装面板,自动导入现有节点配置。

02 管理后台仪表盘

管理后台仪表盘 -- KPI 一屏总览,24h 流量曲线实时刷新


核心功能梳理

管理端

节点与协议管理 -- 支持 VLESS Reality、Shadowsocks、SOCKS5、HTTP 四类协议。节点可设流量配额、带宽限速、设备数限制、IP 白名单、流量倍率、到期时间,配置变更留档可回滚。后台每 60 秒自动 TCP 探活,异常节点触发 Telegram 告警。

多服务器纳管 -- 一个面板管所有机器。新增服务器填 IP 和 SSH 凭据即可,也可在落地机装轻量 Agent(单文件 FastAPI 微服务),面板通过 HTTP 下发 Xray 配置,比纯 SSH 更快更稳。支持远程一键网络优化和 Agent 批量升级。

商业化闭环 -- 套餐管理(按时长 / 按流量两种计费)、订单自动开通、对接易支付协议(微信 / 支付宝 / USDT)、用户钱包余额抵扣、邀请返佣机制、工单系统、公告管理,运营所需功能一应俱全。

04 节点管理

节点管理 -- 协议、流量、倍率、到期时间一目了然

用户端

用户注册后拥有独立门户:查看套餐状态和流量余额、一键获取订阅链接和二维码、按 iOS / Android / PC 平台分类展示客户端导入方式、内置图文教程、自助工单和邀请返利。订阅链接每 24 小时自动同步节点变更,用户无需手动更新。

03 用户端首页

用户端首页 -- 套餐状态、KPI 卡片、订阅链接、系统公告集中展示

监控与自动化

系统内置 11 个定时任务覆盖运营全周期:每 30 秒采集流量、每 60 秒探活节点、每分钟巡检配额和到期状态、每日自动备份数据库(保留 14 份)、每月 1 日重置流量。24 小时流量曲线用纯 SVG 绘制,不依赖任何图表库。Telegram 机器人自动推送节点掉线、配额耗尽、即将到期等告警,同一事件 12 小时内只推一次。


二开空间评估

源码状态: 全量 Python 源码交付,无编译、无混淆、无加密。46 个 Python 文件约 14000 行,48 个 HTML 模板约 5500 行,代码注释充分(中英双语),开发阶段标注清晰(Phase 1 ~ Phase 31)。

改动难度: 低。前端是纯 Jinja2 模板 + Tailwind CSS,改样式和布局不需要任何构建步骤,保存即生效。后端 FastAPI 路由拆分到 16 个模块文件,职责清晰,加接口或改逻辑都比较顺畅。数据库用 SQLite 单文件,内置了自动迁移机制(db.py 里维护了 150+ 列迁移),加字段不需要手动写 migration 脚本。

可改方向举例:

  • 换品牌:站点名称、配色、Logo 均可在后台设置页直接改,不用动代码

  • 加协议:在 xray_manager.py 的配置生成器中扩展 inbound 模板

  • 对接其他支付:payment.py 当前对接易支付协议,可参照其结构接入其他网关

  • 多语言:模板中的中文文案集中在 HTML 里,可抽取为语言包

05 套餐商店

套餐商店 -- 支持按时长和按流量两种计费,对接微信/支付宝/USDT


总结

维度

结论

能否部署

能。一键脚本 10 分钟完成,附 6 篇部署文档 + 3 篇使用手册

能否二开

能。纯 Python 源码无加密,前端无构建步骤,改完即生效

适合谁

需要搭建代理订阅服务并商业化运营的个人或小团队

技术门槛

低。懂基础 Linux 操作即可部署;二开需要 Python + HTML 基础

短板

SQLite 单文件数据库在超大用户量下可能成为瓶颈;不支持 Windows 部署

下载地址

会员免费

本资源为会员专享,登录后可下载