feat: v0.6.0 — rand, quota, stdin support, Bitcoin IOC extraction, build tooling overhaul - #7
Merged
Conversation
Replace single ambiguous ip.me lookup with dedicated api.ipify.org (IPv4) and api6.ipify.org (IPv6) endpoints. Add -4/-6 flags to pick a single family (default: show both) and --json for structured output.
Bumps direct deps (cobra, fatih/color, rodaine/table, x/term, resty.dev/v3) and transitive deps to latest available versions.
Move main.go to cmd/soc-cli/main.go, wire version/commit/date into internal/version (ldflags + go-install fallback), drop version.txt and build.sh in favor of common.mk's dist/release targets, adapt release.sh, and update docs. Remove stale AGENTS.md.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
randcommand: cryptographically secure random string generation (base64,hexsubcommands, configurable length)quotacommand: check remaining API quota for VirusTotal, AbuseIPDB, and URLScanstringscommand: now reads from stdin when no file is given; renamed flags (-nmin-length,--unicodefor non-ASCII mode)ipcommand: accepts IP from stdin (echo 1.2.3.4 | soc-cli ip)defang/fangcommands: new--file/-fflag to process a list of IOCs from a fileextract-ioccommand: extracts Bitcoin addresses, new--no-domainsflag, filters false-positive domains with common file extensions, cleaner code structureurl-scancommand:--visibilityflag (public/unlisted/private),--debugflag for structured slog output, proper HTTP status error handlingmyipcommand: IPv4/IPv6 selection and JSON outputmain.gomoved tocmd/soc-cli/main.gointernal/versionpackage now owns Version/GitCommit/BuildDate, ldflags-injected at build time with ago installfallback viaruntime/debug.ReadBuildInfo()Makefilenow includes a sharedcommon.mk(help/build/run/test/cover/lint/tidy/ci/dist/release/clean); binaries build tobin/, cross-platform release archives + checksums todist/build.shandversion.txtremoved (superseded bymake dist/make release)release.shtakes an explicit version arg, builds viamake release, GPG-signsdist/SHA256SUMS, and publishes fromdist/AGENTS.mdremoved (superseded byCLAUDE.md)Test plan
soc-cli rand base64 32andsoc-cli rand hex 16produce correct-length outputsoc-cli quotashows quota for each configured API keyecho 1.2.3.4 | soc-cli ipworks without positional argsoc-cli defang -f demo/defanged_ips.txtdefangs each linesoc-cli fang -f demo/defanged_ips.txtre-fangs each linesoc-cli extract-ioc demo/incident_report.txtextracts Bitcoin addressessoc-cli extract-ioc demo/incident_report.txt --no-domainssuppresses domain outputsoc-cli strings demo/test_strings.binextracts ASCII strings from binarycat demo/test_strings.bin | soc-cli stringsworks via stdinsoc-cli url-scan --visibility public <url>uses correct visibilitygo build ./...andgo vet ./...passmake build && ./bin/soc-cli version— version stamped correctlymake dist— all 6 platforms buildmake release— archives + SHA256SUMS generated indist/go install ./cmd/soc-cli— version falls back to VCS build info correctly🤖 Generated with Claude Code