📊 X-UI 监控面板

实时流量监控 · 连接明细 · 平台统计 · IP 地理位置分析
🐍 Python 3 标准库 📦 部署包 17 KB 🔄 一键安装脚本 🔐 密码保护

✨ 功能特性

📈
实时速率监控
每个节点/客户端的实时上行下载速率
🔗
连接明细
客户端 IP → 目标域名的实时连接记录
🌐
平台统计
识别 50+ 平台的访问分布(Google、YouTube、Facebook…)
👥
IP 分组与地理
按客户端 IP 分组,显示国家/省市/运营商

📦 下载部署包

文件名:xui-monitor.tar.gz | 大小:17 KB | 依赖:Python 3
⬇ 下载部署包
或使用命令行下载: wget -O xui-monitor.tar.gz http://154.201.81.164:8080/xui-monitor.tar.gz

🧩 环境要求

条件说明必需
Python 3标准库即可,无第三方依赖✅ 必需
X-UI 面板已安装并运行,提供 inbound/list API✅ 必需
xray 访问日志用于「连接明细」和「平台统计」可选
Linux 系统Ubuntu/Debian/CentOS 均可✅ 必需

📖 安装教程

方法一:一键安装(推荐)

1
上传部署包到新服务器
scp xui-monitor.tar.gz root@新服务器IP:/root/
或在服务器上直接 wget 下载
2
解压部署包
cd /root
tar xzf xui-monitor.tar.gz
cd xui-monitor-package
3
运行一键安装脚本
bash install.sh
安装脚本会依次引导你填写配置,直接回车 = 使用默认值
4
访问面板
http://新服务器IP:9090
用安装时设置的账号密码登录

方法二:手动安装

# 1. 复制文件
mkdir -p /opt/xui-monitor
cp app/* /opt/xui-monitor/

# 2. 编辑配置
vi /opt/xui-monitor/config.json

# 3. 创建 systemd 服务
cat > /etc/systemd/system/xui-monitor.service << 'SVC'
[Unit]
Description=X-UI Monitor Dashboard
After=network.target x-ui.service

[Service]
Type=simple
WorkingDirectory=/opt/xui-monitor
ExecStart=/usr/bin/python3 /opt/xui-monitor/monitor_server.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
SVC

# 4. 启动
systemctl daemon-reload
systemctl enable --now xui-monitor

⚙️ 配置说明

配置文件 config.json 各项含义:

字段说明示例
xui_baseX-UI 面板地址(含 webBasePath)http://127.0.0.1:2053/DTmf
xui_userX-UI 面板用户名admin
xui_passX-UI 面板密码password
listen_port监控面板端口9090
panel_user监控面板登录用户名admin
panel_pass监控面板登录密码password
access_logxray 访问日志路径/var/log/xray-access.log
xray_binxray 二进制路径/usr/local/x-ui/bin/xray-linux-amd64
⚠️ 重要xui_base 必须包含 X-UI 面板的 webBasePath(如果有)。 例如您的 X-UI 面板设置了 base path /DTmf/,则填 http://127.0.0.1:2053/DTmf;如果没有设置,填 http://127.0.0.1:2053

🔧 开启连接明细功能(可选)

「连接明细」和「平台统计」依赖 xray 的访问日志。若 X-UI 未开启,部署包内含 enable-access-log.md 教程。

# 快速开启(修改 X-UI 数据库)
python3 << 'EOF'
import sqlite3, json
conn = sqlite3.connect('/etc/x-ui/x-ui.db')
cur = conn.cursor()
cur.execute("SELECT value FROM settings WHERE key='xrayTemplateConfig'")
config = json.loads(cur.fetchone()[0])
config['log'] = {
    "loglevel": "warning",
    "access": "/var/log/xray-access.log",
    "error": "/var/log/xray-error.log"
}
cur.execute("UPDATE settings SET value=? WHERE key='xrayTemplateConfig'",
            (json.dumps(config, ensure_ascii=False, indent=2),))
conn.commit()
EOF

touch /var/log/xray-access.log /var/log/xray-error.log
chmod 666 /var/log/xray-access.log /var/log/xray-error.log
x-ui restart

❓ 常见问题

面板能打开但看不到节点数据?

检查 config.json 里的 xui_base 是否正确(是否包含 webBasePath),以及 X-UI 面板账号密码是否正确。

「连接明细」是空的?

xray 未开启访问日志,或 access_log 路径配置不对。参考上面的开启教程。

实时速率显示 0?

检查 xray_bin 路径和 xray_api 地址是否正确,xray 是否开启了 API(StatsService)。

登录后跳回登录页?

检查 panel_user/panel_pass,确认浏览器允许 cookie。

🛠️ 管理命令

systemctl status xui-monitor    # 查看状态
systemctl restart xui-monitor   # 重启面板
systemctl stop xui-monitor      # 停止
journalctl -u xui-monitor -f    # 实时日志