首页
/ Marzban项目新增用户在线统计API功能解析

Marzban项目新增用户在线统计API功能解析

2025-06-11 23:04:11作者:凌朦慧Richard

Marzban项目作为一款代理管理工具,近期在其核心功能中新增了对用户在线统计的支持。这项功能主要基于Xray-core的最新更新实现,为管理员提供了更精细化的用户连接管理能力。

功能背景

Xray-core在24.11.5版本中更新了用户统计API,新增了IP计数器配置选项。这一更新为Marzban项目提供了底层支持,使其能够实现基于用户粒度的连接数统计和限制功能。

技术实现

在Marzban中启用用户在线统计功能需要三个步骤:

  1. 更新核心组件:通过marzban core-update命令确保Xray-core版本为24.11.5或更高

  2. 配置策略文件:在Xray配置文件中添加以下内容启用用户在线统计

"policy": {
  "levels": {
    "0": {
      "statsUserOnline": true
    }
  },
  "system": {}
}
  1. 查询统计信息:使用Xray API命令获取特定用户的在线状态
docker exec marzban-marzban-1 /var/lib/marzban/xray-core/xray api statsonline -s 127.0.0.1:34728 --email={id}.{email}

功能特点

  1. 用户粒度统计:可以精确到每个用户的连接状态监控
  2. IP计数支持:底层支持基于IP的连接数统计
  3. API集成:通过REST API方式提供统计数据的查询接口

应用场景

这项功能特别适用于需要限制单个用户同时连接数的场景,例如:

  • 防止账号共享
  • 控制服务器负载
  • 提供差异化服务(不同套餐用户允许不同数量的并发连接)

技术展望

虽然目前可以通过直接调用Xray API获取统计信息,但更完善的解决方案是将此功能集成到Marzban的管理界面中,包括:

  1. 可视化展示用户在线状态
  2. 设置每个邮箱的最大IP限制数
  3. 实时监控和告警功能

替代方案

在实际应用中,访问日志(access.log)分析也是一种可行的连接监控方式,特别是在需要更详细连接信息(如连接时间、流量使用等)的场景下。管理员可以根据具体需求选择合适的监控方案。

Marzban团队已在开发分支中完成了此功能的完整集成,预计将在下一版本中正式发布。这将为管理员提供更加便捷和强大的用户连接管理工具。

登录后查看全文
热门项目推荐
相关项目推荐