# NexControl 公开下载通道（21zhao）

自助下载（首页 `#nexcontrol` 卡片同源）：

- **Android 控制端 APK**（手机主控）
- **Mac 客户端 DMG（一装即用）** — 内嵌被控 Host + 本机管理界面
- **宣传片视频**（2026-08-09 成片，约 4′38″）+ Markdown 文字版
- **在线翻页介绍**（不是 PPT）：`/nexcontrol-story`；首页封面是宣传片播放器，角标进翻页

用户 **不需要** 再装第二个 Mac 包。公开资源**不含** PIN / access key。

## 下载状态

**公开下载当前暂停。** `1.0.859` 已撤回：官网 Android 文件是调试构建，官网 Mac 文件与当前产品源码不一致。`1.0.860` 又因产品账号 fail-closed 复核被本地淘汰；`1.0.861` 必须通过异网真机画面、输入、重连验收后才可把 `available` 改回 `true`。

以下是恢复发布后使用的稳定 URL；当前 `latest.json` 对 Mac 与 Android 均返回 `available: false`。

## 稳定 URL

| 资源 | 路径 |
|------|------|
| 版本清单 | `/assets/downloads/nexcontrol/latest.json` |
| Android latest | `/assets/downloads/nexcontrol/NexControl-android-latest.apk` |
| **Mac 客户端 latest（主推）** | `/assets/downloads/nexcontrol/NexControl-mac-latest.dmg` |
| 宣传片视频（0809） | `/assets/downloads/nexcontrol/NexControl-tutorial-latest.mp4` |
| 使用教程文字 | `/assets/downloads/nexcontrol/NexControl-tutorial-guide.md` |
| 在线翻页介绍 | `/nexcontrol-story` |

完整公网：`https://21zhao.com` + 上表路径。

## 用户最小安装（对标 ToDesk · 纯账号）

1. 被控电脑：安装 **NexControl Mac** → 启动 → 点「启动本机被控」→ **登录/注册 21zhao 账号并认领本机**（**不要 PIN**）  
2. 手机：安装 **Android 控制端** → **登录同一账号** →「我的设备」连接自己的 Mac  
3. 可选：先看首页 **宣传片** 或六页翻页 / Markdown  

> **当前状态：1.0.861 candidate_withheld**（Mac + Android 两包候选）。
> 目标旅程：装两包 → 注册/登录同一 21zhao 账号 → 手机「我的设备」连自己的 Mac（无 PIN 主路径）。
> 当前阻断：异网真机画面/输入/重连尚未完成；中枢未配置 TURN，部分对称 NAT / 蜂窝 CGNAT 可能无法建立媒体链路；Mac 仅 ad-hoc 签名，尚无 Developer ID 公证。

## 运营：发布新版本

```bash
# 1) Host 烟测必须绿
python3 remote-control/scripts/test_packaged_host_smoke.py

# 2) 构建 Host（若 dist_host 未就绪）
bash remote-control/macapp/build_host_agent.sh

# 3) 构建 Console 并默认嵌入 Host → 或使用已 stage 的 dist_unified/NexControl.app
bash remote-control/macapp/build_macapp_v2.sh

# 4) 发布统一 Mac DMG + 保留 Android
python3 remote-control/scripts/nexcontrol_download_publish.py \
  --make-mac-dmg-from-app "remote-control/macapp/dist_unified/NexControl.app" \
  --apk assets/downloads/nexcontrol/NexControl-android-latest.apk

# 5) 宣传片（工程在 remote-control/promo，主站稳定 URL 仍是 tutorial-latest）
cp remote-control/promo/deliver/NexControl_宣传片_0809_兼容投递.mp4 \
  assets/downloads/nexcontrol/NexControl-tutorial-latest.mp4
# 然后重算 latest.json 的 tutorial 字段（size / sha256 / duration_s）
```

## 清单字段

- `mac`：主推一装即用包（`role: mac_unified`，`includes_host` / `includes_console_ui`）
- `mac_host` / `mac_console`：兼容字段，通常 **alias 到同一 Mac 包**，不是第二安装要求
- `android`：手机控制端 APK
- `tutorial`：宣传片视频（现行 0809 成片）；`guide_path` 指向 Markdown 文字版
- `available: false` 表示尚未发布

## Git

- 跟踪：`latest.json`、本 README、`NexControl-tutorial-guide.md`、宣传片 `NexControl-tutorial-latest.mp4`（兼容投递约 8MB）
- 忽略：本目录下 `*.apk` / `*.dmg`（体积大，部署机磁盘保留）
