Skip to content

fix(active): 主动匹配改走 neutron executer + transport-only 注入#28

Merged
M09Ic merged 2 commits into
chainreactors:masterfrom
wuchulonly:cyberhub/unify-neutron-executer
Jun 14, 2026
Merged

fix(active): 主动匹配改走 neutron executer + transport-only 注入#28
M09Ic merged 2 commits into
chainreactors:masterfrom
wuchulonly:cyberhub/unify-neutron-executer

Conversation

@wuchulonly

Copy link
Copy Markdown

fingerprinthubxray 的主动匹配(active-match)执行改走 neutron executer,并把注入方式从"整包 Client 替换"改为 transport-only(只换 Transport)。

改动文件

  • fingerprinthub/fingerprinthub.go:主动匹配改走 neutron executer
  • xray/xray.go:同步 transport-only 注入
  • go.mod / go.sum:依赖更新

为什么

  • 整包 Client 注入会覆盖模板自带的 CheckRedirect,导致模板跟跳策略失效
  • 模板 redirects:false(默认不跟跳)在注入 Client 后被破坏,造成系统性漏检
  • transport-only 只换传输层(Transport),保住模板的 CheckRedirect / cookie 等逻辑,跟跳由模板自身决定

基于上游 master(f5c144e),零冲突。

🤖 Generated with Claude Code

root and others added 2 commits June 12, 2026 13:49
…h transport-only injection

HTTPActiveMatch in both engines now runs the whole template via
ExecuteWithTransport instead of either a hand-rolled per-request
ExecuteWithResults loop (fingerprinthub) or ExecuteWithClient (both):

- Whole-template execution lets neutron maintain __request_index_offset, so
  converted multi-request templates no longer collapse body_N to body_1 and
  miss.
- Transport-only injection swaps just the RoundTripper, preserving the
  template's compiled CheckRedirect/Jar/Timeout. ExecuteWithClient replaced the
  whole client and dropped the redirect policy, so redirects:false fingerprints
  asserting on the Location header were followed and missed.

xray.isRootPath now also accepts {{RootURL}}/ (newer neutron convert emits
RootURL rather than BaseURL for root probes); without it, passive WebMatch
skipped every converted root-path template.

go.mod: align neutron + govaluate with the executer API used above.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@M09Ic M09Ic merged commit b805962 into chainreactors:master Jun 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants