Skip to content

MoonCast 0.6.0

Pre-release
Pre-release

Choose a tag to compare

历史版本 / Historical release · 2026-10-12 · 手机与电视统一版 / unified phone and TV
原 APK 版本 / Original APK version: 0.6.0-browser-preview.3 (versionCode 54); original tag: browser-v0.6.0-preview.3.
仅整理展示名称,原附件、签名和链接未更改。下载当前 MoonCast 0.7。 / Display name standardized only; original assets, signatures and links are unchanged. Download current MoonCast 0.7.

MoonCast 0.6.0-browser-preview.3 · Browser receiver / 浏览器接收

VersionCode 54 · build 7a843a1 · package com.mooncast.community.

中文

新增:安卓画面直接进入浏览器

安卓端选择「浏览器」,开始共享并确认系统录屏;在同一可信局域网的 Mac Chrome 打开临时链接,点击连接即可观看。接收端无需安装应用或注册账号。页面提供中英文、显式开启声音、适应/填充、缩放、拖动平移、重置与全屏。只支持一个观看者,停止共享后旧链接无法访问。

播放音频默认关闭,开启后也只转发 Android 和源应用允许采集的内容,不录麦克风。浏览器模式没有自动去黑边、远程反控或熄屏功能;既有电视 Auto 与 GameStream/AirPlay 保持各自路径。

这次实际验证了什么

小米平板 8(Android 17 / API 37)安装 code 54 后,实际 MediaProjection 录屏与允许采集的测试应用音频,经正式 Android HTTP/WebRTC 路径送达 macOS Chrome 154.0.8037.99:

  • H.264 解码尺寸 1280×854;三秒内解码帧数 5→84。
  • 开启声音后,48 kHz Opus 解码样本 160,320→257,280,两秒内音频能量 0.000325059→0.013733485。
  • 适应/填充期间画面继续播放。正常停止后,MediaProjection 与浏览器连接关闭,旧 URL 无法访问。
  • README 的新 GIF 是上述真实链路的页面录制,画面为专用合成测试内容;GIF/WebM 没有音轨。code 54 的浏览器页面和关于页面来自真实平板截图。

没有进行扬声器听音或音画同步测量,也未验证旋转、单应用捕获、TCL/其他电视浏览器、iPhone 镜像或任意网络兼容。 合成测试内容不等于绕过 DRM,也不是个人内容录制。独立的浏览器合成发送端另有 12 项检查,其结果不冒充安卓捕获证据。准确范围

界面与修复

  • 新的轻量协议胶囊 Tab 与适合平板的居中布局;设备、语言、关于集中到标题栏设置。
  • 关于页读取实际安装版本、versionCode 与构建标识。
  • 修复角色菜单取消、返回或重选当前角色仍拆除当前页面/发送器/接收器的问题。
  • 保留原生 WebRTC 必需的 JNI Zero/JniInit 类,防止 release 缩减移除初始化入口。
  • 浏览器发送意外退出显示失败状态,并保留有界诊断;不伪装为正常停止。

安全、下载与升级

HTML/信令使用局域网 HTTP,媒体为 WebRTC DTLS-SRTP。完整随机临时链接可访问共享会话,应保密;HTTP 信令不抵御活跃局域网攻击者。无云信令、STUN/TURN、公网穿透或多人观看,不要求安装证书或关闭浏览器安全设置。网络/IP 改变后请停止并重开。

选择安卓系统对应 ABI:

  • MoonCast-0.6.0-browser-preview.3-7a843a1-arm64-v8a.apk
  • MoonCast-0.6.0-browser-preview.3-7a843a1-armeabi-v7a.apk

两架构均完成构建、签名及通知字节核验;本次实机测试仅覆盖 ARM64,ARMv7 未进行真机运行验收。

固定社区包名/证书未变,versionCode 从 51 增至 54。证书 SHA-256:290e4372fff33c00848758b12275936900b2eccad053dc63c18622e1a1222bb2。公开测试身份用于升级连续性,不能证明发布者身份;从可信 Release 下载并核对 SHA256SUMS。旧 0.5.0 仍需一次迁移,旧 Release 保留。

源码与 SDK 边界

