Skip to main content

Python library + CLI for Fastmail masked email

Project description

fastmask

Python library and command line tool for Fastmail's Masked Email

Install & Setup

pip install fastmask

export FM_ME_TOKEN='YOUR-API-TOKEN-HERE'
export FM_USERNAME='user@domain.com'

Usage

fastmask [OPTIONS] COMMAND [ARGS]...

  Manage Fastmail masked email from the command line

Options:
  --username TEXT  [default: (FM_USERNAME)]
  --token TEXT     [default: (FM_ME_TOKEN)]
  --help           Show this message and exit.

Commands:
  activate  Set state of masked email to Active
  block     Set state of masked email to Blocked
  delete    Delete masked email
  edit      Edit information associated with a masked email
  list      List masked emails associated with account
  new       Create a new masked email
  search    Search for masked emails

Authentication

You will need to provide an API token for fastmask to authenticate calls to the Fastmail API:

  1. In the Fastmail web client, go to Settings > Account > Password & Security > API Tokens > Manage > New API token
  2. Set name to "fastmask" or whatever you'd like, check only the Masked Email scope and hit Generate API token
  3. Copy the API token. You can authenticate either by providing your credentials as arguments, or by using the FM_ME_TOKEN and FM_USERNAME environment variables / providing these variables via .env file:

You can skip parsing .env with python-dotenv by setting the environment variable SKIP_PYTHONDOTENV=1.

Example:

export FM_ME_TOKEN='YOUR-TOKEN-HERE'
export FM_USERNAME='username@fastmail.com'

fastmask list --limit 5

# alternatively, you can provide your credentials as arguments
fastmask --username username@fastmail.com --token 'YOUR-TOKEN-HERE' \
  list --limit 5

Create a masked email

Use fastmask new to create a new masked email address. Optionally specifiy the description, URL or domain.

Example:

fastmask new twitter --url twitter.com

> Successfully added email fake.email1234@fastmail.com (id: masked-12345678)

List

fastmask list will return a Rich table of masked emails, optionally filtering results by active/blocked state, recent, used/unused status, etc.

Usage:

fastmask list [OPTIONS]

  List masked emails associated with account

Options:
  --limit INTEGER                 Limit number of results
  --active                        Show only active addresses.
  --blocked                       Show only blocked addresses.
  --unused                        Show only active + unused addresses.
  --used                          Show only used addresses.
  --deleted                       Show only deleted addresses.
  --sort                          Field to sort by
  --desc / --asc                  Sort order
  --recent INTEGER                Only show items from the past X days
  -o, --out TEXT                  Output to csv
  --help                          Show this message and exit.

Activate / Block / Delete

You can change the state of a masked email with fastmask activate, fastmask block or fastmask delete. Email IDs accepted are:

  • email address
  • description (case-insensitive)
  • the id of the address, with or without the "masked-" prefix

Examples:

fastmask activate new.mail0412@fastmail.com
fastmask block masked-12312345
fastmask delete facebook.com

Edit

fastmask edit can be used to change the description, url or domain associated with masked email address.

Example:

fastmask edit some.user1231@fastmail.com --description x.com --url x.com

Search

fastmask search is a case-insensitive search defaulting to matching email addresses and descriptions. You can set the fields searches using the --field flag.

Examples:

fastmask search reddit
fastmask search --field email fastmail.com
fastmask search --field createdAt 2022-10-31
fastmask search --field createdBy fastmask -o out.csv

See full CLI and library documentation at https://fastmask.readthedocs.io/

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

fastmask-0.1.4.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

fastmask-0.1.4-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file fastmask-0.1.4.tar.gz.

File metadata

  • Download URL: fastmask-0.1.4.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for fastmask-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9654f0f00d01f5342a7849a7ecc9a228ece0a669934dfeae06486ba26bf4fb74
MD5 b3c2178d4b68fba2f3030afb1e0a1fd7
BLAKE2b-256 923dfa013c674d2c012f73f567747985c6b235aeea1a20574774dec2f5113a2f

See more details on using hashes here.

File details

Details for the file fastmask-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: fastmask-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for fastmask-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ebe9189243d2b8d34a433980c372f5c38076881c94132f16bdc8d65458cf3e88
MD5 17ac03e6482ae347e815ab5b30a9bce0
BLAKE2b-256 9f6dab26945cb27f196f62b22ec31bf0eed65516b48c90a36adf6c67a3465c60

See more details on using hashes here.

Supported by

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