MCPcopy Index your code
hub / github.com/au2001/icloud-passwords-firefox

github.com/au2001/icloud-passwords-firefox @v1.2.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.2 ↗ · + Follow
118 symbols 272 edges 35 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Logo

iCloud Passwords for Firefox

Release Stars Users License

This Firefox extension lets you securely fill passwords from iCloud Keychain® when signing in to websites.\ It also provides you with strong passwords, one-time codes, and passkeys to secure your online accounts.\ Your passwords are automatically synchronized accross your Apple and other compatible devices.

Installation

➡️ Recommended: Download this extension from AMO (addons.mozilla.org).

Alternatively, download the latest GitHub release and install it on Firefox by navigating to about:addons.

Refer to the following table to see if your configuration is supported:

Platform Version Status
macOS >= Sonoma (14) ✅ Fully supported
macOS <= Ventura (13) ❌ Unsupported
Windows >= 7 ⚠️ Requires additional setup (see below)
Windows <= Vista ❌ Unsupported
Linux Any ❌ Unsupported

Additional setup

For some operating systems, additional steps are required for the extension to work:

  1. Install iCloud for Windows.
  2. Enable the Passwords option.
  3. Click on Install Extension... for either Microsoft Edge or Google Chrome.
  4. Download the icloud_passwords_install file from the latest GitHub Release.
  5. Run the downloaded executable as administrator.
  6. Restart Firefox, and you should be good to go!

Why is this required?

macOS Sonoma (14) and later come with PasswordManagerBrowserExtensionHelper.app preinstalled.\ It's a utility which allows Apple's iCloud Passwords Chrome and Edge extensions to work.\ This extension uses the same utility, so it works natively without any further steps.

Unfortunately, this utility is not available on previous versions of macOS, on Windows, nor on Linux.\ For such operating systems, this utility needs to be replaced. iCloud for Windows serves this purpose.\ By default, iCloud for Windows does not grant access to Firefox to access passwords.\ The provided executable thus enables the communication between Firefox and iCloud for Windows.

The source code for the Golang executable is available in the scripts/install directory.

Need Help?

Features

Feature Status
List accounts for current website
Select an account to auto-fill
Copy account password to clipboard
Generate new secure passwords
In-page auto-complete suggestions
Search through existing accounts ⛅️
Auto-fill one-time codes
Copy one-time codes to clipboard
Register one-time codes
Save newly created accounts
Login with a passkey
Create new passkeys
Create new accounts manually
Delete existing accounts

The full list of planned features and known bugs is available under Issues.

Contributing

Contributions are welcome, whether that be code, documentation, testing, feature ideas, or bug reporting.

🤝 If you are willing to contribute to tackle a specific GitHub Issue, please add a comment stating your intentions.\ 👾 To submit code patches, please open a GitHub Pull Request.\ 📕 If you are not sure where to start, take a look at open GitHub Issues.

Thanks for your interest!

Development

To build and run the extension locally when developing, you should follow these instructions:

  1. Clone this repository.
  2. Open the folder in your favorite IDE.
  3. Run npm ci to install the required Node dependencies.
  4. Run npm build:watch to start building the code after each file change.
  5. Navigate to about:debugging#/runtime/this-firefox and click on Load Temporary Add-on....
  6. Find where you cloned this repository, and select the manifest.json file in the dist folder (NOT in meta).
  7. Click on Inspect to access the console which displays errors, warnings, and debug logs.
  8. All user interface components refresh live when you save files in your IDE.
  9. Background scripts do NOT refresh live, you need to click Reload under Temporary Extensions.
  10. The AMO version will be restored after closing Firefox, or when clicking Remove.

License

This extension is licensed under the Apache License 2.0.

⚠️ All forks of this repository should explicitly state their changes in a clear manner within the README.

Extension points exported contracts — how you extend this code

LoginForm (Interface)
(no doc)
src/utils/dom.ts
Window (Interface)
(no doc)
src/background/fill-password.ts
Props (Interface)
(no doc)
src/ui/in-page/suggestions.tsx
Settings (Interface)
(no doc)
src/ui/settings/settings.tsx
Props (Interface)
(no doc)
src/ui/shared/error.tsx
Props (Interface)
(no doc)
src/ui/shared/header.tsx
Props (Interface)
(no doc)
src/ui/shared/loading.tsx

Core symbols most depended-on inside this repo

toBuffer
called by 17
src/utils/crypto.ts
sha256
called by 10
src/utils/crypto.ts
_postMessage
called by 7
src/utils/api.ts
getAPI
called by 7
src/background/index.ts
readBigInt
called by 6
src/utils/crypto.ts
serialize
called by 5
src/utils/srp.ts
deserialize
called by 5
src/utils/srp.ts
destroy
called by 5
src/background/content-script.ts

Shape

Function 71
Method 26
Interface 11
Enum 5
Class 4
Struct 1

Languages

TypeScript86%
Go14%

Modules by API surface

src/utils/srp.ts14 symbols
src/utils/api.ts14 symbols
src/utils/crypto.ts10 symbols
src/background/content-script.ts9 symbols
src/utils/enums.ts5 symbols
src/utils/dom.ts5 symbols
src/ui/popup/challenge.tsx5 symbols
scripts/install/manifest.go5 symbols
src/ui/settings/settings.tsx4 symbols
scripts/install/install_windows.go4 symbols
src/utils/timings.ts3 symbols
src/ui/shared/hooks/use-login-names.ts3 symbols

For agents

$ claude mcp add icloud-passwords-firefox \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page