源码附件:MoonCast-0.6.0-browser-preview.3-1b03a08-source.zip;配套清单:MoonCast-browser-preview.3-abi-and-notices.zip。运行 APK 为 7a843a1;标签/源码快照 1b03a08 补充文档、测试与源码锁定元数据,没有重新构建 APK。 提供 MoonCast 应用源码与构建说明,WebRTC SDK 固定源码/DEPS 坐标、获取与构建映射、原始许可证。不含完整离线 SDK 依赖 checkout,预编译原生 SDK 未独立重建。 SDK 为未修改的开源 io.github.webrtc-sdk:android:144.7559.15;完整映射见 browser-release-source.md 与 native/webrtc/SOURCE_LOCK.json。应用源码包排除 MoonCast 应用签名 PKCS12;上游测试证书不等于应用签名材料。

English

New: Android to a browser

Choose Browser on Android, start sharing and approve system capture. Open the temporary link in Mac Chrome on the same trusted LAN and select Connect. No receiver app or account is needed. English/Chinese controls include explicit sound activation, Fit/Fill, zoom, drag pan, reset and fullscreen. One viewer is supported; Stop makes the old link unavailable.

Playback audio is off by default and forwards only content Android and the source app permit. Microphone recording is disabled. Browser mode does not provide automatic black-bar detection, remote input or panel-off casting; existing TV Auto, GameStream and AirPlay retain their separate paths.

What was actually validated

Code 54 was installed on a Xiaomi Pad 8 (Android 17 / API 37). Actual MediaProjection capture and permitted playback from a dedicated test app reached macOS Chrome 154.0.8037.99 through the production Android HTTP/WebRTC path:

  • H.264 decoded at 1280×854, with decoded frames 5→84 over three seconds.
  • After the sound gesture, 48 kHz Opus decoded samples rose 160,320→257,280 and audio energy 0.000325059→0.013733485 over two seconds.
  • Video continued during Fit/Fill. Normal Android Stop ended capture, closed the browser peer and made the old URL unavailable.
  • The new README GIF records that real path with labelled synthetic Android content; its GIF/WebM has no audio track. Browser and About screenshots show the actual code-54 tablet UI.

Speaker listening, A/V synchronization, rotation, single-app capture, TCL/other TV browsers, iPhone mirroring and arbitrary networks were not validated. Synthetic content does not imply DRM bypass or recording of private content. A separate synthetic browser sender passed 12 checks; that fixture is not presented as Android-capture evidence. Exact scope

UI and fixes

  • Compact protocol selector and centered tablet layout; device/language/About move into title-bar settings.
  • About reads the installed version, versionCode and build identifier.
  • Fix role-menu Cancel, Back and current-role selection tearing down the active page/sender/receiver.
  • Preserve the native WebRTC SDK's required JNI Zero/JniInit classes in shrunk release builds.
  • Show unexpected browser-host exits as failures with bounded diagnostics rather than a normal Stop.

Security, downloads and upgrades

HTML/signaling uses LAN HTTP; media uses WebRTC DTLS-SRTP. The complete random temporary link grants session access and must be kept private; HTTP signaling does not authenticate against an active LAN attacker. There is no cloud signaling, STUN/TURN, Internet traversal or multi-viewer mode. No certificate installation or browser-security override is required. Restart after an IP/network change.

Choose the APK for the Android system's ABI:

  • MoonCast-0.6.0-browser-preview.3-7a843a1-arm64-v8a.apk
  • MoonCast-0.6.0-browser-preview.3-7a843a1-armeabi-v7a.apk

Both ABI packages passed build, signature and notice-byte checks. Physical-device evidence in this release is ARM64 only; ARMv7 was not run on a physical device.

The fixed community package/certificate is unchanged; versionCode increases from 51 to 54. Certificate SHA-256: 290e4372fff33c00848758b12275936900b2eccad053dc63c18622e1a1222bb2. This public test identity provides update continuity, not publisher authentication. Download from the trusted Release and verify SHA256SUMS. Historical 0.5.0 still requires a one-time migration; older releases remain available.

Source and SDK limits

Source asset: MoonCast-0.6.0-browser-preview.3-1b03a08-source.zip; companion: MoonCast-browser-preview.3-abi-and-notices.zip. Runtime APKs are build 7a843a1; tag/source snapshot 1b03a08 adds documentation, tests and source-lock metadata without rebuilding the APKs. The release supplies MoonCast application source/build instructions, pinned WebRTC SDK source/DEPS coordinates, fetch/build mappings and original notices. It excludes the full offline SDK dependency checkout; the prebuilt native SDK has not been independently rebuilt. The unmodified SDK is open-source io.github.webrtc-sdk:android:144.7559.15. See browser-release-source.md and native/webrtc/SOURCE_LOCK.json. The application source archive excludes the MoonCast app-signing PKCS12 fixture; upstream test certificates are distinct from app signing material.