blob: c4fffbe1e1f63e8b4cf9ac8c85f726f7684fe08e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# 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 <file>
if [ -z "$1" ]; then
echo "Usage: encryptfile <file>"
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 <file.gpg>
if [ -z "$1" ]; then
echo "Usage: decryptfile <file.gpg>"
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
|