Open selfisekai opened 1 year ago
fairly popular client within mobile apps, due to Flutter widespread. should also be easy to implement in curl-impersonate:
https://api.dart.dev/stable/2.19.5/dart-io/HttpClient-class.html
example request from my machine (code: https://gist.github.com/selfisekai/37b88bf0c08e7e0772201f22f956ada6)
{ "http_version": "HTTP/1.1", "method": "GET", "tls": { "ciphers": [ "TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA" ], "extensions": [ { "name": "server_name (0)", "server_name": "tls.peet.ws" }, { "name": "extended_master_secret (23)", "master_secret_data": "", "extended_master_secret_data": "" }, { "name": "extensionRenegotiationInfo (boringssl) (65281)", "data": "00" }, { "name": "supported_groups (10)", "supported_groups": [ "X25519 (29)", "P-256 (23)", "P-384 (24)" ] }, { "name": "ec_point_formats (11)", "elliptic_curves_point_formats": [ "0x00" ] }, { "name": "session_ticket (35)", "data": "" }, { "name": "signature_algorithms (13)", "signature_algorithms": [ "ecdsa_secp256r1_sha256", "rsa_pss_rsae_sha256", "rsa_pkcs1_sha256", "ecdsa_secp384r1_sha384", "rsa_pss_rsae_sha384", "rsa_pkcs1_sha384", "rsa_pss_rsae_sha512", "rsa_pkcs1_sha512", "rsa_pkcs1_sha1" ] }, { "name": "key_share (51)", "shared_keys": [ { "X25519 (29)": "4b88967eb4c83ab234979bdf189976242dc9115514fda08565503eab6ea97838" } ] }, { "name": "psk_key_exchange_modes (45)", "PSK_Key_Exchange_Mode": "PSK with (EC)DHE key establishment (psk_dhe_ke) (1)" }, { "name": "supported_versions (43)", "versions": [ "TLS 1.3", "TLS 1.2" ] } ], "tls_version_record": "771", "tls_version_negotiated": "772", "ja3": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49161-49171-49162-49172-156-157-47-53-10,0-23-65281-10-11-35-13-51-45-43,29-23-24,0", "ja3_hash": "c318b1ae5d7abaaa0265af514737f2b8", "peetprint (WIP)": "772-771||29-23-24|1027-2052-1025-1283-2053-1281-2054-1537-513|1||4865-4866-4867-49195-49199-49196-49200-52393-52392-49161-49171-49162-49172-156-157-47-53-10|0-23-65281-10-11-35-13-51-45-43", "peetprint_hash (WIP)": "67e7ec4bbf1db8eaec612fe560f91274", "client_random": "70c188fe24fa4411af6721357bb8caaa986314ebdb5078216655d3327a2934d1", "session_id": "ba2025cf92241d7f3c83989766b3d95a25eb27e72d2eb94a3b55cda0e7dddf20" }, "http1": { "headers": [ "user-agent: Dart/2.19 (dart:io)", "accept-encoding: gzip", "host: tls.peet.ws" ] } }
fairly popular client within mobile apps, due to Flutter widespread. should also be easy to implement in curl-impersonate:
https://api.dart.dev/stable/2.19.5/dart-io/HttpClient-class.html
example request from my machine (code: https://gist.github.com/selfisekai/37b88bf0c08e7e0772201f22f956ada6)