Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Question: Custom UTLS Hello Specifications + the HTTP Transport Bridge? #1

Open
BusterNeece opened this issue Aug 16, 2021 · 1 comment

Comments

@BusterNeece
Copy link

Hello! I'm doing a little research into using this project, and while it seems to solve a problem I'm running into quite well, one limitation I'm running into is that UTLS's named Hello spec IDs aren't necessarily up-to-date, but to use a customized one (with a custom ClientHelloSpec) requires calling ApplyPreset directly onto an active connection, which is not something it appears this bridge exposes at all.

Perhaps it's just a rookie misunderstanding on my part, but can you help me understand if (and how) it's possible to implement custom client hello specifications while using this bridge?

Thank you so much!

@bassosimone
Copy link
Owner

bassosimone commented Aug 16, 2021

Dear @SlvrEagle23,

thank you for your interest in this proof of concept! As @ooni, we are going to use another strategy regarding how to integrate the uTLS library along with a net/http client. We have forked the stdlib net/http tree here https://github.com/ooni/oohttp and we are going to use this modified client along with uTLS for our measurements.

Regarding your question proper, I think it is possible to create a custom TLS ClientHello fingerprint and then set the UHTTPtransport.UTLSClientHelloID. The following link provides example code that shows how to do that: https://github.com/bassosimone/tlsfingerprint/blob/master/main.go. At the time when I wrote the code, the fingerprint in there was IIRC a very popular Chrome fingerprint.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants