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