Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - hungnguyen18/uzp-cli: uzp-cli is a fast and secure CLI tool to manage secrets like API keys and tokens β€” fully encrypted, stored locally.
Nothing Special   »   [go: up one dir, main page]

Skip to content

hungnguyen18/uzp-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

UZP-CLI - User's Zecure Pocket

npm version npm downloads License: MIT Go Version Go 1.23.10+ Security Contributing

A professional command-line tool for securely storing and managing sensitive information such as API keys, access tokens, and service credentials. All data is encrypted using AES-256-GCM and stored locally.

Table of Contents

Features

Core Capabilities

  • πŸ” AES-256-GCM encryption with scrypt key derivation (N=32768, r=8, p=1)
  • πŸ”‘ Master password protection - never stored, only hashed
  • πŸ”„ On-demand unlock - prompts for password when needed, no manual unlock required
  • πŸ“ Project-based organization - group secrets by application/service
  • πŸ“‹ Clipboard integration with automatic clearing after TTL
  • πŸ” Search functionality for quick access across all projects
  • πŸ“„ Environment file export (.env generation) for development workflows
  • 🌍 Cross-platform support (macOS, Linux, Windows)
  • πŸ”’ Secure file permissions - vault files created with 0600 permissions

Security Features

  • Memory safety: Sensitive data cleared from memory immediately after use
  • No password storage: Only password hash stored for verification
  • No session persistence: Password required for each vault operation (stateless)
  • Secure vault location:
    • macOS/Linux: ~/.uzp/uzp.vault
    • Windows: %USERPROFILE%\.uzp\uzp.vault

Installation

# NPM (Recommended)
npm install -g uzp-cli

# Alternative package managers
yarn global add uzp-cli    # Yarn
pnpm add -g uzp-cli        # PNPM  
bun add -g uzp-cli         # Bun

# Manual installation
git clone https://github.com/hungnguyen18/uzp-cli.git
cd uzp-cli && go build -o uzp

# NPM Registry Configuration (if needed)
cp .npmrc.example .npmrc   # Edit for custom registries

Quick Start

# 1. Check installation
uzp -v                             # Verify installation

# 2. Initialize vault with master password
uzp init

# 3. Add your first secret
uzp add
# Project: myapp
# Key: api_key 
# Value: sk-1234567890abcdef

# 4. Use your secrets
uzp get myapp/api_key              # Display secret
uzp copy myapp/api_key             # Copy to clipboard
uzp inject -p myapp > .env         # Export as .env file

Commands

Command Description Example
uzp init Initialize new vault uzp init
uzp add Add a secret uzp add
uzp get <project/key> Get secret value uzp get myapp/api_key
uzp copy <project/key> Copy to clipboard uzp copy myapp/api_key
uzp update <project/key> Update existing secret uzp update myapp/api_key
uzp list List all secrets uzp list
uzp search <keyword> Search secrets uzp search api
uzp inject -p <project> Export to .env format uzp inject -p myapp > .env
uzp reset Delete all data uzp reset
uzp -v, --version Show version information uzp -v

Security

UZP-CLI follows security-first principles:

  • πŸ” Encryption: AES-256-GCM with random salts and nonces
  • πŸ”‘ Key Derivation: scrypt with secure parameters (N=32768, r=8, p=1)
  • πŸ›‘οΈ Password Protection: Master password never stored, only its hash
  • 🧹 Memory Safety: Sensitive data cleared from memory after use
  • πŸ“ File Permissions: Vault files created with 0600 (user-only access)
  • πŸ“‹ Clipboard Safety: Automatic clearing after configurable TTL

Security Warnings

  • ⚠️ Never share your master password
  • πŸ”’ Keep your vault file secure and backed up
  • πŸ”‘ Use a strong, unique master password (12+ characters recommended)
  • 🚫 Don't store your master password in scripts or files

For security issues, see our Security Policy.

Examples

Basic Workflow

# Check version and initialize
uzp -v                      # Check installed version
uzp init                    # Initialize vault

# Add secrets
uzp add  # myapp/api_key
uzp add  # myapp/database_url
uzp add  # aws/access_key_id

# Use secrets in development
uzp inject -p myapp > .env.local
uzp inject -p aws > aws.env
uzp copy myapp/api_key

# Search and manage
uzp list                    # View all secrets
uzp search database         # Find specific secrets
uzp update myapp/api_key    # Update existing values

Environment File Export

# Export project secrets
uzp inject -p myapp > .env

# Multiple environments
uzp inject -p myapp > .env.local
uzp inject -p myapp-prod > .env.production

# Preview before export
uzp inject -p myapp

Generated .env format:

# Environment variables for project: myapp
# Generated by uzp
API_KEY=your_secret_value
DATABASE_URL=postgresql://user:pass@host:5432/db

Contributing

New contributors: Get started quickly with the Quick Start section in our Contributing Guide! ⚑

Our Contributing Guide covers everything from 5-minute setup to comprehensive development practices, security requirements, and submission process.

Thank you for helping make UZP-CLI more secure! πŸ”

Releases

Release Information:

  • πŸ”” Latest: Check GitHub Releases for newest version
  • πŸ“… Schedule: Monthly minor releases, patches as needed for critical bugs
  • πŸ“¦ Versioning: Follows Semantic Versioning (vMAJOR.MINOR.PATCH)
  • πŸ“ Notes: Detailed release notes with features, fixes, and contributor credits
# Check your installed version
uzp -v          # Short form
uzp --version   # Long form

# Update to latest version  
npm update -g uzp-cli

Support

Get Help:

Resources:


UZP-CLI - Your secrets, secured locally. πŸ”

About

uzp-cli is a fast and secure CLI tool to manage secrets like API keys and tokens β€” fully encrypted, stored locally.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  
0