Description
Add a check that auto-detects the proxy protocol by probing the proxy server with SOCKS5, SOCKS4, and HTTP CONNECT greetings. Users often don't know what type of proxy they're behind, and misconfiguration is the #1 cause of "proxy doesn't work."
sing-box and xray-core auto-detect proxy types. proxychains-ng users frequently misconfigure proxy types (issue #246).
Codebase starting point
core/adapters/socks.go — SOCKS4/SOCKS5 protocol implementations, shows greeting byte sequences
core/adapters/http_proxy.go — HTTP/HTTPS CONNECT implementation
core/adapters/factory.go — AdapterFactory switch on proxy type
core/checks/register.go — where to register the new check
Acceptance Criteria
Description
Add a check that auto-detects the proxy protocol by probing the proxy server with SOCKS5, SOCKS4, and HTTP CONNECT greetings. Users often don't know what type of proxy they're behind, and misconfiguration is the #1 cause of "proxy doesn't work."
sing-box and xray-core auto-detect proxy types. proxychains-ng users frequently misconfigure proxy types (issue #246).
Codebase starting point
core/adapters/socks.go— SOCKS4/SOCKS5 protocol implementations, shows greeting byte sequencescore/adapters/http_proxy.go— HTTP/HTTPS CONNECT implementationcore/adapters/factory.go—AdapterFactoryswitch on proxy typecore/checks/register.go— where to register the new checkAcceptance Criteria
core/checks/proxy_fingerprint/check.goimplementingcheck.Checker05 01 00) and analyze responsecore/checks/register.gocore/checks/proxy_fingerprint/check_test.go