air —— moonair 的 moonx 命令面:wget 风格断电续传下载 + aria2 兼容 JSON-RPC 服务
air [wget 旗] <url>... 下载(moonwget 引擎:断电续传,-c/-O/-q/-i/--save-session)
air --enable-rpc [旗] aria2 兼容 JSON-RPC 服务(POST /jsonrpc)
--rpc-listen-port=<n> 端口 1024-65535,缺省 6800(aria2c 1.36.0 原文)
--rpc-secret=<token> 令牌(params 首位 "token:<token>")
--rpc-listen-all 监听全部网卡(必须带 --rpc-secret;aria2c 缺省
只听回环,air 缺省同;对外必须带令牌是 moonair
更严的既有律,不放宽)
-d, --dir=<dir> 下载根目录(缺省当前目录)
--save-session=<file> 会话落档;起服时在场即自动恢复(RS2)
air --help | air --version| 包 | 职责 | 入口 |
|---|---|---|
| thy1016/air(根) | moonx 薄启动器:argv → command 库,非零码经 moonbitlang/x/sys 可移植 exit | air [旗] <url>... |
| thy1016/air/command | 两用法解析与分派;RPC 旗解析(aria2 原文对位);air_main 返退出码 | 库(parse_air_args / air_main) |
| thy1016/air/progress | 传输界面渲染件(air 自持,零依赖纯件):单行进度(百分数 + [===>] 棒 + 1024 进位尺寸 + 速率/ETA),后续帧 ESC[1A\r 光标上覆写(换行收口过 wasm 行缓冲闸),非 tty 退化周期整行;接线候 moonair 进度钩 | 库(ProgressMeter::frame) |
| driver/e2e.sh | 进程外 e2e 台:native 可执行件 + moonrun 直跑 wasm 双运行时 × 下载 / 404 退出码 / RPC 三判 | sh driver/e2e.sh |
# /tmp/air_dev/moon.work(成员写本机绝对路径)
members = [
"<air 仓路径>",
"<moonair 仓路径>",
]export MOON_WORK=/tmp/air_dev/moon.work
moon check --deny-warn --target wasm --no-mbti "$PWD"
moon test -p thy1016/air/command --target wasm
sh driver/e2e.sh| 门 | 判 |
|---|---|
| moon check --deny-warn(native 与 wasm 双目标) | 0 错 0 警 |
| moon test -p thy1016/air/command --target native|wasm | 解析罐 7/7 双腿 |
| moon test -p thy1016/air/progress --target native|wasm | 渲染罐 9/9 双腿(格式钉死 + 帧序列 + ANSI 形) |
| sh driver/e2e.sh(N=3) | 判行 AIR-E2E: PASS(8 判:两运行时 × 下载 sha / 404 退出码 8 / RPC 令牌门 + addUri → complete + sha) |
| moon info 接口件 | 随提交 |
Install
Download zipair —— moonair 的 moonx 命令面:wget 风格断电续传下载 + aria2 兼容 JSON-RPC 服务