This release includes the following changes:
* Execution hooks - `bbrf listen` will now also execute custom local scripts when it detects new or updated ips, domains, urls and/or services were added to the database. It will automatically look for and execute `.sh` files in `~/.bbrf/hooks/ip/new/`, `~/.bbrf/hooks/ip/update/`, `~/.bbrf/hooks/domain/new/`, etc. For example, here is an execution hook that will resolve newly added domains and store the results to your database:
bash
!/bin/bash
BBRF hook - save to ~/.bbrf/hooks/domain/new/resolve.sh
domains=$
printf '%s\n' ${domains[]} | dnsx -silent -a -resp | tr -d '[]' | tee \
>(awk '{print $1":"$2}' | bbrf domain update -) \
>(awk '{print $2":"$1}' | bbrf add - -p INFER) \
>(awk '{print $2":"$1}' | bbrf ip update -);
* Use the dynamic program name `-p INFER` to infer the program name based on other properties if you're unable to specify the program flag yourself for some reason; this is currently supported for the following operations:
- `bbrf ip add 1.1.1.1:example.tld -p INFER` will set the IP's program name to the same as the domain `example.tld` if it already exists;
- `bbrf domain add some.example.tld:1.2.3.4 -p INFER` will set the domain's program name to the same as `1.2.3.4` if it already exists - note that this will bypass the scope validation of the program, because the program name is inferred just before writing to the database.
- `bbrf domain add some.example.tld some.other.tld -p INFER` will add the domains to whatever program scope matches the input;
- `bbrf url add http://this.example.tld https://that.some.tld/robots.txt -p INFER` will add the URLs to whatever program has the domain in scope;
* Increased verbosity of error messages in debug mode to improve debugging capabilities;
* Various bugfixes
To upgrade your client run `pip install --upgrade bbrf`.