merge: 汇入 origin/beta 第二轮(#1048 根证书指纹核验、#1049 录音保亮屏)

- 五语 PC/手机页文案取云端指纹核验版;de/es/fr 全套补译(指纹 6 键、保亮屏 4 键、恢复 4 键、中断/离线 2 键)
- index.html:帮助块改为指纹核验流程 + 录音屏新增保亮屏开关(默认开)
- RemoteInputStatus 补 caFingerprintSha256;Linux egui 面板移植指纹显示与复制
- remote-input-audio-queue 测试取云端(#1049 音频队列改造),我方仅格式差异
This commit is contained in:
sim committed 2026-09-10 17:16:58 +08:00
commit 4ec44b2b0b
32 files changed
+2150 -182

No files matched your search

+54 -31
View File
@@ -5,42 +5,65 @@ private certificate authority (CA) on each computer and a separate server
certificate covering that computer's LAN addresses. The phone installs the
public CA certificate. The CA private key stays in the computer's user data.
## iPhone and iPad
## 首次信任前的一次性核验
1. Enable remote input on the computer. Use the address shown in settings, on
the same network as the computer. Settings also has a **Copy iPhone
certificate link** button for each address.
2. Open the address in Safari. On the initial certificate warning, check the
address against the computer, then use **Show Details → Visit This Website**
to reach your own computer's setup page. This exception is only a bootstrap
step, not the persistent trust setup.
3. Expand **First-time setup: trust this computer** and choose **iPhone:
download profile**. Alternatively, open the copied `/cert.mobileconfig` link
directly in Safari.
4. Install the downloaded profile in **Settings → General → VPN & Device
Management**.
5. In **Settings → General → About → Certificate Trust Settings**, enable full
trust for **OpenLess Remote Input CA**. Return to Safari and reload the page.
6. Enter the pairing code and allow microphone access when Safari asks.
根据 [#1037 的审核建议](https://github.com/Open-Less/openless/pull/1037#discussion_r3964815714),
在信任根证书前,通过电脑本地设置与手机系统证书详情核对身份。
Installing a profile and enabling full SSL trust are separate steps. Apple
requires the latter for profiles downloaded from a website; a desktop app
cannot silently approve it on a personal iPhone. See
[Apple's certificate trust instructions](https://support.apple.com/en-gb/102390).
This setup removes certificate warnings after trust is established; browser
microphone permissions and the pairing code remain separate controls.
电脑设置中的 **本机根证书 SHA-256** 来自正在运行的监听器所用的公开根证书,
经本地接口传给界面;Linux 原生界面也显示同一来源的完整指纹。
指纹共 64 个十六进制字符,可忽略空格、冒号和大小写,但不能只核对开头几位。
对比对象必须是将要信任的根证书,不能使用会随 IP 变化而重新签发的服务器证书。
Only install a CA from your own computer. A CA can issue certificates, so its
private key is sensitive. Remove the OpenLess profile from the phone when you
no longer use it. The certificate fingerprint in each profile identifier keeps
profiles for different computers from replacing one another.
手机端必须从**系统证书详情**取得实际证书的 SHA-256。
网页、描述文件名称、标识和描述文字都可以被替换,不能作为校验依据。
描述文件名称末尾的短指纹仅用于区分电脑,不代表已经验证身份。
本功能提供人工核验依据,不会自动确认手机是否正确核对,也不会代替系统开启信任。
## Android
### iPhone 和 iPad
Download `/cert.cer` using the **Android: download CA** link. Install it through
the system's **Install a certificate → CA certificate** settings, then return
to the browser. Menu names and browser support for user-installed CAs vary by
device. The download contains only the public root certificate.
1. 在电脑启用远程输入,保留本地设置中的完整 SHA-256。指纹不可用时停止安装。
2. 在可信网络中,用 Safari 打开电脑显示的地址或复制的证书链接。
首次 TLS 警告说明身份尚未验证;即使地址与电脑相同,也不能据此认定证书可信。
只有准备执行下面的独立核验时,才继续下载描述文件;否则使用已有的可信文件传输渠道。
3. 在“设置 → 通用 → VPN 与设备管理”打开下载的描述文件。
先检查它**只包含一张根证书**;若有额外证书、VPN 或设备管理配置,不要安装。
4. 在“更多详细信息”中打开根证书,查找系统显示的 SHA-256,
与电脑本地设置中的全部 64 个字符逐一核对。
若当前 iOS 只能在安装后显示完整详情,安装前仍需确认只有一张根证书,
且安装后先保持“完全信任”关闭,核对完毕再开启。
5. 若指纹不一致、看不全或找不到 SHA-256,停止操作,删除下载的描述文件;
已安装的则移除。不要用名称、网页上的值或配对码代替核验。
6. 只有全部一致,才到“通用 → 关于本机 → 证书信任设置”为这张根证书开启完全信任。
返回 Safari 刷新,输入配对码并允许麦克风访问。
安装描述文件和开启完全信任是两个步骤,见[苹果说明](https://support.apple.com/en-us/102390)。
不同 iOS 版本的菜单和完整指纹入口需要真机确认;无法独立查看指纹的设备不能声称通过了本流程。
根证书可签发其他证书,私钥应始终保留在自己的电脑上。不再使用远程输入时请移除手机上的根证书。
### Android
通过“安卓:下载 CA 证书”取得 `/cert.cer`,在系统证书预览中核对完整 SHA-256,
一致后再安装。部分设备安装 CA 即代表信任,因此必须在安装前完成核验。
若系统无法在信任前显示完整指纹,请停止从网页安装,改用已有的可信文件传输渠道。
菜单名称和用户 CA 支持情况因设备而异。
### 真机验收与截图
自动化测试可验证指纹来源、替换证书时的差异及生命周期,不能代替以下真机操作:
| 检查 | 需要记录的结果 |
| --- | --- |
| 首次安装 | 电脑完整指纹、手机系统完整指纹一致;描述文件只有一张根证书 |
| 信任与录音 | 核对后开启完全信任,录音能正常传到电脑 |
| 重启 | 电脑重启后指纹不变,手机无需重新安装证书,仍可录音 |
| IP 变化 | 使用新地址重新连接后指纹不变,仍可录音 |
| 替换证书 | 在独立测试环境用另一台电脑生成的同名证书或替换描述文件,系统指纹不同,用户能按引导停止安装/信任 |
记录设备型号、系统版本、测试提交号,以及每项通过或失败。
截图至少包含电脑指纹、手机系统指纹和描述文件内容;录音、重启和 IP 变化可以用简短录屏或文字结果补充。
替换测试只核对差异,不要开启对测试证书的完全信任;结束后移除测试描述文件。
Linux 原生界面的显示与录音也需要在 Linux 上实际验收。
## What OpenLess automates
+41
View File
@@ -0,0 +1,41 @@
# 远程输入:息屏与录音恢复
手机录音页新增「录音时保持亮屏」,默认开启,并在当前浏览器记住选择。只在前台录音期间申请屏幕唤醒锁,结束、取消、断线或离开页面时释放。浏览器不支持,或系统因省电等原因拒绝时,页面会提示,录音仍可使用。
```text
[ 点击开始 / 点击结束 ]
录音状态
录音时保持亮屏 [ 开 ]
息屏会结束本段录音,电脑继续处理已收到的部分。
电脑落字 [ 开 ]
```
## 息屏后会发生什么
- 自动息屏、手动锁屏、切到后台或麦克风被系统中断时,手机尽可能发送结束录音,电脑继续识别已经收到的音频。
- 如果手机来不及通知,电脑在断线时收尾;连接仍在但连续 15 秒没有有效音频时,也会结束采集并开始识别。
- 识别已经开始后,手机断线不会取消电脑上的识别与历史记录写入。主动取消、关闭远程输入、重置 PIN 仍会撤销会话。
- 回到页面后重新认证并查询上次会话,找回结果或提示到电脑历史中重试。不会自动重新打开麦克风。
这不能让浏览器在锁屏后持续采集,也不能补回尚未传到电脑的音频。电脑退出、崩溃或磁盘不可写时,不能保证自动完成识别。
## 录音与结果保留
已收到的远程音频使用现有录音目录和保留设置写入 WAV。识别失败时,音频可供现有自动重试及桌面历史重新转录使用;识别成功后,除非开启保留成功录音,否则按现有策略删除音频。文字仍按历史记录设置保留。
手机只保存上次会话 ID 和单独生成的随机恢复凭据。恢复查询要求有效配对,不提供历史列表;仅凭公开会话 ID 无法读取结果。服务内最多保留最近 64 个会话的恢复权限,最长 24 小时,取消会话、重启服务或重置 PIN 后失效。此后请在电脑历史记录中查看。
## 真机验收(待补)
记录手机型号、系统与浏览器版本、电脑平台、识别模式及测试 commit;分别检查 iPhone Safari 和 Android Chrome。
- 开关默认开启;关闭、刷新后仍关闭;录音中切换立即生效,结束后恢复系统自动息屏。
- 点按和按住模式各录音 1–2 分钟:允许自动息屏、手动锁屏、切后台后,电脑保留已收到的部分并完成识别;回到手机能看到结果。
- 识别过程中断开网络再重连;检查电脑历史以及手机找回的文字。
- 模拟识别失败,检查 WAV 保留与历史重新转录;检查保留天数和录音数量上限。
- 低电量或浏览器拒绝保持亮屏时,提示明确且能开始录音。
- 识别中主动取消或重置 PIN,确认没有迟到落字,旧恢复凭据失效。
自动化测试覆盖模拟浏览器事件、两分钟 PCM、归档与失败重试、恢复鉴权和权限撤销;这些检查不能代替手机锁屏与省电行为的真机验收。