Configuración
Si bien la herramienta no necesita de ninguna configuración extra para funcionar, es recomendable modificar su funcionamiento a fin de optimizar la performance y exactitud de las búsquedas.
Para ello disponemos de algunos archivos de configuración que podemos utilizar, estos archivos deben tener un nombre específico y pueden estar ubicados en el directorio local, o en un directorio bajo el home del usuario llamado ~/reveal/
Ubicaciones a ignorar
Si existe un archivo llamado reveal_ignore.txt que contenga nombres de directorios, archivos, o patrones, entonces los directorios y archivos que coincidan con estas entradas van a ser ignorados.
Debemos recordar que cada una de las líneas de este archivo contiene una expresión regular, por lo que si queremos indicar un punto, debemos precederlo con el carácter de escape (en lugar de simplemente . hay que colocar \.)
Por ejemplo, en Linux, por lo general podemos ignorar los siguientes archivos y ubicaciones:
\.git
\.tmp
\.cache
\.config
(?i)\.gif
(?i)\.jpg
(?i)\.png
(?i)\.svg
\.local
\.npm
node_modules
backup.*\.txt$
# This is a comment
En forma similar, en Windows podríamos tener algo así:
\.git
node_modules
backup.*\.txt$
# This is a comment
AppData
Temp
OneDrive
Public
Windows
Program.Files
(?i)\.tmp
(?i)\.jpg$
(?i)\.png$
(?i)\.gif$
(?i)\.exe$
(?i)\.com$
Lista de BINes
Podemos tener en un archivo llamado reveal_binlist.txt la lista de bines que queremos considerar. Esta lista puede contener bines parciales, así que por ejemplo si colocamos 5399 vamos a considerar todos los números que comiencen con el valor 5399 y si colocamos el 540034 entonces consideraremos todos los números que comiencen con ese valor.
Permitidos conocidos
Podemos encontrarnos con situaciones en las que algunos valores numéricos como un ID pueden llegar a ser validados como un número de tarjeta válido, pero tenemos la certeza de que es un ID y no contiene números de tarjeta. En esos casos, podemos "blanquear" esas líneas indicando para cada tipo de archivo, reglas que nos permitan ignorar esos valores.
Eso se define en un archivo llamado reveal_whitelist.txt
Ese archivo contiene entradas con este formato:
[pattern]
s_fixed_string_to_ignore
r_regex_pattern_to_ignore
Donde:
[pattern]: Representa un nombre de archivo que se rige por los patrones de glob-style para su nombre.s_: Representa un string fijo.r_: Representa una expresión regular.
Ejemplo:
Si sabemos que en los archivos de log con nombre *output_log.txt vamos a tener líneas que contienen ID que sabemos vamos a ignorar, podríamos tener esto en el archivo:
[*output_log.txt]
s_Client_ID
r_-ID\s+\d+$
Entonces, cuando estemos procesando un archivo con nombre *output_log.txt, vamos a ignorar cualquier línea que contenga el string "Client_ID" y aquellas líneas que contengan el string "-ID" seguido de espacios y una cadena de dígitos en el final de la línea.