Apple 密码、验证码和隐藏邮件地址整合进一个插件:Apple All-In-One扩展介绍
项目地址:
https://github.com/chatgptuk/apple-all-in-one-extension
Apple All-In-One 是我为自己开发的一款 macOS Chrome浏览器扩展。它把 Apple 密码、通行密钥、动态验证码和 iCloud+ 隐藏邮件地址整合进同一个界面,希望用更少的扩展获得更统一的 Apple 生态体验。
Project repository:
https://github.com/chatgptuk/apple-all-in-one-extension
Apple All-In-One is a macOS browser extension I originally built for myself. It combines Apple Passwords, passkeys, verification codes, and iCloud+ Hide My Email in one interface, creating a more unified Apple ecosystem experience with fewer extensions installed.
为什么做这个扩展?
我平时在 Chrome 中同时使用 Apple 官方的 iCloud 密码扩展,以及一款第三方 Hide My Email 扩展。前者负责填充保存在 Apple 密码中的账号,后者用来创建和管理 iCloud+ 隐藏邮件地址。
两个功能都很实用,但第三方 Hide My Email 扩展的界面已经有些跟不上现在的设计习惯。我也希望浏览器里安装的扩展越少越好。既然密码和隐藏邮件地址本来就属于同一套 Apple 生态,注册网站时也经常一起使用,为什么不把它们合并到一起?
搜索资料时,我意外发现了 Open Passwords,它能够让 Chromium 浏览器连接 macOS 的 Apple 密码原生辅助程序。于是,我开始把它与开源的 iCloud Hide My Email Browser Extension 整合,后来又陆续加入验证码、通行密钥、精确网站匹配、私密注册和中英文切换。
Why did I build it?
I used two Chrome extensions: Apple’s official iCloud Passwords extension and a third-party Hide My Email extension. One filled credentials from Apple Passwords, while the other created and managed iCloud+ private addresses.
Both were useful, but the third-party Hide My Email interface had started to feel dated. I also wanted to install as few browser extensions as possible. Since passwords and private addresses belong to the same Apple ecosystem and are often used together during signup, combining them felt natural.
While researching the idea, I discovered Open Passwords, which connects Chromium browsers to the native Apple Passwords helper on macOS. I integrated it with the open-source iCloud Hide My Email Browser Extension, then added verification codes, passkeys, exact website matching, private signup, and a bilingual interface.
Apple 密码、验证码与通行密钥
- 查询、填充、保存和更新 Apple 密码中的登录信息;
- 优先显示与当前网站主机名完全匹配的账号;
- 识别并填充 Apple 密码中保存的动态验证码;
- 支持通行密钥桥接;
- 点击登录项目时填充网页并展开账号详情。
验证码发现、建议和填充能力由 Apple All-In-One 自行实现,并非直接来自 Open Passwords 上游项目。密码和验证码属于独立的原生敏感读取,macOS 有时可能分别要求 Touch ID。
Apple Passwords, codes, and passkeys
- Search, fill, save, and update Apple Passwords credentials;
- Prioritize accounts that exactly match the current hostname;
- Discover and fill verification codes saved in Apple Passwords;
- Bridge passkey requests;
- Fill the page and open account details when a login is selected.
Verification-code discovery, suggestions, and filling were implemented by Apple All-In-One rather than provided directly by Open Passwords. Passwords and codes are separate native secret reads, so macOS may sometimes request Touch ID separately.
iCloud+ 隐藏邮件地址
- 创建、搜索、启用、停用和删除隐藏邮件地址;
- 支持多选、批量停用和批量删除;
- 识别关联网站并显示网站图标;
- 缓存地址列表,避免每次切换标签都重新等待;
- 按需检查近期邮件,并识别可能的验证码。
隐藏邮件地址功能使用浏览器中已经登录的 iCloud.com 会话,不会要求你在扩展里输入 Apple 账户密码。邮件预览只在用户主动检查时读取,关闭详情后不会长期保存在扩展中。
iCloud+ Hide My Email
- Create, search, activate, deactivate, and delete private addresses;
- Select and manage multiple addresses;
- Recognize associated websites and display their icons;
- Cache the address list so tab switches do not always start with a loading screen;
- Check recent messages on demand and detect possible verification codes.
Hide My Email uses the iCloud.com session already present in the browser and never asks for your Apple Account password. Message previews are read only after an explicit check and are not stored permanently after the detail view closes.
私密注册
在没有已保存登录的注册页面中,扩展可以复用与网站关联的隐藏邮件地址;没有匹配地址时,再由用户确认创建新地址并准备强密码。如果网站已经保存登录信息,网页内选择器会优先只显示登录项目。
安装
当前版本适合在 macOS 上自行构建和侧载,需要 Node.js 20 或更高版本:
npm install
npm run typecheck
npm run build
- 打开
chrome://extensions并开启开发者模式; - 停用 Apple 官方 iCloud 密码扩展和旧的 Open Passwords;
- 点击“加载已解压的扩展程序”,选择生成的
build文件夹; - 如首次配置原生辅助程序,运行
native/install.sh,然后完全重启 Chrome。
使用前需要了解
- Apple 密码原生集成需要 macOS 15.4 或更高版本;
- 隐藏邮件地址需要有效的 iCloud+ 订阅;
- Apple 官方密码扩展不能与本项目同时启用;
- 彻底重启 Chrome 后,Apple 密码可能再次要求六位访问码;
- Apple 或浏览器更新后,相关非公开接口可能暂时失效;
- 本项目未经 Apple Inc. 认可、赞助或授权,并非 Apple 官方产品。
项目新增代码及来自 Open Passwords 的代码使用 Apache License 2.0;从隐藏邮件地址上游项目保留的代码继续遵守 MIT License。
项目地址: https://github.com/chatgptuk/apple-all-in-one-extension
Private signup
On registration pages with no saved login, the extension can reuse a private address already associated with the website. If no match exists, the user can confirm the creation of a new address and prepare a strong password. When saved credentials exist, the inline chooser prioritizes those logins instead.
Installation
The current version is intended for local building and sideloading on macOS. Node.js 20 or later is required:
npm install
npm run typecheck
npm run build
- Open
chrome://extensionsand enable Developer mode; - Disable Apple’s official iCloud Passwords extension and any previous Open Passwords installation;
- Click Load unpacked and select the generated
buildfolder; - If needed, run
native/install.sh, then quit Chrome completely and reopen it.
Important limitations
- Native Apple Passwords integration requires macOS 15.4 or later;
- Hide My Email requires an active iCloud+ subscription;
- Apple’s official password extension cannot be enabled at the same time;
- The six-digit access code may be required again after Chrome is completely restarted;
- Apple or browser updates may temporarily break private integrations;
- The project is not endorsed, sponsored, or authorized by Apple Inc.
New project code and code originating from Open Passwords use the Apache License 2.0. Code retained from the Hide My Email upstream project remains under the MIT License.
Project repository: https://github.com/chatgptuk/apple-all-in-one-extension
评论与讨论
还没有评论,欢迎留下第一条讨论