Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iCloud Hide My Email Manager

A fast, secure CLI tool to manage your iCloud+ Hide My Email addresses.

Want autofill in the browser? Check out the Browser Extension to generate and autofill Hide My Email addresses into any website.

Demo


Features

  • Interactive TUI list — Real-time search, arrow key navigation, and inline detail view
  • Full alias management — Create, edit, deactivate, reactivate, and delete aliases
  • Bulk operations — Deactivate or delete multiple aliases at once
  • Export — Save all aliases to CSV or JSON
  • Clipboard support — Copy an alias address with a single keypress
  • Apple SRP authentication — Secure login with 2FA support
  • Encrypted sessions — Session data is AES-256-GCM encrypted on disk
  • Standalone executable — No runtime required, just download and run
  • Cross-platform — Windows, macOS, and Linux

How to Use

Download (Recommended)

Grab the latest executable for your platform from Releases:

Platform File
Windows icloud-hme-win.exe
macOS icloud-hme-macos
Linux icloud-hme-linux

No Node.js or any other dependency required — just download and run.

Run from Source (Alternative)

If you prefer to run from source:

git clone https://github.com/Yimikami/icloud-hme-manager.git
cd icloud-hme-manager
npm install
npm start

Requirements (source only): Node.js 18+ and an active iCloud+ subscription.

First Launch

On first run the app will ask you for three things:

  1. Session passphrase — a password you choose to encrypt your session locally
  2. Apple ID & password — used once for authentication
  3. 2FA code — sent as a push notification to your trusted Apple devices

After the initial login your session is cached and encrypted. You only need to enter your session passphrase to get back in.

How Session Passphrase Works

The session passphrase is a password you choose on first run. It encrypts your iCloud session data (cookies, tokens) on disk using AES-256-GCM. Think of it as a master password for the app.

  • First run: Pick any passphrase → login with Apple ID → session encrypted
  • Next runs: Enter the same passphrase → session decrypted → no login needed
  • Wrong passphrase: Session can't be decrypted → option to retry or login again
  • Session expired: Re-authentication with Apple ID required

Session data is stored in your OS data directory:

OS Path
Windows %APPDATA%\icloud-hme-manager\session.json
macOS ~/Library/Application Support/icloud-hme-manager/session.json
Linux ~/.config/icloud-hme-manager/session.json

Menu

Option Description
Create new email Generate a random alias and reserve it
List all emails Interactive TUI — search, navigate, and manage aliases
Delete email Permanently remove an alias
Bulk deactivate Deactivate multiple aliases at once
Bulk delete Delete multiple aliases at once
Update forward-to Change which address aliases forward to
Export emails Save all aliases to a CSV or JSON file
Re-login Force a fresh authentication session

List View — Keyboard Shortcuts

Key Action
Type Filter aliases in real time
↑ / ↓ Navigate rows
Enter Open detail view
Esc Back to main menu

Detail View — Keyboard Shortcuts

Key Action
C Copy email address to clipboard
E Edit label or note
I Deactivate alias
A Activate alias
D Delete alias (asks for confirmation)
Esc Back to list

How It Works

Apple ID + Password
        |
   SRP Protocol  ──>  idmsa.apple.com
        |
   2FA Push      ──>  Trusted Device
        |
   Session Token ──>  setup.icloud.com/accountLogin
        |
   HME API       ──>  maildomainws.icloud.com
  1. SRP handshake via @foxt/js-srp — password never leaves your machine in plaintext
  2. 2FA verification pushed to your trusted Apple devices
  3. Session cookies encrypted with AES-256-GCM using your passphrase
  4. API calls to iCloud's maildomainws service for alias management

Security

Concern Mitigation
Credential storage Never written to disk; entered interactively every login
Session persistence AES-256-GCM encrypted with a user-provided passphrase
Error message leakage API/auth errors are sanitized; no PII in console output
OAuth client key Apple's own public web client key; safe to use

Related Projects

  • icloud-hme-extension — Browser extension to generate and autofill iCloud+ Hide My Email addresses into any website

License

MIT

About

Manage your iCloud+ Hide My Email addresses from the command line

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages