Display L-UI; panel binary/process l-ui, agent lui-agent. Dirs /usr/local/l-ui, /etc/l-ui, /var/log/l-ui; DB /etc/l-ui/l-ui.db (name file drives it via GetName), probe.db beside it, cert /etc/l-ui/cert, bin /usr/local/l-ui/bin. Services l-ui.service / lui-agent.service, OpenRC lui-agent, l-ui.sh, cmd/lui-agent. Env prefix XUI_ -> LUI_ (code reads new prefix only). Release assets l-ui-linux-* / lui-agent-linux-*; Gitea repo rogue/l-ui is a placeholder pending user confirmation (see selfupdate.go note). Go module path github.com/mhsanaei/3x-ui/v3 intentionally kept. Versions unchanged: panel V2.6.0 / agent A2.5.0.
5.2 KiB
L-UI
基于上游 3x-ui v3.7.0 的二次开发 fork:节点 agent 化。节点鸡不再跑完整面板,只跑一个轻量 agent(约 60MB 内存),由主控统一管理、下发 xray 配置。
本仓库托管在自建 Gitea:https://git.881218.xyz/rogue/l-ui,二进制从本仓库的 Releases 下载。不要使用上游的一键安装脚本/命令(install.sh、update.sh 等仍指向原版,会装成上游原版,与本 fork 不兼容)。
架构
- 主控:完整 L-UI 面板,唯一的配置可信源。管理节点、入站、客户端,下发完整 xray 配置(含出站、路由)到各 agent。
- Agent:跑在节点鸡上,通过注册 token 向主控注册。定时拉取主控下发的 xray 配置并应用,上报心跳和流量。节点下发仅支持 VLESS / SS2022 两类入站(本 fork 的取向)。
同一个二进制、两种角色:不带参数运行是主控面板,l-ui agent --config /etc/l-ui/agent.json 运行是 agent。
安装
二进制下载:本仓库 Releases,按架构选 l-ui-linux-amd64 或 l-ui-linux-arm64。
仓库根目录的
install-master.sh/install-agent.sh是一键脚本,下载源已迁至本仓 Gitea Releases(tagv3.7.0-agent.1),可直接使用;也可按下面步骤手动部署。
主控
mkdir -p /usr/local/l-ui/bin /etc/l-ui
# 1. 放主控二进制(Releases 下载的 l-ui-linux-<架构>)
cp l-ui-linux-amd64 /usr/local/l-ui/l-ui && chmod +x /usr/local/l-ui/l-ui
# 2. 放 xray 二进制与 geo 文件到 bin/ 子目录
# 纯控制面部署(节点全走 agent)可禁用本机 xray:不放,或放了之后 chmod -x
cp xray-linux-amd64 /usr/local/l-ui/bin/
cp geoip.dat geosite.dat /usr/local/l-ui/bin/
启动(二选一):
- Debian/Ubuntu(systemd):把仓库的
l-ui.service.debian复制为/etc/systemd/system/l-ui.service,然后systemctl daemon-reload && systemctl enable --now l-ui。 - OpenWrt(procd):用 init 脚本以
/usr/local/l-ui/l-ui为命令启动,工作目录/usr/local/l-ui。
数据库在 /etc/l-ui/l-ui.db。面板端口按设置,默认 2053,首次登录默认账号 admin / admin,请登录后立即修改。
Agent(节点鸡)
先在主控侧为该节点生成注册 token(建节点 → 用面板 API Token 签发绑定该节点的 agent token,完整步骤见 docs/AGENT.md),然后在节点鸡上:
mkdir -p /usr/local/l-ui/bin /etc/l-ui
# 1. 放同一个二进制(与主控同版本),在节点上改名为 lui-agent(与主控进程区分、避免同机覆盖)
cp l-ui-linux-amd64 /usr/local/l-ui/lui-agent && chmod +x /usr/local/l-ui/lui-agent
# 2. 放 xray 二进制与 geo 文件(agent 不负责下载,需手动放置)
cp xray-linux-amd64 /usr/local/l-ui/bin/xray && chmod +x /usr/local/l-ui/bin/xray
cp geoip.dat geosite.dat /usr/local/l-ui/bin/
# 3. 写 agent 配置
cat > /etc/l-ui/agent.json <<'EOF'
{
"master_url": "http://主控地址:2053",
"token": "<主控签发的注册 token>",
"node_name": "节点名"
}
EOF
chmod 600 /etc/l-ui/agent.json
master_url走内网用http://;走https://需可信证书(自签连不上)。- agent 另有独立的运行时配置
config-agent.json(生成于bin/);agent.json可选api_port指定 xray stats API 端口(部署口径 62790,metrics 端口为其下一位 62791)。 - 启动:Debian 把仓库的
systemd/lui-agent.service复制到/etc/systemd/system/后systemctl enable --now lui-agent;OpenRC 用仓库的openrc/lui-agent放到/etc/init.d/lui-agent。
agent 约 30 秒后拉到配置并启动 xray,节点在面板显示在线。更细的 agent 说明(出站/路由下发、验证、故障排查)见 docs/AGENT.md。
卸载
主控
# 先停服务:systemctl disable --now l-ui(或 /etc/init.d/l-ui stop)
rm -f /etc/systemd/system/l-ui.service # 或删掉对应的 procd init 脚本
rm -rf /usr/local/l-ui /etc/l-ui
Agent
# 先停服务:systemctl disable --now lui-agent(或 rc-service lui-agent stop)
rm -f /etc/systemd/system/lui-agent.service # 或 /etc/init.d/lui-agent
rm -rf /usr/local/l-ui /etc/l-ui
(/etc/l-ui 里含数据库与 token 配置,确认不再需要再删。)
使用流程
- 主控侧建节点并签发 agent 注册 token(见 docs/AGENT.md)
- 节点鸡按上面步骤部署 agent,填入主控地址和 token
- 在「入站列表」创建入站(VLESS / SS2022),「部署到」选择在线的 agent 节点
- 主控自动把完整 xray 配置下发到节点,客户端即可连接
内存占用(实测)
| 内存 | |
|---|---|
| agent + xray | 约 63MB |
| 完整 L-UI 面板 | 130–160MB |
另有路由器主控精简版构建(剥离 xray-core 库,见仓库内 PANEL-LITE-SPEC.md),面向纯控制面部署,内存显著更低。
与原版的区别
- 节点不再需要安装完整面板
- 主控是唯一可信源,节点配置全部由主控下发
- 节点在线状态由 agent 心跳维持
- 添加节点支持 Agent 类型,使用注册 token 接入
License
GPL-3.0(继承上游 3x-ui)