Repository navigation
Releases
Releases · bakhod1r/ipx
v0.5.0
Core (stdlib only):
sqlip: database/sql Scanner/Valuer —Addr,Prefix(Postgres inet/cidr, text),BinaryAddr(MySQL VARBINARY(16))cloud: fetch AWS / Google Cloud / Cloudflare published ranges,Index.Lookup→ provider/region/servicehttpip.Resolve: transport-agnostic client IP resolution- Fix:
ParseHostrejected peers with port 0 (in-memory/unix listeners)
New modules (separate go.mod, core stays dependency-free), tagged integrations/<name>/v0.1.0:
integrations/ginipx,integrations/echoipx,integrations/fiberipx(Fiber v3):ClientIP,Restrict,FromContextintegrations/geoip: MaxMind MMDBCountry,ASN,Lookup(databases not bundled)
100% statement coverage in every package and module, enforced in CI.
🤖 Generated with Claude Code
v0.4.0
FindOverlaps,BuildTree: overlap report and containment hierarchyRFC2317Zone,RFC2317CNAMEs: classless reverse delegationIPSet.ContainsBatch,Table.LookupBatch- New
ipx/k8spackage: cluster network validation, node podCIDRs, service IPs (stdlib only) IPSet.Contains2x faster (on par with netipx);Range.Prefixes26% faster than netipxbench/module comparing with go4.org/netipx- 100% statement coverage in all packages, enforced in CI
🤖 Generated with Claude Code
v0.3.0
- CLI:
ipx plan <prefix> <len|hosts:N>...(VLSM),ipx alloc <prefix> <n> [--reserve ip]... - CLI:
--jsonoutput for every command - golangci-lint v2 config + CI lint job
🤖 Generated with Claude Code
v0.2.1
Allocator: O(log n) scan via sorted taken ranges (near-full pools no longer walk every address)Table.Lookup: precomputed node masks (~92→86 ns/op, 0 allocs)- MIT license
- Pages workflow no longer cancels in-progress deploys
🤖 Generated with Claude Code
v0.2.0
SafeDialer: SSRF-safeDialContext— checks every resolved IP, dials the checked IP (no DNS rebinding)Table: path-compressed trie, collapses on delete (fuzzed against linear scan)IsInternal/IsCloudMetadata: zero allocationsIPSet.ContainsRangeO(log n);IPSetText/JSON;Rangebinary encoding- Testable examples, CI (race + fuzz), website: https://bakhod1r.github.io/ipx/
🤖 Generated with Claude Code
v0.1.0
Initial release.
- Parsing/validation, IANA special-purpose classification
- 128-bit arithmetic, CIDR/subnet math, VLSM planning
- Range, immutable IPSet algebra, aggregation/subtraction
- LPM Table/SyncTable, ACL, Allocator
- Reverse DNS, endpoints, SSRF checks (IsInternal)
- httpip: trusted-proxy client IP + middleware
- ipx CLI
go get github.com/bakhod1r/ipx@v0.1.0
go install github.com/bakhod1r/ipx/cmd/ipx@v0.1.0
🤖 Generated with Claude Code
integrations/ginipx v0.1.1
- Bump indirect deps: golang.org/x/crypto 0.52.0, x/net 0.54.0, x/sys 0.45.0, x/text 0.37.0 (#1)
go get github.com/bakhod1r/ipx/integrations/ginipx@v0.1.1
🤖 Generated with Claude Code