Changes
- We are now using radix tree for allowedIPBlocks and blockedIPBlocks making lookups much faster and scalable when a large number of Ip addreses are used.
- Heavily improved test coverage, including full e2e integration tests with Traefik
- Add support for reading allowedIPBlocks and blockedIPBlocks from files
- New configuration option to add the country to a request header so it can propagate through the network pipeline (i..e having the country logged in the Traefik access logs).
- Refactored bootstrap and database updates to improve performance (IpLocation database instance is now shared) and fixed several outstanding issues associated with the old database management and update implementation.
Changelog
Others
- e67910c: Empty Commit (@david-garcia-garcia)
- f9fb561: Change Logger + Fix loopback address (#21) (@david-garcia-garcia)
- f564f4a: Fix bug with auto-update hot swap not happening until ticker is called again (#20) (@david-garcia-garcia)
- d6989f9: Add fallback environment variable to guarantee startup (#19) (@david-garcia-garcia)
- bf2f638: Add allowedIPBlocksDir and blockedIPBlocksDir (#15) (@david-garcia-garcia)
- 616bfe5: Add integration tests (#9) (@david-garcia-garcia)
- b610642: Add new ipHeaders option (#10) (@david-garcia-garcia)
- 2b43ec0: April 2025 IP2LOCATION database update (@david-garcia-garcia)
- 3446667: Fix CI trigger filters (@david-garcia-garcia)
- 6d51c49: Fix tests + Add GoLand config files (#8) (@david-garcia-garcia)
- 4cd3901: Improve allowed and denied ip lookups (#12) (@david-garcia-garcia)
- 5225e8b: Make the file logger buffer configurable (#18) (@david-garcia-garcia)
- 96cb35b: Refactor bootstrap and database update process (#14) (@david-garcia-garcia)
- 50aa0f7: Refactor logger + add logger tests (#13) (@david-garcia-garcia)
- 8b0e484: Set country header (#11) (@david-garcia-garcia)
- d7d1487: Small fixes to readme.me (#17) (@david-garcia-garcia)