bogdanfinn / tls-client

net/http.Client like HTTP Client with options to select specific client TLS Fingerprints to use for requests.
BSD 4-Clause "Original" or "Old" License
670 stars 133 forks source link

[Feature request] setCiphers() #25

Closed Mouad-scriptz closed 11 months ago

Mouad-scriptz commented 1 year ago

So some websites use custom ciphers to prevent botting and it would be nice to easily set them with a function so please add this!

bogdanfinn commented 1 year ago

@Mouad-scriptz you can just build a custom profile and set there your ciphers or what is the issue?

Can you maybe give an example which Cipher is required for which site in order to do a successfull request?

Mouad-scriptz commented 1 year ago

Version: TLS 1.2 (0x0303) Website: discord.com Cipher Suite: Reserved (GREASE) (0x8a8a) Cipher Suite: TLS_AES_128_GCM_SHA256 (0x1301) Cipher Suite: TLS_AES_256_GCM_SHA384 (0x1302) Cipher Suite: TLS_CHACHA20_POLY1305_SHA256 (0x1303) Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9) Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c) Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d) Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)

bogdanfinn commented 1 year ago

@Mouad-scriptz i still do not get why a setCiphers() method should be the right way. Take a look at the example code in ./examples/main.go in the function requestWithCustomClient(). There you will see how to create a complete custom client profile where you can supply your needed ciphers