feat: 完成 M2 mosh(LAN + tsnet 端到端验证)

- mosh(blinksh/ios C++)+protobuf-lite 交叉编译为 MoshCore.xcframework
  (CommonCrypto 后端、含 arm64 模拟器 slice;绕 autotools 用 CMake 直编 + 手写 config.h)
- tsnet 桥新增 UDP relay(StartMoshRelay:loopback↔tsnet.Dial 逐包搬运)
- MoshSession(pipe↔FILE*/pthread/SIGWINCH)+ MoshConnectScanner(TXCore,+4 单测=39)
- SSHTerminalModel 编排:SSH 引导 mosh-server→解析 MOSH CONNECT→relay→mosh 接管
- LAN 直连 + mosh-over-tsnet 均端到端验证通过,R1(tsnet UDP 数据报语义) 证伪

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
kid
2026-07-24 16:14:40 +08:00
parent aa92d0e676
commit 32520f09e0
1232 changed files with 728138 additions and 37 deletions

View File

@@ -0,0 +1,50 @@
<pkg-contents spec="1.12">
<f n="prefix" o="root" g="wheel" p="16877" pt="prefix" m="false" t="file">
<f n="local" o="root" g="wheel" p="16877">
<f n="bin" o="root" g="wheel" p="16877">
<f n="mosh" o="root" g="wheel" p="33261">
<mod>group</mod>
<mod>owner</mod>
</f>
<f n="mosh-client" o="root" g="wheel" p="33261">
<mod>group</mod>
<mod>owner</mod>
</f>
<f n="mosh-server" o="root" g="wheel" p="33261">
<mod>group</mod>
<mod>owner</mod>
</f>
<mod>group</mod>
<mod>owner</mod>
</f>
<f n="share" o="root" g="wheel" p="16877">
<f n="man" o="root" g="wheel" p="16877">
<f n="man1" o="root" g="wheel" p="16877">
<f n="mosh-client.1" o="root" g="wheel" p="33188">
<mod>group</mod>
<mod>owner</mod>
</f>
<f n="mosh-server.1" o="root" g="wheel" p="33188">
<mod>group</mod>
<mod>owner</mod>
</f>
<f n="mosh.1" o="root" g="wheel" p="33188">
<mod>group</mod>
<mod>owner</mod>
</f>
<mod>group</mod>
<mod>owner</mod>
</f>
<mod>group</mod>
<mod>owner</mod>
</f>
<mod>group</mod>
<mod>owner</mod>
</f>
<mod>group</mod>
<mod>owner</mod>
</f>
<mod>group</mod>
<mod>owner</mod>
</f>
</pkg-contents>

View File

@@ -0,0 +1,30 @@
<pkgref spec="1.12" uuid="38E2F0D0-8573-4E7B-8A50-A86056DD0EE8">
<config>
<identifier>edu.mit.mosh.mosh.pkg</identifier>
<version>$PACKAGE_VERSION</version>
<description></description>
<post-install type="none"/>
<requireAuthorization/>
<installFrom relative="true" mod="true">prefix</installFrom>
<installTo mod="true">/usr</installTo>
<flags>
<followSymbolicLinks/>
</flags>
<packageStore type="internal">
</packageStore>
<mod>installTo</mod>
<mod>relocatable</mod>
<mod>installFrom.path</mod>
<mod>identifier</mod>
<mod>parent</mod>
<mod>includeRoot</mod>
<mod>installTo.path</mod>
<mod>installFrom.isRelativeType</mod>
<mod>version</mod>
</config>
<contents>
<file-list>01prefix-contents.xml</file-list>
<filter>/\.gitignore$</filter>
<filter>/\.DS_Store$</filter>
</contents>
</pkgref>

View File

@@ -0,0 +1,32 @@
<pkmkdoc spec="1.12">
<properties>
<title>Mosh $PACKAGE_VERSION</title>
<build>Mosh.pkg</build>
<organization>edu.mit.mosh</organization>
<userSees ui="easy"/>
<min-target os="3"/>
<domain anywhere="true"/>
</properties>
<distribution>
<versions min-spec="1.000000"/>
<scripts></scripts>
</distribution>
<description>Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.</description>
<contents>
<choice title="Default" id="choice0" starts_selected="true" starts_enabled="true" starts_hidden="false">
<customLoc>/</customLoc>
<pkgref id="edu.mit.mosh.mosh.pkg"/>
</choice>
</contents>
<resources bg-scale="none" bg-align="topleft">
<locale lang="en">
<resource relative="true" mod="true" type="license">copying.rtf</resource>
<resource relative="true" mod="true" type="readme">readme.rtf</resource>
</locale>
</resources>
<flags/>
<item type="file">01prefix.xml</item>
<mod>properties.title</mod>
<mod>properties.userDomain</mod>
<mod>description</mod>
</pkmkdoc>