rawandahmad698 / noble-tls

TLS-Spoofing HTTP library, based on requests. Automatically updates JA3 fingerprints.
MIT License
161 stars 14 forks source link

Question: does noble-tls re orders the headers passed in based on client passed. #10

Closed kashif-ghafoor closed 3 months ago

kashif-ghafoor commented 3 months ago

Coudln't find discussions tab on repo so Asking question by creating issue.

I am curious to know if node-tls reorders the headers(especially pseudo headers) based on given client i.e CHROME_103 OR FIREFOX_120?

Let's say if I pass following headers while making request. does it have a default way to re-order headers or it just uses the original headers order.

{
  'sec-ch-ua': '"Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"',
  'sec-ch-ua-mobile': '?0',
  'sec-ch-ua-platform': '"Windows"',
  'upgrade-insecure-requests': '1',
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
  accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
  'sec-fetch-site': 'same-site',
  'sec-fetch-mode': 'navigate',
  'sec-fetch-user': '?1',
  'sec-fetch-dest': 'document',
  'accept-encoding': 'gzip, deflate, br, zstd',
  'accept-language': 'en-US',
  ':authority': 'www.example.com',
  ':method': 'GET',
  ':path': /example/path,
  ':scheme': 'https',
}
rawandahmad698 commented 3 months ago

Noble doesn't. But take a look at the underlying go services used by Noble. You'd find your answer here: https://github.com/bogdanfinn/tls-client