同步部署脚本智能体的收尾改动 + 恢复被误删的文件

== 部署脚本（另一个智能体的收尾）==

* deploy.sh 默认两个隧道 unit 都 enable：
    主 lanremote-tunnel      quic  + 8 条 + --metrics :20241
    副本 lanremote-tunnel-h2 http2 + 2 条 + --metrics :20242
  --protocol 支持 both（默认）/ quic / http2，非法值退出码 2
* metrics 端口在两个 unit 里都显式钉死 ——
  实测停掉主实例再重启副实例时，副实例会抢 20241，
  于是 watchdog 和所有按端口读指标的脚本全部读错实例
* MTU/MSS 收成单一出处：net-tune.sh 唯一负责 MSS 1360 + 接口 MTU 1400，
  deploy-tune.sh 只管 keepalive + 开机加速并调用 net-tune.sh。
  这样就不存在"谁后跑谁赢"
* 按需重启：程序和 unit 都用 cmp 比对，一样就不落盘、不重启、
  不 daemon-reload（幂等重跑不再打断正在服务的连接）
* 顺手修了一个会咬人的坑：单独用 --port 9090 时原来只改 unit 不改
  config.yml，隧道会回源到 8080，现象是"隧道通了但一访问就 502"
* 域名：不传 --hostname 且 config.yml 里没有 hostname 时明确停下来
  要输入，不猜、不写 config、不启隧道

测试（三套全绿，实测数字）：
  _build/test_deploy_sh.sh        110 通过 / 0 失败（Windows 沙箱）
  _build/test_zip_deploy.sh        30 通过 / 0 失败（从发布 zip 解压再跑）
  _build/test_deploy_device.sh     39 通过 / 0 失败（真机 Debian aarch64）
真机那套桩掉了 systemctl/iptables/ip/sysctl/nmcli
（--prefix 只隔离写文件，不隔离命令副作用），
第 8 节专门验证线上零影响：relay/tunnel/h2 全 active、
MTU=1400、MSS 规则数、keepalive 测前测后完全一致。

== 恢复被误删的文件 ==

排查过程中有人用通配符清了 $env:TEMP\tmp.*，而 Git Bash 的 /tmp
正映射到那个 Windows 目录，导致两个被 git 跟踪的文件被删：
  _build/insert_stub_checks.py
  _build/inspect_pathtest.sh
已从 git 恢复。

教训：用通配符删临时文件很危险，尤其是 /tmp 在 Windows 上
映射到共享目录时。改成只删明确列出的文件名。

== 清理 ==

删掉这轮调试产生的临时输出（reg3.txt / td1.txt / td2.txt 等），
不让它们进仓库。
