SIREN

服务端 REPL

通过 SIREN Server REPL 管理在线客户端、Shell 和远程命令

仅远程模式支持

服务端 REPL 是远程模式的命令行入口。启动 siren_server 后,终端中的 >>> 提示符可用于管理在线客户端、打开交互式 Shell 和执行单条远程命令。

控制主机
./siren_server -c /path/to/server_config.yaml
SIREN Server
>>> help

REPL 适合已经登录控制主机、需要在终端里直接操作的场景。需要图形化客户端列表、Project 视图、浏览器 Shell 或文件管理时,使用 Web 控制台 更方便。

客户端管理

客户端通过 TLS 加密通道连接服务端。连接成功后,服务端会为当前连接分配一个数字 Client ID,后续 REPL 命令都通过这个 ID 指定目标客户端。

Client ID 只代表当前在线连接,客户端断开并重新连接后可能变化。执行操作前先用 ls 确认目标客户端。

列出客户端

SIREN Server
>>> ls

设置备注

为客户端添加备注,便于在多客户端场景下快速识别。省略备注内容时会清空已有备注:

SIREN Server
>>> note <Client ID> [Note]

备注按客户端稳定身份保存。服务端短暂下线、升级或客户端重连后,已设置的备注会恢复;WebUI Project 归属也会按稳定身份恢复。

重连后需要重新确认 Client ID

稳定身份用于恢复备注和 Project 归属,不代表 Client ID 固定不变。交互式 Shell、端口转发和正在执行的命令属于当前连接上的活动会话,服务端重启后需要重新打开。

远程命令执行

交互式 Shell

shell 会在服务端通过 tmux 打开一个新窗口,并把目标客户端的交互式 Shell 接入该窗口。它适合连续排查、编辑文件,或运行 vimtop 这类需要完整终端交互的程序。

SIREN Server
>>> shell <Client ID>

Shell 特性

Shell 会话通过独立的 TLS 中继连接传输,不影响主控制通道。服务端需要安装 tmux,客户端也需要能回连服务端临时中继端口。如果不想依赖 tmux,可以使用 Web 控制台的 Shells 页面

退出 Shell 的方式与退出普通终端相同(输入 exit 或按 Ctrl+D),退出后自动返回 SIREN Server REPL。

单条命令执行

run 用于执行一次性命令,并把输出返回到 REPL。它适合快速查看当前用户、系统版本、进程列表等信息;需要持续交互时使用 shell

SIREN Server
>>> run <Client ID> <Command>

单条命令的返回内容有大小限制,超过约 50KB 时会被截断。长输出建议写入文件后用 WebUI Files 下载,或通过 upload 保存到 Artifacts 查看。

更多功能

On this page