伪终端管理
index.js - HTTP API文档
生成时间: 2026-01-30T10:19:52.754Z 源文件: index.js API端点数量: 8
根据提供的Node.js代码文件,我识别出以下HTTP API端点。这些端点都使用了Express.js(或类似框架)的app.all()方法定义,并共享相同的路由前缀/rtptyx/terminal/。
API 文档
路由分组:终端管理
所有API端点都位于/rtptyx/terminal/路径下,用于管理伪终端(PTY)实例。
公共中间件
所有端点都应用了以下中间件:
urlParser- URL解析器rtptyx_c.key_filter- 密钥验证中间件session_filter- 会话过滤器
密钥验证要求
所有请求都需要通过secret_key参数验证,密钥从请求数据中获取(通过str_filter.get_req_data(req))。
API端点表格
| HTTP方法 | 路由路径 | 描述 | 请求参数 | 响应格式 | 状态码 |
|---|---|---|---|---|---|
| ALL | /rtptyx/terminal/create |
创建新的终端实例 | cols (可选): 终端列数,默认80rows (可选): 终端行数,默认24secret_key: 验证密钥 |
json { "ret": boolean, "msg": "string", "termId": "string" } |
200 |
| ALL | /rtptyx/terminal/write |
向指定终端写入数据 | termId: 终端IDdata: 要写入的数据secret_key: 验证密钥 |
json { "ret": boolean, "msg": "string" } |
200 |
| ALL | /rtptyx/terminal/resize |
调整终端大小 | termId: 终端IDcols: 新的列数rows: 新的行数secret_key: 验证密钥 |
json { "ret": boolean, "msg": "string" } |
200 |
| ALL | /rtptyx/terminal/destroy |
销毁终端实例 | termId: 终端IDsecret_key: 验证密钥 |
json { "ret": boolean, "msg": "string" } |
200 |
业务数据存储格式
终端实例存储
{
"terminals": {
"rtptyx-[随机ID]": {
"pid": "number",
"shell": "string",
"cols": "number",
"rows": "number",
"cwd": "string",
"env": "object"
}
}
}
终端事件数据格式(通过WebRTC发送)
{
"channel": "rtterm",
"notify_type": "terminalId",
"data": "string | number",
"err_flag": "boolean",
"ended": "boolean",
"code": "number (仅退出事件)"
}
配置格式(rtptyx_setting.json)
{
"closed": "boolean",
"secret_key": "string"
}
注意事项
- 所有端点都使用
app.all(),因此支持所有HTTP方法(GET、POST、PUT、DELETE等) - 请求参数通过
str_filter.get_req_data(req)获取,具体获取方式取决于请求方法和内容类型 - 终端数据通过WebRTC通道实时发送给连接的客户端(
req.peer) - 终端ID格式为:
rtptyx-+ 9位随机字符串(如:rtptyx-abc123def)
元数据
{
"sourceFile": "index.js",
"generatedAt": "2026-01-30T10:19:52.754Z",
"endpointCount": 8,
"hasHttpApis": true
}
本文档由HTTP API文档生成Agent自动生成