V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Curtion
V2EX  ›  分享创造

[限时永久免费] 做了一个软件,让 Windows 也能像 Mac 一样,通过 Apple Watch / iPhone 靠近解锁

  •  1
     
  •   Curtion ·
    Curtion · 8 小时 20 分钟前 · 1911 次点击

    Windows自带的动态锁只能锁定, 无法解锁, 小米之前出过一个手环支持解锁,现在新系统也不能用了。

    之前在macOS上用的是bleunlock, 换Windows后没有找到类似的软件就自己做了一个。

    不需要在手机上安装软件,也无需保持蓝牙连接状态,判断低功耗蓝牙信号强度来解锁和锁定。

    软件下载地址: https://zu.3gxk.net/

    关于其它设备

    其实从原理是来说支持所有低功耗蓝牙设备, 只是我没有对 Apple Watch / iPhone 之外的其它设备进行测试, 其实如果低功耗蓝牙设备满足以下要求应该都可以用。

    1. 支持低功耗蓝牙
    2. 设备定时广播消息(苹果设备会自动广播, 部分安卓设备需要安装第三方软件来实现)
    3. 如果设备用了隐私地址, 那么还需要想办法获得 IRK 密钥

    条件还是比较多的,所以用应该是iPhone最方便的

    第 1 条附言  ·  3 小时 38 分钟前
    感谢大家的反馈, 软件内引导和文档都做得一般, 所以这里补充一下 iPhone 的配置流程, 反馈的问题都会在后续进行改进和文档补充。

    iPhone 用户只能使用软件中的手动配置,下面是整个流程:

    首先在软件设置中配置 Windows 账号和密码, 账号密码会加密存储在本地。这里的密码不能是 PIN 码,需要账号的密码, 如果登录的微软账号, 那么账号是邮箱,否则就是本地账号。

    可以手动锁屏,选择新的 Unlock 账号,输入账号密码进行测试, 如果可以成功解锁说明配置正确。

    接着:

    1. 在 Windows 设置中将电脑和手机进行配对
    2. 配对成功后, 在软件中: 设备选择->手动配置->自动获取 IRK 密钥->下拉选择设备
    3. 下拉选项中的 MAC 地址要和手机中通用->关于本机->蓝牙 保持一致
    4. 保存配置

    手机关机或者远离进行测试。

    测试没问题后可以取消手机与电脑的配对,无需保持连接状态。
    74 条回复    2025-11-12 20:49:05 +08:00
    Tink
        1
    Tink  
    PRO
       7 小时 31 分钟前
    牛!
    Eins
        2
    Eins  
       7 小时 11 分钟前
    请教,正在使用过程中直接锁频了,后续不想用这个如何把登录界面的另一个 unlock 账号给删除了
    Curtion
        3
    Curtion  
    OP
       7 小时 5 分钟前
    @Eins 直接锁屏了,可以看一下日志中的锁屏原因, 可以尝试修改设置来改善。 登录界面中的账号在卸载软件后就会被删除
    Eins
        4
    Eins  
       7 小时 4 分钟前
    @Curtion #3 解决了,谢谢
    mooyo
        5
    mooyo  
       6 小时 50 分钟前
    这个原理是感知到蓝牙后软件替你输 pin ?
    Curtion
        6
    Curtion  
    OP
       6 小时 45 分钟前   ❤️ 1
    lixiaobai913
        7
    lixiaobai913  
       6 小时 25 分钟前
    有点厉害,为啥可以跳过火绒的联网控制发送验证码登录账号,火绒默认禁止新程序联网的
    TroyChen
        8
    TroyChen  
       6 小时 10 分钟前
    有点意思,试试看
    oppressed6370
        9
    oppressed6370  
       6 小时 3 分钟前
    牛啊
    Curtion
        10
    Curtion  
    OP
       6 小时 2 分钟前
    @lixiaobai913 用 tauri 实现的,联网的进程应该是 WebView2, 估计是火绒的规则没有限制系统 WebView2
    lixiaobai913
        11
    lixiaobai913  
       5 小时 59 分钟前
    @Curtion #10 WebView2 这个放行了的,还有个问题,就是自动发现的设备太多了,我这附近有一百多个蓝牙设备,看的眼花,要是增加一个搜索 mac 地址的就更方便了
    russ44
        12
    russ44  
       5 小时 54 分钟前
    有点意思
    Curtion
        13
    Curtion  
    OP
       5 小时 53 分钟前   ❤️ 1
    @lixiaobai913 #11 好,后续加个搜素。不过可能软件内引导没有做好,iPhone 应该使用手动配置, 如果用自动配置只能生效 10 多分钟就会失效(和隐私地址有关系)。
    doudoudei
        14
    doudoudei  
       5 小时 48 分钟前
    试试看。。。。。。。
    yangzzzzzz
        15
    yangzzzzzz  
       5 小时 44 分钟前
    在 5 个人的办公室 搜到了 43 个设备,8 个 iPhone ,1 个 ipad ,没显示 watch 设备的名字
    Curtion
        16
    Curtion  
    OP
       5 小时 36 分钟前
    @yangzzzzzz iPhone/Apple Watch 得用手动配置,晚点我更新一下软件内引导
    dcdlove
        17
    dcdlove  
       5 小时 22 分钟前
    配对折腾太麻烦了,
    NUT00
        18
    NUT00  
       5 小时 21 分钟前   ❤️ 1
    希望可以提供选项,自动锁屏或者自动解锁,有时候上班摸鱼屏幕黑了也不大好,仅仅想用自动解锁功能,然后开机自启发现勾了之后没反应,启动项貌似是已经添加了
    adg325401
        19
    adg325401  
       5 小时 21 分钟前
    手动配置和自动配置都试过了,然后软件设置里也把账号密码信息配置上了。1 、远离好像没有触发锁屏。2 、然后锁屏的时候靠近也没有触发解锁的操作。是什么问题导致的。日志里也没什么信息。
    zlkent
        20
    zlkent  
    PRO
       5 小时 10 分钟前
    好东西,注册账号了,软件下载了,结果软件里面发送验证码提示发送失败?
    qwanght
        21
    qwanght  
       5 小时 5 分钟前
    @adg325401 我是手机远离电脑后触发了锁屏( windows 自带的就可以锁屏),但是回来后不会自动解锁,屏幕上多了一个这个软件开头的账号。需要填入账号和密码。
    qwanght
        22
    qwanght  
       5 小时 3 分钟前
    软件设置里的账号和密码是干什么用的?我是微软账号登陆的系统。要把账号填到这里?
    Curtion
        23
    Curtion  
    OP
       5 小时 3 分钟前
    开机自启勾选后要保存才行,这个我优化一下。 像你说的自动解锁容易冲突吧,比如手动锁定电脑很容易马上就检测到信号然后自动解锁了。
    byby
        24
    byby  
       5 小时 2 分钟前
    手动获取出来的密码是一个 xml,对吗? 我解出来是 0000
    Curtion
        25
    Curtion  
    OP
       5 小时 2 分钟前
    @NUT00 开机自启勾选后要保存才行,这个我优化一下。 像你说的自动解锁容易冲突吧,比如手动锁定电脑很容易马上就检测到信号然后自动解锁了。
    hahahabro
        26
    hahahabro  
       5 小时 0 分钟前
    win 的设备太杂了,蓝牙模块层次不齐,估计体验不会有 mac 好。
    另外我没配对成功,找不到我的 iphone 。看设置需要输入账号和密码,然后,这个会不会有点风险
    另外好奇这个 UI 用的什么框架,挺简洁的
    Curtion
        27
    Curtion  
    OP
       5 小时 0 分钟前
    @zlkent 电脑是不是时间不对, 或者禁止软件联网了?
    Curtion
        28
    Curtion  
    OP
       4 小时 55 分钟前   ❤️ 1
    @hahahabro 先使用 Windows 自带的配对功能配对手机,然后软件中选择手动配置, 再使用自动获取 IRK 密钥就行了。 账号密码会加密存储到本地, 风险比较小,不会上传。 如果后续反馈担心隐私风险的人多的话可以考虑去掉账号登录功能,使用激活码激活,允许本地离线运行。 技术栈是 tauri+shadcn/ui
    Curtion
        29
    Curtion  
    OP
       4 小时 53 分钟前
    @qwanght #22 是的,需要填本地或者微软账号,解锁电脑用的, 这个账号会加密存在本地,不会上传。
    Curtion
        30
    Curtion  
    OP
       4 小时 44 分钟前
    @byby macOS 钥匙串访问中复制出来的是一个 xml, 解出来是 0000 这种是没有选择正确 xml, 账户要选择 Public 开头的那个
    Junichi
        31
    Junichi  
       4 小时 42 分钟前
    我是微软账号登录的,然后设置了 pin ,软件里也输入了登录的账号和 pin 密码,但解锁没办法解锁,看到登录界面上有一个 Unlock 的图标用户,请问是哪儿设置错了?
    Curtion
        32
    Curtion  
    OP
       4 小时 39 分钟前
    @adg325401 如果是苹果设备只能使用自动配置。可以试着勾选启用设备匹配日志设置, 如果勾选后依然没有日志,那么大概率是 IRK 不对。建议使用 Windows 自带蓝牙的设置配对手机,然后再选择自带获取 IRK 密钥。
    byby
        33
    byby  
       4 小时 36 分钟前
    @Curtion #30 我是看的有 public 开头的,奇怪
    Curtion
        34
    Curtion  
    OP
       4 小时 35 分钟前
    @Junichi 软件中设置的密码不是 pin 密码,而是账户密码,后续我加一个说明和自动检测机制。
    Curtion
        35
    Curtion  
    OP
       4 小时 32 分钟前
    @byby #33 位置看下是不是 BluetoothLESync ,我刚刚试了下, 这个方案还是可以正确解析出 Apple Watch 的密钥的。
    jpyl0423
        36
    jpyl0423  
       4 小时 29 分钟前
    开机自启的配置没用,勾选后保存,切换到其他菜单,再切回“软件设置”,还是没有勾选的状态
    FarAhead
        37
    FarAhead  
       4 小时 27 分钟前
    安装软件之后怎么多了一个用户,强迫症无法接受啊,而且用的 pin 码貌似不行
    byby
        38
    byby  
       4 小时 24 分钟前
    @Curtion #35 位置是 BluetoothLE
    Curtion
        39
    Curtion  
    OP
       4 小时 22 分钟前
    @FarAhead 没办法,这个方案必须多一个用户出来,最多后续可以做到允许自定义图标/名称。 密码不能用 pin 码,得用账户密码才行
    duhai973
        40
    duhai973  
       4 小时 21 分钟前
    既不锁定,也不解锁,也无其他特殊日志。
    lixiaobai913
        41
    lixiaobai913  
       4 小时 20 分钟前
    @Curtion #13 太棒了,我的朋友
    raycake
        42
    raycake  
       4 小时 20 分钟前
    安卓 可以么
    Curtion
        43
    Curtion  
    OP
       4 小时 17 分钟前
    @jpyl0423 有可能是安全软件拦截了, 因为软件需要管理员启动, 所以使用的计划任务方案, 可能会被拦截,我后续新增一些日志吧,方便判断。
    Curtion
        44
    Curtion  
    OP
       4 小时 13 分钟前
    Junichi
        45
    Junichi  
       4 小时 10 分钟前
    @Curtion #34 能自动锁屏,但无法自动解锁,确定是输入 windows 的邮箱和密码

    软件日志显示

    [2025-11-12][16:30:18][TRACE][notify::windows] Event: path = `C:\Program Files\ZuUnlock\bluetooth_keys_get_irk_key.json`, action = 2
    [2025-11-12][16:30:18][INFO][app_lib::command::system_task] [计划任务] 已删除临时文件
    [2025-11-12][16:30:18][INFO][app_lib::command::system_task] [计划任务] 删除 SYSTEM 权限计划任务
    [2025-11-12][16:30:18][INFO][app_lib::command::system_task] [计划任务] SYSTEM 权限计划任务删除成功
    [2025-11-12][16:30:18][INFO][app_lib::command::system_task] [计划任务] 一次性 SYSTEM 任务流程完成
    [2025-11-12][16:36:02][INFO][app_lib] [配置] 重新加载配置成功
    [2025-11-12][16:36:55][INFO][app_lib] [Windows] 收到锁屏事件
    [2025-11-12][16:37:33][INFO][app_lib] [Windows] 收到解锁事件
    Curtion
        46
    Curtion  
    OP
       4 小时 10 分钟前
    @byby #38 那应该不对,看看选择的 xml ,Public 后面的 MAC 地址和设备 MAC 地址能不能对上。
    Curtion
        47
    Curtion  
    OP
       4 小时 7 分钟前
    @raycake 可以试试看, 安卓不同品牌差异太大了,我也没有测试过唉。
    jpyl0423
        48
    jpyl0423  
       4 小时 5 分钟前
    @Curtion #39 电脑没有装安全软件,加日志后我再看下,感谢
    Quik
        49
    Quik  
       3 小时 58 分钟前
    真不错,不过家里的 Windows 设备不太需要,工位是 Mac ,先注册一个支持一下。
    littlepanic72
        50
    littlepanic72  
       3 小时 57 分钟前
    回头关注下
    Curtion
        51
    Curtion  
    OP
       3 小时 57 分钟前
    @Junichi #45 这个日志看起来是手动操作的锁定和解锁,如果是自动锁定,会打印锁屏原因。
    4X4
        52
    4X4  
       3 小时 55 分钟前
    @duhai973 一样,不知道配置有什么问题。
    OnlyShimmer
        53
    OnlyShimmer  
       3 小时 55 分钟前
    考虑下小米手环,华为手环之类
    Satoshl
        54
    Satoshl  
       3 小时 27 分钟前
    下载完了想起来公司电脑没有蓝牙呢 哈哈哈哈
    HenryHe613
        55
    HenryHe613  
       3 小时 9 分钟前
    谢谢,已经注册支持!
    KaneW95
        56
    KaneW95  
       3 小时 1 分钟前
    windows 电脑扫描不到 iPhone 的蓝牙
    KaneW95
        57
    KaneW95  
       3 小时 0 分钟前
    @KaneW95 用的 iPhone 连 windows 的蓝牙
    Curtion
        58
    Curtion  
    OP
       2 小时 55 分钟前
    @KaneW95 #57 都可以,只要配对连上就可以继续后续配置
    erde
        59
    erde  
       2 小时 45 分钟前
    iphone 和电脑配对上了,软件里还是显示未找到已配对设备,反复好几次都失败。
    Curtion
        60
    Curtion  
    OP
       2 小时 38 分钟前
    @erde 试试手动获取可以吗 https://zu.3gxk.net/docs/irk/iphone 如果手动可以获取到,那应该是 bug
    erde
        61
    erde  
       2 小时 36 分钟前
    @Curtion #60 手动用注册表弄了,现在日志收到了解锁事件,但是没反应,不会自己解锁,unclock 自己输入本地账户和密码能进入
    erde
        62
    erde  
       2 小时 27 分钟前
    配置完全没问题,用的微软账号和密码,密码刚重置完,属于完全不可用状态。
    [2025-11-12][18:21:49][INFO][app_lib] [蓝牙] 开始监听蓝牙设备信息变化
    [2025-11-12][18:21:58][DEBUG][tauri_plugin_updater::updater] checking for updates https://zu.3gxk.net/api/upgrade/windows/x86_64/1.5.0
    [2025-11-12][18:21:58][DEBUG][reqwest::connect] starting new connection: https://zu.3gxk.net/
    [2025-11-12][18:21:58][DEBUG][reqwest::connect] proxy( http://127.0.0.1:7890) intercepts 'https://zu.3gxk.net/'
    [2025-11-12][18:21:58][TRACE][reqwest::connect] tunneling HTTPS over proxy
    [2025-11-12][18:21:58][DEBUG][tauri_plugin_updater::updater] update endpoint returned 204 No Content
    [2025-11-12][18:22:04][INFO][app_lib] [Windows] 收到锁屏事件
    [2025-11-12][18:22:16][INFO][app_lib] [Windows] 收到解锁事件
    [2025-11-12][18:22:44][DEBUG][tauri_plugin_updater::updater] checking for updates https://zu.3gxk.net/api/upgrade/windows/x86_64/1.5.0
    [2025-11-12][18:22:44][DEBUG][reqwest::connect] starting new connection: https://zu.3gxk.net/
    [2025-11-12][18:22:44][DEBUG][reqwest::connect] proxy( http://127.0.0.1:7890) intercepts 'https://zu.3gxk.net/'
    [2025-11-12][18:22:44][TRACE][reqwest::connect] tunneling HTTPS over proxy
    [2025-11-12][18:22:44][DEBUG][tauri_plugin_updater::updater] update endpoint returned 204 No Content
    Alastar
        63
    Alastar  
       2 小时 23 分钟前
    [ERROR][app_lib] [操作] 信号强度达到解锁条件, 但是解锁失败, 错误: "命名管道未就绪, WIN32_ERROR(2)"
    ------------以上是报错。


    好像时间久了是休眠还是什么原因,会因为[INFO][app_lib::utils] [操作] 锁定成功, 当前锁定方案: NoSignalTimeout 导致锁屏,但亮一下屏就恢复解锁了
    Lamlam147
        64
    Lamlam147  
       2 小时 5 分钟前
    大哥,不会上传电脑账号密码,拿我当肉鸡吧,隐私有保证吗
    Curtion
        65
    Curtion  
    OP
       1 小时 49 分钟前
    @Lamlam147 不会上传,担心的话可以登录账号后,通过安全软件限制联网也可以,只不过这样就收不到更新了。
    Curtion
        66
    Curtion  
    OP
       1 小时 46 分钟前
    @Alastar 电脑不能休眠,休眠后就解不了锁了,目前这还没有解决方案, 只能系统中设置锁屏关闭显示器。
    rayyume
        67
    rayyume  
       1 小时 39 分钟前
    iPhone 下,选择的设备明显信号低于或高于阈值了,日志里并没有触发锁屏或者解锁,这是为啥呀
    Curtion
        68
    Curtion  
    OP
       1 小时 35 分钟前
    @erde #62
    [2025-11-12][18:22:04][INFO][app_lib] [Windows] 收到锁屏事件
    [2025-11-12][18:22:16][INFO][app_lib] [Windows] 收到解锁事件

    上面这两个时间是你手动操作锁屏和解锁吧? 如果是的话可以用这个判断下 IRK 填写是否正确 https://zu.3gxk.net/docs/irk/faq 也试试可以换个电脑获取 IRK 密钥,获取到的密钥可以保存下来,在其它电脑中直接配置也行。 马上会出一个检测模式,方便排查问题。
    Curtion
        69
    Curtion  
    OP
       1 小时 33 分钟前
    @rayyume 看一下追加内容,iPhone 配置用手动配置模式,自动扫描模式不能用在 iPhone 上面
    adg325401
        70
    adg325401  
       1 小时 24 分钟前
    手动配置试过了,然后发现一个奇怪的问题,本地的账号密码我用原来账号能登入,unlock 那个账号下就登不进去。账号密码再三确认没问题。
    Curtion
        71
    Curtion  
    OP
       1 小时 10 分钟前
    @adg325401 #70 那估计是用户名不对,可以试试 $env:USERNAME 这个命令获取到的用户名试试
    adg325401
        72
    adg325401  
       21 分钟前
    @Curtion #71 我是新建了账号,$env:USERNAME 确认过也是这个用户名。
    andykuen959595
        73
    andykuen959595  
       12 分钟前
    开机自启 有点问题 保存了 但是再看 还是没选中
    Curtion
        74
    Curtion  
    OP
       2 分钟前
    @adg325401 #72 新增账号设置的问题,其实没必要新建账号,用你原来的就行,锁屏界面左下角显示的 Unlock 不是用户名,只是一个标识,真正的登录用户名在输入框中
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2965 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:51 · PVG 20:51 · LAX 04:51 · JFK 07:51
    ♥ Do have faith in what you're doing.