Skip to content

Need documentation for utls-imitate and utls-nosni

!76 (merged) added support for uTLS in the client for broker rendezvous, using the SOCKS parameters utls-imitate and utls-nosni. But I could not find documentation of these options. They should be described in client/README.md and the example client torrc, at least.

There also needs to be a listing somewhere of what values may be passed to utls-imitate. I found the list of understood values in common/utls/client_hello_id.go. This list should also appear in client/README.md (manually maintained), the -help output (automatically updated), or both.

This is the code in dnstt-client that lists the known fingerprints in -help output: https://repo.or.cz/dnstt.git/blob/14a29048e4b659cb3113a7af37fbdb3349f13d37:/dnstt-client/main.go#l258

Its output looks like this:

Known TLS fingerprints for -utls are:
  none Firefox Firefox_55 Firefox_56 Firefox_63 Firefox_65 Chrome
  Chrome_58 Chrome_62 Chrome_70 Chrome_72 Chrome_83 iOS iOS_11_1
  iOS_12_1
Edited by David Fifield