Skip to main content

Generate and manage iCloud+ HideMyEmail addresses from the command line

Project description

iCloud HideMyEmail Generator

Python CLI tool for generating and managing iCloud+ HideMyEmail addresses with multi-account support

Status: Active Python: 3.8+ License: MIT PyPI version GitHub stars

Discord Medium Buy Me a Coffee

Table of Contents

Overview

With an iCloud+ subscription you get this nice "HideMyMail" feature that let's you create random email addresses that forward to your personal inbox. Let's use our subscription at its best and easily generate them instead of buying address lists.

There are some other similar open source projects around, but I hated the fact that the login was via a "copy and paste" cookies logic. Here you get everything done properly with full SRP authentication and 2FA support.

Installation

pip install icloud-hme

Or install from source:

git clone https://github.com/glizzykingdreko/icloud-hidemymail-generator
cd icloud-hidemymail-generator
pip install -e .

Quick Start

# 1. Authenticate with your iCloud account
icloud-hme auth

# 2. Generate 5 new email aliases
icloud-hme generate -n 5

# 3. Export all emails to CSV
icloud-hme export --format csv

Commands

Authentication

# Interactive login with 2FA support
icloud-hme auth

# Or provide email directly
icloud-hme auth -e your@icloud.com

Generate Emails

# Interactive generation (prompts for count)
icloud-hme generate

# Generate 5 permanent emails
icloud-hme generate -n 5

# Generate with custom label
icloud-hme generate -n 10 --label shopping

# Generate temporary emails (not reserved)
icloud-hme generate -n 3 --temp

# Generate and save to file
icloud-hme generate -n 5 --output emails.csv --format csv

# Use specific account
icloud-hme generate -n 5 --account other@icloud.com

List Emails

# List all HideMyEmail addresses
icloud-hme list

# List for specific account
icloud-hme list --account your@icloud.com

Export Emails

# Export to CSV (prompts for output path)
icloud-hme export

# Export to JSON
icloud-hme export --format json

# Export only active emails
icloud-hme export --filter active

# Custom output path
icloud-hme export --output ~/Desktop/my_emails --format csv

Manage Accounts

# List authenticated accounts
icloud-hme accounts

# Remove an account
icloud-hme logout

Rate Limits

Apple enforces the following rate limits on HideMyEmail:

Limit Value
Per 30 minutes ~5 emails × family members
Total per account ~700 emails

The CLI automatically detects rate limits and displays warnings when they're hit.

Data Storage

All data is stored locally in ~/.icloud-hme/:

~/.icloud-hme/
├── account1_at_icloud_com/
│   ├── session.json      # Authentication tokens
│   └── emails.json       # Generated emails log
└── account2_at_icloud_com/
    └── ...

Session tokens and all of your data is stored locally.

Python API Usage

You can also use the library programmatically:

from icloud_hme import ICloudSession, HideMyEmailGenerator

# Authenticate
session = ICloudSession()
session.login("your@icloud.com", "password")

# Generate emails
generator = HideMyEmailGenerator(session)
emails = generator.generate_multiple(
    count=5,
    reserve=True,
    label_prefix="api_test"
)

for email in emails:
    print(email)

Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

If you found this project helpful or interesting, consider starring the repo and following me for more tools, or buy me a coffee to keep me going ☕

GitHub Twitter Medium Discord Email Buy Me a Coffee

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icloud_hme-1.0.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

icloud_hme-1.0.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file icloud_hme-1.0.0.tar.gz.

File metadata

  • Download URL: icloud_hme-1.0.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for icloud_hme-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c18c3a7d36e9baf42bf4e6c478385c9db8b066ca74718acde40769e0b74a12d1
MD5 e47a780f94a95c05d719d823a21f3bf1
BLAKE2b-256 1541581c213b4dd90cacd9f40eb22bf4e4a24de9a6972541885d40e7410a3215

See more details on using hashes here.

Provenance

The following attestation bundles were made for icloud_hme-1.0.0.tar.gz:

Publisher: publish.yml on glizzykingdreko/icloud-hme

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icloud_hme-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: icloud_hme-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for icloud_hme-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0003d8cdf068df691cfc8c52679c21e45b1c408a8c3d0a7651115f3b4f785b71
MD5 f563b98b3f501da396ab2d3571a0e3a6
BLAKE2b-256 df14c6772a1865d3c0c66cd4abef77778b470fd8fb15170c4781be9fb057c265

See more details on using hashes here.

Provenance

The following attestation bundles were made for icloud_hme-1.0.0-py3-none-any.whl:

Publisher: publish.yml on glizzykingdreko/icloud-hme

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page