# logdebarker `logdebarker` is a UNIX-style log sanitizer tool written in Go. It censors sensitive information from logs, config files, and other text streams based on user-defined patterns. This is useful for cleaning data before exporting logs or sharing files. ## Features * Accepts input from STDIN or a file * Outputs to STDOUT or a specified output file * Uses `$HOME/.blocked_words.txt` as a pattern file for matching sensitive strings * Enforces strict file permissions on the config file (`0600` only) * Supports custom redaction strings (e.g. `redaction: `) * Ignores comment lines beginning with `#` in both input and config ## Usage Pipe logs through `logdebarker`: ```sh sudo cat /var/log/someprogram/log.log | logdebarker | tee cleaned_log.txt ``` Sanitize a file to a new output file: ```sh sudo logdebarker /etc/nginx/conf.d/somesite.conf output.txt ``` ## Configuration `logdebarker` reads its blocklist from: ``` $HOME/.blocked_words.txt ``` Each line should be a literal string to redact. Lines starting with `#` are ignored. You may optionally define one redaction string: ``` redaction: [your-censor-string] ``` Example `.blocked_words.txt`: ``` # block API keys redaction: ABC123XYZ456 supersecretpassword ``` ## Security To protect your sensitive word list, `logdebarker` will refuse to run if `$HOME/.blocked_words.txt` is not `chmod 600`. ```sh chmod 600 ~/.blocked_words.txt ``` ## Installation 1. Clone and build: ```sh git clone https://codeberg.org/firebadnofire/logdebarker.git cd logdebarker go build -o logdebarker ``` 2. Move the binary to your PATH: ```sh sudo install -Dm755 logdebarker /usr/local/bin/logdebarker ``` OR `go install archuser.org/logdebarker@latest` ## Final notes `Logdebarker` is not a service, so you may simply wipe out ~/.blocked_words.txt when not in use for added security. This can be done with `truncate -s 0 ~/.blocked_words.txt` Usage is as follows: ``` Usage: logdebarker [input_file] [output_file] logdebarker < input.txt > output.txt inputstream | logdebarker | outputstream ``` ## License This project is released under the GPLv3 License. --- For bug reports, suggestions, or contributions, open an issue or submit a pull request.