Skip to content

feat: Add HTTP/HTTPS/SOCKS proxy support #27

@maycon

Description

@maycon

Summary

Add support for routing TRECO requests through HTTP, HTTPS, and SOCKS proxies. This is essential for:

  • Intercepting traffic with Burp Suite / OWASP ZAP
  • Testing through corporate proxies
  • Anonymizing attack traffic
  • Bypassing IP-based rate limiting

Proposed Configuration

config:
  proxy:
    url: "http://127.0.0.1:8080"
    # or
    http: "http://127.0.0.1:8080"
    https: "http://127.0.0.1:8080"
    socks: "socks5://127.0.0.1:1080"
    
    # Optional authentication
    username: "user"
    password: "pass"
    
    # Optional: bypass proxy for certain hosts
    no_proxy: ["localhost", "127.0.0.1", "*.internal.com"]

Use Cases

  1. Security Testing: Route through Burp/ZAP to inspect requests
  2. Corporate Environments: Required proxy for external access
  3. Rate Limit Bypass: Rotate through multiple proxies
  4. Anonymity: Hide source IP during authorized testing

Acceptance Criteria

  • Support HTTP proxy
  • Support HTTPS proxy
  • Support SOCKS5 proxy
  • Support proxy authentication
  • Support no_proxy exclusion list
  • Environment variable fallback (HTTP_PROXY, HTTPS_PROXY)
  • CLI override (--proxy)
  • Works with all connection strategies (preconnect, multiplexed, lazy, pooled)

Sub-issues

Technical Notes

httpx supports proxies natively:

client = httpx.Client(
    proxies={
        "http://": "http://127.0.0.1:8080",
        "https://": "http://127.0.0.1:8080",
    }
)

References

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions