CUCyber / ja3transport

Impersonating JA3 signatures
MIT License
372 stars 61 forks source link

Possible to support socks5 proxy? #9

Closed aj3423 closed 2 years ago

aj3423 commented 2 years ago

I'm trying to connect through socks5 proxy, I found another thread about how to use https proxy, I tried with socks5:

    ja3_transport, _ := ja3transport.NewTransportWithConfig(ja3_str, &utls.Config{
        InsecureSkipVerify: true,
    })

    // set proxy
    u, _ := url.Parse("socks5://....")
    ja3_transport.Proxy = http.ProxyURL(u)

    client := &http.Client{
        Transport: ja3_transport,
    }

    req, _ := http.NewRequest(method, "https://....", nil)

    client.Do(req)

Is it possible to use both?

t94j0 commented 2 years ago

Using a proxy will encapsulate the source TLS ClientHello and use the proxy's ClientHello, so your JA3 fingerprint will change if you're using a proxy at all. If you need to change the fingerprint, you'll need to change the fingerprint on the proxy, not the client.