You've already forked ipfilter
1.4 KiB
1.4 KiB
IP Filter
A set of crates for the construction and use of optimized IP filtering mechanisms.
Setup
- Create
private/secret.shcontainingexport IP2LOCATION_TOKEN='' - Run
./private/dl.sh DB1LITECSV DB1LITECSVIPV6 - List available countries using
cargo run -- -i private/DB1-LITE-V4.CSV list - Generate a filter using
cargo run -- -i ./private/DB1-LITE-V4.CSV merge -c CA -o ./private/filter4.bin - Generate a filter using
cargo run -- -i ./private/DB1-LITE-V6.CSV merge -c CA -6 -o ./private/filter6.bin - Verify IP ranges using
cargo run -- -i ./private/filter4.bin loadorcargo run -- -i ./private/filter6.bin load -6
Round trip checks
diff <(cargo run -- -i ./private/DB1-LITE-V4.CSV merge -c CA) <(cargo run -- -i ./private/filter4.bin load)diff <(cargo run -- -i ./private/DB1-LITE-V6.CSV merge -c CA -6) <(cargo run -- -i ./private/filter6.bin load -6)
Various builds
- build:
cargo hack --feature-powerset build - clippy:
cargo hack --feature-powerset clippy -- -D warnings - test:
cargo hack --feature-powerset test - test old:
cargo +1.85 hack --feature-powerset test - miri:
cargo +nightly hack --feature-powerset miri test - fmt:
cargo fmt --check - docs:
RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features - semver:
cargo semver-checks --all-features - publish:
cargo publish --dry-run -p ipfilter