Overview
dsh-plugin-mesh
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
1. **同 thread 复用会话,但跨 thread 不复用**:同一 `thread` 的后续消息会注入 同一个会话;没带 `thread` 的任务仍然每次新建。(早于 2026-09 的版本无此复用, 每条消息都新建会话。) 2. **去重只在进程生命周期内**(内存),重启后同 id 会重复入箱。 3. **没有离线排队**:对端离线时 `mesh_run` 直接失败,不暂存重投。 (要这个能力可以用工作区里的 `lanmsg.py`。) 4. **同机多实例**:第二个实例端口被占会退回随机端口,主动扫描扫不到它(组播仍能发现)。 真要同机多实例,给它们配不同 `port` 和对方的 `scanPorts`。 5. **`sidebar.panellist` 槽位官方插件没人用过**(翻遍 58 个客户端 bundle,只有官方侧栏 自己声明它)。我按源码契约接的,实测注册和渲染都正常,但不如 `sidebar.footer.action` 那样有第三方先例。 6. **Android 上 sidecar 需要专用资产,且下载源仍是拦路虎**:`detectTarget()` 现在把 `android` 映射到 `android` 资产(PIE + `/system/bin/linker64`,见上文 Termux 的坑)。 原先那份全静态 `linux/arm64` 在真机上 exec 会被 bionic 拒掉(`has unexpected e_type: 2`), 所以**老版本插件 + 新 sidecar** 或**新插件 + 老 sidecar** 都不行,两边要一起升。 剩下的真正拦路虎是**下载源**:实测那台 Android 上 ghfast.top / gh-proxy.com / ghproxy.net / github.com 全部不通,只能靠同网段的镜子(见下一节)。装好之后 sidecar 本身可以正常跑。 **平台不支持不该拖垮页面**:`binaryInfo()` 只返回 `{installed:false, error}` 从不抛异常, `TsnetNode.status()` 外再兜一层 try/catch,`/mesh/api/state` 在 Android 上仍为 `ok:true`。 ### 逃生通道:用同网段的机器当 sidecar 镜子 当一台机器的所有下载源都不通(被墙、DNS 污染、无外网)时,把已经拿到资产的机器 当镜子即可 —— 校验和钉在 `checksums.js` 里,明文 http 改不了内容: ```bash
