服务器管理

请输入管理凭据以继续

返回主页
服务器管理
返回主页

功能板块

系统信息
文件管理
业务状态
远程终端
FRP管理
TCP转发

服务器信息

未更新
系统
-
-
-
-
内存
-
-
存储
-
-
-
电源
-
-
IO 速率
读 -
写 -
WiFi
SSID-
IP-
频率-
信号-
实时网速
下行 -
上行 -
CPU 核心
CPU 使用统计 -
加载中...
松开鼠标上传到当前目录

业务状态

未更新
进程信息
加载中...
QF-TEK 服务
加载中...
远程终端 未连接
ChmlFrp 节点
加载中...
SakuraFrp 樱花 只读
检测中...
加载中...

TCP 转发管理

未加载
管理 tcp_mux 转发服务配置(~/install/tcp_mux/config.ini)。 保存后 mux 每 10 秒自动热加载生效。
转发协议说明(帧格式 / 帧类型 / 使用流程)
设备 FRP 公网隧道 tcp.qftek.top:32200 tcp_mux(本机监听端口) 本地服务端口
mux 对数据帧完整透传,不拆包不合并;设备与本地服务之间按帧格式通信。

① 帧格式(帧头 14 字节 + 数据)

字段长度偏移说明
帧同步字6 字节0固定 AA 55 5A A5 FF EC,连续检测到即视为帧开始
帧类型1 字节6见下方帧类型表
服务ID1 字节70~255,即本页"本地转发服务"中的 服务ID
会话ID2 字节8大端。由 mux 分配,设备需保存并回填
数据长度4 字节10大端,负载字节数
数据负载N 字节14实际业务数据

② 帧类型

值名称方向含义
0x00DATA双向业务数据帧,mux 原样转发
0x01SESS_REQ设备→mux请求分配会话ID(sid=0、无数据)
0x02SESS_RESPmux→设备返回分配到的会话ID,设备需保存
0x03HEARTBEAT设备→mux心跳包(每 60s 一次)
0x04HB_RESPmux→设备心跳响应
0x05ERRORmux→设备错误通知,data[0] 为错误码

③ 错误码(ERROR 帧 data[0])

错误码含义
0x01服务未启用(对应服务使能为"关闭")
0x02服务连接失败(本地端口未监听)
0x03服务端掉线
0x04会话ID 无效(未分配或已过期)

④ 设备端使用流程

  1. 通过 FRP 公网隧道连接 mux(如 tcp.qftek.top:32200);
  2. 发 SESS_REQ(服务ID=X),等待 SESS_RESP 拿到会话ID;
  3. 发 DATA(服务ID=X, sid, 业务数据),mux 原样转发给本地服务;
  4. 本地服务按同样格式回 DATA 帧,mux 按(服务ID, sid)路由回设备;
  5. 每 60s 发一次 HEARTBEAT 保活,超过 90s 无心跳会被踢出,需重新连接。

⑤ 设备端示例(C 伪代码)

// 1. 连接 mux(FRP 公网地址)
int fd = connect_to("tcp.qftek.top", 32200);

// 2. 请求会话:SESS_REQ(服务ID=0)
frame_build(FRAME_TYPE_SESS_REQ, 0, 0, NULL, 0, buf, sizeof(buf));
send(fd, buf, FRAME_HDR_LEN);            // 帧头 14 字节

// 3. 等待 SESS_RESP,保存返回的 sid
uint16_t my_sid = recv_sid(fd);

// 4. 发送业务数据:DATA(服务ID=0, sid=my_sid, 数据)
frame_build(FRAME_TYPE_DATA, 0, my_sid, data, len, buf, sizeof(buf));
send(fd, buf, FRAME_HDR_LEN + len);

// 5. 每 60s 心跳:HEARTBEAT
frame_build(FRAME_TYPE_HEARTBEAT, 0, 0, NULL, 0, buf, sizeof(buf));
send(fd, buf, FRAME_HDR_LEN);
本地服务收到的也是完整帧(含 14 字节帧头),回包需按同样格式构造; TCP 粘包/拆包按「同步字 + 长度字段」自动处理,检测到新同步字时上一帧未收完则丢弃上一帧。
监听中的公网端口
端口 备注 操作
加载中...
本地转发服务
服务ID 服务名称 端口 使能 操作
加载中...
输入
确认
新建服务器节点
对应 chmlfrp 目录下的子目录名
可填纯端口编号或完整启动参数,自动提取 -p 后的编号
粘贴 frpc.ini 完整内容(含 [common] 和隧道),运行后服务器会自动补充字段
编辑服务器节点
对应启动参数 -p 后的编号,多个用逗号分隔
写入 config.txt 第二行,留空则清除备注
新建隧道
编辑文件
-
1
1 行 · 0 字符