# GPG Encrypt/Decrypt Scripts Created 2026-02-04. Two utility scripts for symmetric GPG encryption with clipboard support. ## Scripts ### encryptfile Location: `~/.local/bin/encryptfile` Encrypts a file using symmetric GPG (password-based, no key required). ```bash #!/bin/bash # Encrypt a file with symmetric GPG (password-based) # Usage: encryptfile if [ -z "$1" ]; then echo "Usage: encryptfile " exit 1 fi if [ ! -f "$1" ]; then echo "File not found: $1" exit 1 fi gpg --symmetric --cipher-algo AES256 --armor -o "${1}.gpg" "$1" && \ echo "Encrypted to ${1}.gpg" && \ rm -i "$1" ``` ### decryptfile Location: `~/.local/bin/decryptfile` Decrypts a GPG file and copies content to system clipboard. Supports both Wayland (wl-copy) and X11 (xclip). ```bash #!/bin/bash # Decrypt a GPG file to clipboard (symmetric) # Usage: decryptfile if [ -z "$1" ]; then echo "Usage: decryptfile " exit 1 fi if [ ! -f "$1" ]; then echo "File not found: $1" exit 1 fi # Decrypt and copy to clipboard if command -v wl-copy &> /dev/null; then # Wayland gpg --decrypt "$1" 2>/dev/null | wl-copy echo "Decrypted content copied to clipboard (Wayland)" elif command -v xclip &> /dev/null; then # X11 gpg --decrypt "$1" 2>/dev/null | xclip -selection clipboard echo "Decrypted content copied to clipboard (X11)" else echo "No clipboard tool found (need wl-copy or xclip)" echo "Decrypting to stdout instead:" gpg --decrypt "$1" fi ``` ## Usage ```bash # Encrypt a file (prompts for password, deletes original) encryptfile ~/.secrets/some-password # Decrypt to clipboard (prompts for password) decryptfile ~/.secrets/some-password.gpg ``` ## Notes - Uses AES256 cipher for encryption - Outputs armored (ASCII) format for portability - Prompts to delete original file after encryption - Clipboard copy clears automatically on some systems - Consider using `pass` (standard unix password manager) for more robust solution - wraps GPG with better UX ## Dependencies - `gpg` - `wl-copy` (Wayland) or `xclip` (X11) for clipboard support