This is a light version of
refraction-networking/utls
with a focus on parrotting a single browser and hence implementing only the
strict minimal set of features needed for that.
Design goals:
Parroting the most popular browser out there (Google Chrome)
Smallest number of changes to the go/tls codepath
It should be possible to easily inspect the diff with upstream (see the diff for the last update)
Non-goals:
Pluggable support for multiple TLS fingerprints
Thanks to @FiloSottile for the insight and suggestion to take the approach of
parsing the raw ClientHello bytes and re-serialising them.