diff --git a/README.md b/README.md index 6f115f9..7476822 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A ProtonMail CLI tool written in Go, similar to gog. ## Features -- **Authentication**: Login/logout with 2FA support +- **Authentication**: Interactive login/logout with 2FA support and masked password prompts - **Session Management**: Secure token storage in `~/.config/pop/` - **ProtonMail API Client**: REST client with rate limiting and error handling - **PGP Encryption**: Full support for ProtonMail's PGP encryption via gopenpgp v2 @@ -24,12 +24,9 @@ make install ## Usage ```bash -# Initialize login (interactive mode) +# Initialize login (interactive mode with masked password prompt) pop login -# Login with explicit credentials -pop login --email user@proton.me --password secret - # Check current session pop session diff --git a/man/pop.1 b/man/pop.1 new file mode 100644 index 0000000..1b1c0be --- /dev/null +++ b/man/pop.1 @@ -0,0 +1,84 @@ +.TH POP 1 "April 2026" "pop 1.0" "ProtonMail CLI" +.SH NAME +pop \- A ProtonMail CLI tool written in Go +.SH SYNOPSIS +.B pop +.RI [ command ] [ options ] +.SH DESCRIPTION +.B pop +is a command-line interface for interacting with the ProtonMail API. It provides authentication, session management, and secure PGP encryption support. +.SH COMMANDS +.TP +.B login +Authenticate with ProtonMail API using interactive prompts with masked password input. Supports two-factor authentication (2FA). +.TP +.B logout +Clear stored session credentials and end current session. +.TP +.B session +Display current session information including user ID and authentication status. +.SH OPTIONS +.TP +.BR -h ", " \-\-help +Show help message for the command. +.TP +.BR -v ", " \-\-version +Show version information. +.SH CONFIGURATION +Configuration file: ~/.config/pop/config.json + +Default configuration: +.RS +.nf +{ + "api_base_url": "https://api.protonmail.ch", + "timeout_sec": 30, + "rate_limit_requests": 100, + "rate_limit_window_sec": 60 +} +.fi +.RE + +Session file: ~/.config/pop/session.json +.SH FILES +.TP +.B ~/.config/pop/config.json +Application configuration +.TP +.B ~/.config/pop/session.json +Session credentials and tokens +.TP +.B ~/.config/pop/attachments/ +Attachment storage directory +.SH EXAMPLES +.TP +.B pop login +Start interactive authentication with ProtonMail +.TP +.B pop session +Display current session information +.TP +.B pop logout +End current session and clear credentials +.SH EXIT STATUS +.TP +.B 0 +Successful execution +.TP +.B 1 +General error +.TP +.B 2 +Authentication error +.SH DIAGNOSTICS +Errors are reported to stderr with descriptive messages. Common issues include: +- Network connectivity problems +- Invalid credentials +- Session expiration +- Configuration file parse errors +.SH BUGS +Report bugs at https://github.com/frenocorp/pop/issues +.SH AUTHOR +FrenoCorp Development Team +.SH COPYRIGHT +Copyright (c) 2026 FrenoCorp. MIT License.