- go:generate now uses -embed flag to produce //go:embed binary data
- templates.go reduced from 125KB base64 source to 0.9KB + 93KB .bin files
- binary saves ~28KB (removes base64 decode overhead at runtime)
- templates submodule updated with embed-aware generator
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Add 19 tests in core/pool/pool_test.go covering:
- addAddition: normal, after cancel, wg balance, full buffer, concurrent
- sendProcess: normal, after cancel, full buffer, concurrent
- putToOutput/putToFuzzy: normal, after cancel, Outwg balance
- Handler lifecycle: processCh close exits handler, drains all items
- Shutdown sequence: no deadlock, cancel mid-flight
- Goroutine leak detection after full shutdown
Add .github/workflows/ci.yml:
- Runs on PR to master and push to master
- Tests on ubuntu-latest and windows-latest
- go build, go test -race, go vet
Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Replace close(additionCh) with additionClosed atomic.Bool flag to
prevent panic when async producers (redirect/crawl/retry/append)
write after pool shutdown
- Guard addAddition() with ctx.Err() and additionClosed check before send
- ParseRawResponse failure no longer marks baseline as invalid or
returns early; log at debug level instead
- Read Location header from live response (resp.GetHeader) instead of
re-parsed bl.Response.Header for reliability
- Add ParseRawResponse boundary tests (nil, empty, truncated, binary, etc.)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* Initial plan
* Fix --recon plugin to extract both pentest and info data
The --recon flag was only extracting items tagged as "pentest", missing
important reconnaissance information tagged as "info" such as phone numbers,
emails, and ID cards. This caused the plugin to appear broken compared to v1.2.1.
Changed BuildPlugin() to combine both "pentest" and "info" tagged extractors
when ReconPlugin is enabled, restoring the expected behavior of extracting
comprehensive reconnaissance data including:
- Phone numbers (info)
- Email addresses (info)
- AWS keys (pentest)
- Passwords (pentest)
- And other sensitive information
Tested with a sample HTML page containing phone, email, and AWS key data,
confirming all three are now properly extracted and displayed.
Co-authored-by: chainreactorbot <[email protected]>
* Add *.stat to .gitignore and remove test stat file
* Optimize --recon extractor initialization with pre-allocated capacity
Address code review feedback by pre-allocating the slice capacity based on
the combined size of pentest and info extractors. This avoids multiple
reallocations during append operations, improving performance.
Also simplified the conditional checks to use len() instead of map lookups,
which is more idiomatic and slightly more efficient.
Tested with multiple extraction types (phones, emails, IPs, AWS keys) and
confirmed all are properly extracted.
Co-authored-by: chainreactorbot <[email protected]>
* Simplify --recon extractor code by removing unnecessary length checks
Remove redundant length checks before append operations. The append operation
with spread operator safely handles empty slices without requiring explicit
guards, making the code cleaner and more idiomatic.
This change does not affect functionality - empty slices are appended safely
without any performance penalty.
Co-authored-by: chainreactorbot <[email protected]>
* Add nil-safety for --recon extractor initialization
Extract pentest and info extractors into variables before using them. This
approach is nil-safe because len() on nil slices returns 0 and append() with
nil slices works correctly in Go. This also makes the code cleaner by avoiding
repeated map lookups.
Addresses code review feedback about potential panics if the extractor maps
don't exist or are nil.
Co-authored-by: chainreactorbot <[email protected]>
* Remove binary and add spray to .gitignore
* Remove binary from repo and update .gitignore
Co-authored-by: chainreactorbot <[email protected]>
* Remove stat files that should be ignored
* Fix .gitignore to properly exclude stat files and binary
Co-authored-by: chainreactorbot <[email protected]>
* Complete --recon functionality fix with security verification
Co-authored-by: chainreactorbot <[email protected]>
* Revert go.mod and go.sum to keep go 1.20 version
按用户要求,不升级 go.mod 版本,保持原样:
- 恢复 go 版本从 1.21 到 1.20
- 移除 toolchain go1.24.12 行
- 恢复 go.sum 到之前的状态
已验证:
- 代码可以成功编译
- --recon 功能正常工作(提取 phone 和 mail)
- 所有功能保持不变
Co-authored-by: chainreactorbot <[email protected]>
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: chainreactorbot <[email protected]>