Hacker实例:自动按YubiKeys( 四 )
触发脚本
如果用手指按一下YubiKey不太令人满意 , 则在机械键盘的另一端按一个键 。 如果只要敲击键盘上的一个键就可以触发YubiKey , 那就太酷了 。
如果使用TKL布局 , 则在键盘的右上角具有''打印屏幕'' , ''滚动锁定''和''暂停'' , 所有这些在2020年都没有多大意义 , 并且可以重新映射 。
实例中使用一个名为Karabiner-Elements的程序来帮助进行这种重新映射 。 就像该项目的硬件部分一样 , 它也具有Rube Goldberg风格 。
使用用户界面 , 在''简单修改''选项卡下 , 可以将''从键''更改为''暂停'' , 将''至键''更改为'' f14'' 。
然后切换到''其他''选项卡 , 然后单击''打开配置文件夹(?/.config/ karabiner)'' 。 在这里找到一个名为的文件karabiner.json 。
在profiles.rules键下 , 可以添加以下JSON:
{ ''description'': ''F14 to trigger Yubikey'', ''manipulators'': [ { ''from'': { ''key_code'': ''f14'', ''modifiers'': { ''optional'': [''any''] } }, ''to'': [ { ''shell_command'': ''osascript /Users/YOUR_USERNAME/bin/yubikey.scpt'' } ], ''type'': ''basic'' } ] },在其中 , ~/bin/yubikey.scpt可以编写一个Applescript来调用shell脚本 , 如下所示:
do shell script ''/bin/sh ~/bin/yubikey.sh 2>&1 &''为什么Applescript会调用Shell脚本?当直接从Karabiner Elements启动shell脚本时 , 它打开的新实例 , Terminal.app并将焦点从提示输入YubiKey的窗口移开 。 这将使所有内容在后台运行 。
最后 , 在~/bin/yubikey.sh有:
#!/bin/bash curl '' finger.localdomain/press'' --silent >> /dev/null通过制作了一个YubiKey提示进行演示 , 它也可以在真实的YubiKey提示中使用 。 这是伪造的YubiKey提示符的代码 , 以防万一由于某些程序需要制作伪造的YubiKey提示符:
#!/bin/bash printf ''YubiKey for 'bert': '' read yubikey green=`tput setaf 2` reset=`tput sgr0` echo ''${green}SUCCESS${reset}''有了该shell脚本 , 也就可以从其他地方调用它 。 iTerm2具有称为Triggers的功能 , 该功能可以根据与终端中的正则表达式匹配的文本执行操作 。 因此 , 可以编写一个正则表达式来监听'' Yubikey for'' , 并使其运行相同的脚本 , 而无需完全按下按钮 。
另一个选择是制作一个自定义的Chrome扩展程序 , 该扩展程序等待某些请求YubiKeys的URL , 并使浏览器在后台获取到我们的HTTP端点 。
总结
该实例中通过软硬件实例 , 制作了一个自动''按''YubiKeys的的工程 , 也许对其他人来说这是没有什么蛋用的东西 。 但是这个解决问题的思路和实例动手能力则正是Hacker精神所在 , 这也是我们需要学习的东西 。 介绍该完整实例过程希望对大家都有所启发帮助 。
推荐阅读
- 现代快报|没刷卡撞上小区自动门多处骨折,法院:当事业主负主责
- 客车|[路演]国安达:超细干粉自动灭火装置在国内大中型客车市场份额约在70%以上
- 第一电动汽车网|3.0自动驾驶系统真的“香”?体验广汽新能源埃安LX,ADiGO
- 拉斯夫纪|挂入N挡后再挂p档?老司机:这样停车才是正确的,自动挡停车
- 自动挡|一切办完落地不足8万,配自动挡、毛病少,油耗2毛多,家用选它
- 智能煮水壶|全自动、无按键,省去你所有的烧水麻烦!
- 于见换了赛道的百度,能否凭借自动驾驶重回巅峰?
- 环球时报|联合国对伊武器禁运自动解除,伊朗称不会军事豪购
- 爱卡汽车3个小时6次呼叫 我在亦庄体验自动驾驶
- 隔壁说车老王|还要啥哈弗H6?,10万元合资自动挡SUV怎么选?这3款颜值高油耗低
