Skip to content

Repository files navigation

SimpleLogin CLI

A command-line interface for managing SimpleLogin aliases, domains, contacts, and settings using the SimpleLogin API.

Features

  • Complete API Coverage: Full support for all SimpleLogin API endpoints
  • Modern CLI: Built with Cobra for excellent user experience
  • Multiple Output Formats: Table and JSON output support
  • Input Validation: Robust validation using go-playground/validator
  • Pagination Support: Automatic handling of paginated API responses
  • Error Handling: Comprehensive error types and user-friendly messages

Quick Start

1. Set up Authentication

echo "your-api-key" | simplelogin-cli auth set-key

2. Basic Usage

# List all aliases
simplelogin-cli alias list 0

# Get user information
simplelogin-cli userinfo get

# List mailboxes
simplelogin-cli mailbox list

# List domains
simplelogin-cli domain list

# Get settings
simplelogin-cli setting get

Available Commands

Aliases

simplelogin-cli alias activities [alias_id] [page_id]  # List alias activities
simplelogin-cli alias delete [alias_id]                # Delete alias
simplelogin-cli alias get [name]                       # Get specific alias
simplelogin-cli alias list [page_id]                   # List aliases
simplelogin-cli alias new [hostname]                   # Create custom alias
simplelogin-cli alias options [hostname]               # Get alias options
simplelogin-cli alias random [hostname]                # Create random alias
simplelogin-cli alias toggle [alias_id]                # Toggle alias status
simplelogin-cli alias update [alias_id]                # Update alias

Authentication

simplelogin-cli auth set-key    # Set API key (read from stdin)

Contacts

simplelogin-cli contact block [contact_id]                 # Toggle contact block status
simplelogin-cli contact create [alias_id] [contact_email]  # Create contact for an alias
simplelogin-cli contact delete [contact_id]                # Delete contact
simplelogin-cli contact list [alias_id]                    # List contacts for alias

Domains

simplelogin-cli domain list                # List domains
simplelogin-cli domain trash [domain_id]   # List deleted aliases for a domain
simplelogin-cli domain update [domain_id]  # Update domain

Mailboxes

simplelogin-cli mailbox create [email]       # Create mailbox
simplelogin-cli mailbox delete [mailbox_id]  # Delete mailbox
simplelogin-cli mailbox list                 # List mailboxes

Settings

simplelogin-cli setting get          # Get current settings
simplelogin-cli setting get-domains  # List available domains
simplelogin-cli setting update       # Update settings

Stats

simplelogin-cli stats    # Get account statistics

User

simplelogin-cli userinfo get     # Get user information
simplelogin-cli userinfo update  # Update user information

Output Formats

Most commands support multiple output formats:

# Table format (default)
simplelogin-cli alias list 0

# JSON format
simplelogin-cli alias list 0 --output json

# Compact output
simplelogin-cli alias list 0 --compact

# No headers
simplelogin-cli alias list 0 --no-headers

Development

Project Structure

├── cmd/simplelogin-cli/    # CLI entry point
├── command/                # CLI commands
├── internal/               # Internal packages
│   ├── config/             # Configuration management
│   └── display/            # Output formatting
├── pkg/simplelogin/        # SimpleLogin API client
└── examples/               # Usage examples

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

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

Support

About

simplelogin-cli is a command-line tool for managing your SimpleLogin account (aliases, domains, contacts, mailboxes, and settings) via the SimpleLogin API.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages