如果你恰巧跟我一样开启了 Google Chrome 的自动更新,又在使用基于 KeePass 的开源桌面端 KeeWeb 以及商店配套的 KeeWeb Connect 插件,那么一定会接到这个喜报:
This extension was turned off because it is no longer supported
你无法手动再开启且只能删除,Chrome 最新版本已经完全移除了 MV2 的支持,基于 Chromium 的其它浏览器比如 Microsoft Edge 以及 Arc 等,虽然暂时保留了 MV2 插件的支持,但还是推荐尽快把旧插件升级到 V3 版本。
回归正题,既然社区一直不发布商店的 MV3 版本,那我们就开始本地构建来解决密码填充的问题。
本地需要的环境只有 Node.js,先拉取仓库:
git clone https://github.com/keeweb/keeweb-connect.git
进入根目录运行:
npm i
随后执行:
npm start
打包完成后会在 dist
目录中会输出 chrome/edge/firefox/safari 四个文件夹。
在这里以 Chrome 为示例,列出 Mac 以及 Windows 平台的处理方式,其他浏览器和平台大同小异,具体请参考官方文档:
浏览器中打开:
chrome://extensions
右上角 Developer mode 保持打开状态,点击 Load unpacked,选中 dist
中的 chrome
目录。
随后会自动新建 TAB 跳转到该插件的 options 页面,在你 KeeWeb 桌面端解锁的情况下,你点击 Connect to KeeWeb 的按钮会一直提示:
Cannot connect to KeeWeb, please check if KeeWeb is open and browser integration is enabled in settings.
返回到 extensions
页面,点击该插件的详情按钮,拷贝插件 ID 的值:
Windows:
用编辑器打开:
C:\Users\用户名\AppData\Roaming\KeeWeb\native-messaging-kwc.chrome.json
Mac:
文件路径为:
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/net.antelle.keeweb.keeweb_connect.json
上述文件的操作方式均为:
在 allowed_origins
数组中加入这么一段:
"chrome-extension://刚才拷贝的插件 ID/",
至此应该可以正常与桌面端通信进行密码填充,后续的更新可以直接 pull 并重新打包即可。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.