A rust implementation of chickadee
This is under development. Please do not use.
This crate is not yet available on crates.io. You can install it with
cargo install --git https://github.com/chapinb/chickadee-rs
This is a command line application that extracts a collection of IP addresses from a source and enriches them with the ip-api.com API.
More APIs to come in the future.
chickadee --ips 1.1.1.1
chickadee --ips 1.1.1.1 --columns query,city,country
chickadee --ips "1.1.1.1,2.2.2.2 3.3.3.3 4.4.4.4"
chickadee --ips firewall.log
chickadee --ips cloudtrail.log.gz
After checking out this repository, run the following commands from the root:
cargo install cargo-checkmate
pre-commit install --install-hooks
pre-commit run --all
cargo checkmate
Open a merge request for each new feature, keeping the commits and overall diffs as small as possible. Only submit one new feature per merge request.
You can run tests with cargo test
. You may want to use cargo watch -x test
to continuously run tests as you work.
The CI will automatically run 2 tests, seen in detail in .github/workflows
:
cargo checkmate
cargo run -- ...
with 3 scenarios
Run the ./tools/post-bom.sh
script from the same directory as this README with the args:
http://localhost:8081
cargo install flamegraph
cargo build
flamegraph -- target/debug/chickadee --ips test_data/test.ips.txt --columns query,lat,lon