Skip to content

Releases: rational-stars/KeyboardLock

KeyboardLock v1.6.0 —— 访客沙箱

Choose a tag to compare

@rational-stars rational-stars released this 24 Sep 03:03

KeyboardLock v1.6.0 —— 新增「访客沙箱」锁定范围

面向「我开着项目给别人调试」的场景:默认全锁,只放行你指定的那几个浏览器页面。

新增:访客沙箱

设置… ▸ 锁定范围 ▸ 选「访客沙箱」,填入要放行的网址(一行一个),再选窗口形态,然后从菜单栏进入。

  • 受控浏览器独立隔离:以独立 --user-data-dir 启动 Chrome,是独立 PID、独立 profile,读不到你的书签、插件和登录态,你原有的 Chrome 完全不受影响
  • 两种窗口形态
    • 单页 kiosk:全屏独占,最严格
    • 多页独立窗口:每个网址一个窗口,均无地址栏与标签栏,想输网址也无处下手
  • 键盘白名单放行:字符、方向键、回车、退格、Tab、空格、⌘C/V/A/X/Z/R/F、缩放、F5 —— 对方能在你的项目里正常输入和调试
  • 系统级一律拦截:⌘Tab、⌘Q、⌘空格、调度台、Ctrl+←→、强制退出全部封死
  • 鼠标按坐标放行:只有落在受控窗口矩形内的点击/滚动生效,越界操作直接吞掉
  • 越界会记账:点了允许范围外、按了被禁的键,都会记进解锁后的操作报告
  • 不铺全屏遮罩:改为挂一块可穿透的顶部浮层承载状态提示与解锁界面,不挡住要给人看的页面
  • 解锁后自动关闭受控浏览器;沙箱 profile 保留,方便重复调试免登录

v1.5.0 一并包含(该版本此前未发布 Release)

  • 提示方式收敛为两种:文字 / 自定义 HTML 页面(WKWebView 整屏渲染),保留按当前方式的全屏「测试效果」预览
  • 新增「开始记录等待」宽限期(立即 / 5 秒 / 自定义秒数)
  • 操作记录重构:不记录密码按键内容,仅统计尝试次数;无其它操作时不弹报告
  • 支持自定义单个按键快捷键(含妙控键盘 Lock 键,keyCode 110),且需点「保存」才生效
  • 新增「在线更新」:比对 GitHub Release 版本号
  • 关于面板展示开源地址、作者与头像

修复

  • Lock 键录不上:热键捕获改由全局事件 tap 进行(AppKit keyDown 收不到 power 类按键)
  • DMG 更新需重新授权:build.sh 改为优先使用本机稳定签名身份(Developer ID / Apple Development / 自签代码签名证书),无证书才回退 ad-hoc
  • build.sh:修复命令替换里 grep 无匹配时在 set -euo pipefail 下静默终止、导致 DMG 未生成的问题

已知限制

  • 访客沙箱是防误触 / 防顺手,不是防恶意:页面内的链接跳转拦不住(单页 kiosk 可大幅缓解),电源键、强制关机这类物理操作无解。若需按 URL 严格限制导航,需配合浏览器扩展
  • 本 DMG 为 ad-hoc 签名(构建机无签名证书),首次运行需在「系统设置 ▸ 隐私与安全性」点「仍要打开」,且更新替换后需重新勾选一次辅助功能 / 输入监控
  • 「辅助功能」与「输入监控」两项权限需用户首次运行时手动授予

v1.2.0

Choose a tag to compare

@rational-stars rational-stars released this 20 Sep 07:51

首个公开发行版。

功能:

  • 屏幕常亮显示,键鼠完全禁用(HID 层事件拦截,含 ⌘Tab / ⌘Q / ⌘空格 等全部按键)
  • 解锁流程:按 Esc → 输入密码 → 回车
  • Touch ID 解锁(密码兜底,可在设置关闭)
  • 快捷键自定义、提示位置/时长可配、自定义提示文案
  • 锁定期间记录所有键鼠操作,解锁后自动弹报告(无操作不弹)
  • 操作记录 + 退避冷却防暴力试密码