BLEUnlock 是一个小型菜单栏工具,可以通过 iPhone、Apple Watch 或任何其他蓝牙低功耗设备的接近程度来锁定和解锁您的 Mac。
本文档也有日语版本(日本語版はこちら)。
brew install bleunlock
从 Releases 下载 zip 文件,解压并移动到应用程序文件夹。
首次启动时,它会要求以下权限,您必 须授予:
权限 | 描述 |
---|---|
蓝牙 | 显然,需要蓝牙访问权限。选择好。 |
辅助功能 | 这是解锁锁定屏幕所必需的。点击打开系统偏好设置,点击左下角的锁图标解锁,然后打开 BLEUnlock。 |
钥匙串 | (不总是询问)如果被询问,您必须选择始终允许,因为在屏幕锁定时需要此权限。 |
通知 | (可选)BLEUnlock 在锁定屏幕时会在锁定屏幕上显示消息。这有助于了解它是否正常工作。此外,要在锁定屏幕上看到消息,您需要在通知偏好设置面板中将显示预览设置为始终。 |
注意:随着 macOS 版本的每次更新,所需的权限数量都会增加,因此如果您使用的是较旧的操作系统,可能不会被要求一个或多个权限。
然后它会要求您输入登录密码以解锁锁定屏幕。 密码将安全地存储在钥匙串中。
最后,从菜单栏图标中选择设备。 它开始扫描附近的 BLE 设备。 选择您的设备,就完成了!
选项 | 描述 |
---|---|
立即锁定屏幕 | 无论 BLE 设备是否在附近,它都会锁定屏幕;一旦 BLE 设备移开然后再次靠近,它就会解锁。这在您离开座位前确保屏幕锁定时很有用。 |
解锁 RSSI | 解锁的蓝牙信号强度。较大的值表示 BLE 设备需要更靠近 Mac 才能解锁。选择禁用以禁用解锁。 |
锁定 RSSI | 锁定的蓝牙信号强度。较小的值表示 BLE 设备需要离 Mac 更远才能锁定。选择禁用以禁用锁定。 |
锁定延迟 | 检测到 BLE 设备离开后锁定 Mac 的时间。如果 BLE 设备在 该时间内靠近,则不会发生锁定。 |
无信号超时 | 最后一次接收信号到锁定之间的时间。如果您经常遇到"信号丢失"锁定,请增加此值。 |
接近时唤醒 | 当 BLE 设备在锁定时接近,从睡眠状态唤醒显示器。 |
唤醒但不解锁 | 当显示器从睡眠状态唤醒时(无论是通过"接近时唤醒"自动唤醒还是手动唤醒),BLEUnlock 不会解锁 Mac。这允许与 macOS 内置的 Apple Watch 解锁功能兼容(可以在 BLEUnlock 唤醒屏幕后立即操作),或者如果您只是希望锁定屏幕更快出现但不想自动解锁。 |
锁定时暂停"正在播放" | 在锁定/解锁时,BLEUnlock 暂停/恢复由正在播放小部件或键盘上的 ⏯ 键控制的音乐或视频播放(包括 Apple Music、QuickTime Player 和 Spotify)。 |
使用屏幕保护程序锁定 | 如果设置此选项,BLEUnlock 将启动屏幕保护程序而不是锁定。要使此选项正常工作,您需要在安全性与隐私偏好设置面板中设置进入睡眠或开始屏幕保护程序立即要求输入密码选项。 |
锁定时关闭屏幕 | 锁定时立即关闭显示器。 |
设置密码... | 如果您更改了登录密码,请使用此选项。 |
被动模式 | 默认情况下,它会主动尝试连接到 BLE 设备并读取 RSSI。大多数情况下,建议使用默认设置,这样可以稳定工作。但是,如果您正在使用其他蓝牙设备,如键盘、鼠标、触控板或最明显的蓝牙个人热点,默认模式可能会相互干扰。2.4GHz WiFi 也可能会干扰。如果您遇到蓝牙不稳定的情况,请打开被动模式。 |
登录时启动 | 当您登录时启动 BLEUnlock。 |
设置最小 RSSI | RSSI 低于此值的设备将不会显示在设备扫描列表中。 |
如果您的 BLE 设备不是来自 Apple,BLEUnlock 可能无法找到设备名称。 在这种情况下,您的设备会显示为 UUID(长的十六进制数字和连字符)。 要识别设备,请尝试将设备靠近或远离 Mac,看看 RSSI(dB 值)是否相应变化。
如果您在列表中看不到任何设备,请尝试按照下面的说明重置蓝牙模块。
确保在系统偏好设置 > 安全性与隐私 > 隐私 > 辅助功能中打开了 BLEUnlock。 如果已经打开,请尝试关闭然后重新打开。
如果它要求访问其自己在钥匙串中的密码的权限,您必须选择始终允许,因为在屏幕锁定时需要此权限。
增加无信号超时。 或者尝试被动模式。
首先,按住 Shift + Option 键点击菜单栏或控制中心的蓝牙图标,然后点击"重置蓝牙模块"。
在 macOS 12 Monterey 中,此选项不再可用。 作为替代,在终端中输入以下命令来重置蓝牙模块:
sudo pkill bluetoothd
此命令将要求输入您的登录密码。
如果问题仍然存在,请开启"被动模式"。
与经典蓝牙不同,蓝牙低功耗设备可以使用"私有" MAC 地址。 这个私有地址可以是随机的,并且可以不时更改。
最新的智能设备,包括 iOS 和 Android,倾向于使用每 15 分钟左右就会更改的私有地址。这可能是为了防止被追踪。
另一方面,为了让 BLEUnlock 能够追踪您的设备,其 MAC 地址必须是静态的。
幸运的是,在 Apple 设备上,如果您使用与 Mac 相同的 Apple ID 登录,MAC 地址会被解析为真实(公共)地址。
对于其他设备,包括 Android,解析地址的方法尚不清楚。 如果您的非 Apple 设备随时间变更其 MAC 地址,很遗憾 BLEUnlock 无法支持它。
要检查 MAC 地址是否正确解析,请比较 BLEUnlock 的"设备"扫描列表中显示的 MAC 地址与您设备上显示的地址。
在锁定和解锁时,BLEUnlock 会运行位于以下位置的脚本:
~/Library/Application Scripts/jp.sone.BLEUnlock/event
根据事件类型,会传递不同的参数:
事件 | 参数 |
---|---|
由于 RSSI 低而被 BLEUnlock 锁定 | away |
由于无信号而被 BLEUnlock 锁定 | lost |
被 BLEUnlock 解锁 | unlocked |
手动解锁 | intruded |
注意:为了使
intruded
事件正常工作,您需要在"安全性与隐私"偏好设置中设置"睡眠或屏幕保护程序开始立即要求输入密码"。
以下是一个示例脚本,当 Mac 被手动解锁时,它会发送一条 LINE Notify 消息,并附带一张 Mac 前方人员的照片。
#!/bin/bash set -eo pipefail LINE_TOKEN=xxxxx notify() { local message=$1 local image=$2 if [ "$image" ]; then img_arg="-F imageFile=@$image" else img_arg="" fi curl -X POST -H "Authorization: Bearer $LINE_TOKEN" -F "message=$message" \ $img_arg https://notify-api.line.me/api/notify } capture() { open -Wa SnapshotUnlocker ls -t /tmp/unlock-*.jpg | head -1 } case $1 in away) notify "$(hostname -s) 因 iPhone 远离而被 BLEUnlock 锁定。" ;; lost) notify "$(hostname -s) 因信号丢失而被 BLEUnlock 锁定。" ;; unlocked) #notify "$(hostname -s) 被 BLEUnlock 解锁。" ;; intruded) notify "$(hostname -s) 被手动解锁。" $(capture) ;; esac
SnapshotUnlocker
是使用脚本编辑器创建的 .app,其脚本如下:
do shell script "/usr/local/bin/ffmpeg -f avfoundation -r 30 -i 0 -frames:v 1 -y /tmp/unlock-$(date +%Y%m%d_%H%M%S).jpg"
需要这个应用程序是因为 BLEUnlock 没有相机权限。 给予此应用权限可以解决这个问题。
年度 Apple 开发者计划费用由捐赠资助。
如果您喜欢这个应用,我将非常感谢您能通过 Buy Me a Coffee 或 PayPal Me 进行捐赠,以便我能继续维护。
图标基于从 materialdesignicons.com 下载的 SVG。 它们最初由 Google LLC 设计,并根据 Apache License 2.0 版授权。
MIT
版权所有 © 2019-2022 Takeshi Sone。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成 高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理 等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号