add redacted.sh for not leaking secrets when sharing logs
This commit is contained in:
parent
b7af34c0c3
commit
3f4a574e3a
28
redacted.sh
Normal file
28
redacted.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
default_rules=(
|
||||
's/[0-9]\{1,3\}\(\.[0-9]\{1,3\}\)\{3\}/<REDACTED_IP>/g'
|
||||
's/\b[a-zA-Z0-9._-]\+\.[a-zA-Z]\{2,\}\b/<REDACTED_DOMAIN>/g'
|
||||
's/\b[A-Za-z0-9+\/=]\{20,\}\b/<REDACTED_TOKEN>/g'
|
||||
's/\(password=\)\S\+/\1<REDACTED_PASS>/g'
|
||||
)
|
||||
|
||||
rules=()
|
||||
while [[ $1 =~ ^s/ ]]; do
|
||||
rules+=("$1")
|
||||
shift
|
||||
done
|
||||
[[ ${#rules[@]} -eq 0 ]] && rules=("${default_rules[@]}")
|
||||
|
||||
sed_expr=()
|
||||
for r in "${rules[@]}"; do
|
||||
sed_expr+=( -e "$r" )
|
||||
done
|
||||
|
||||
# If files are passed, process them to stdout.
|
||||
# If none, read from stdin to stdout.
|
||||
if [[ $# -gt 0 ]]; then
|
||||
sed "${sed_expr[@]}" "$@"
|
||||
else
|
||||
sed "${sed_expr[@]}"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user