Skip to content
This repository was archived by the owner on Nov 15, 2025. It is now read-only.

[Feature] 考虑重构 PLS #3

@Minoricew

Description

@Minoricew

概览 / Overview

你说得对, 但目前 PLS 的实现其实一点也不优雅。

具体需求 / Feature Requirements

  1. 首先, 目前 PLS 完全没必要采用 MitmProxy 方案 + 手写 MQTT 解析。本来完全可以由 PLS 跑一个 MQTT 服务端 + 客户端, 然后修改系统 Hosts, 将 iot-broker-mis.seewo.com 指向 127.0.0.1。MQTT 服务端接收 SeewoCore 的连接, 并由 MQTT 客户端将消息转发至真正的集控 IoT Broker。客户端收到消息后, 由服务端转发给 SeewoCore。这样就能实现:
  • 主动消息下发 / 上传 (PLS 目前只能被动拦截, 如果服务端 / 客户端不触发消息事件, 就无法改动数据)
  • 更稳定的包解析 (目前 MQTT 包解析完全手写, 而且对于 TCP 中 可能出现单包拆成两段的情况 支持并不完善。(如果拆包位置刚好在固定头部, 那就炸了) 如果使用新的方案, 包解析就会直接由服务端 Handle。)
  • 更友好的性能 (参见 [Bug] PLS 性能问题 #2)
  1. 在下一个主要版本之前 (0.2.X), 将 PLS 并入 HugoAura-Aikari (HugoAura PAS 特权访问服务) 中, 作为子组件运行。届时 PLS 可能会使用 C 实现, 而非目前的 Python

Metadata

Metadata

Assignees

Labels

EnhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions