@@ -1514,10 +1514,10 @@ index 93cc2d44f..52e80ce9c 100644
15141514 * Store nghttp2 version info in this buffer.
15151515diff --git a/lib/impersonate.c b/lib/impersonate.c
15161516new file mode 100644
1517- index 000000000..e2cb10a9a
1517+ index 000000000..0ce4c3be5
15181518--- /dev/null
15191519+++ b/lib/impersonate.c
1520- @@ -0,0 +1,1434 @@
1520+ @@ -0,0 +1,1502 @@
15211521+ #include "curl_setup.h"
15221522+
15231523+ #include <curl/curl.h>
@@ -2435,6 +2435,7 @@ index 000000000..e2cb10a9a
24352435+ .http2_settings = "1:65536;2:0;4:131072;5:16384",
24362436+ .http2_window_update = 12517377,
24372437+ .http2_pseudo_headers_order = "mpas",
2438+ + .http2_stream_exclusive = 0,
24382439+ .cert_compression = "zlib,brotli,zstd",
24392440+ .ech = "grease",
24402441+ .tls_session_ticket = true,
@@ -2499,6 +2500,7 @@ index 000000000..e2cb10a9a
24992500+ .http2_settings = "1:65536;2:0;4:131072;5:16384",
25002501+ .http2_window_update = 12517377,
25012502+ .http2_pseudo_headers_order = "mpas",
2503+ + .http2_stream_exclusive = 0,
25022504+ .cert_compression = "zlib,brotli,zstd",
25032505+ .ech = "grease",
25042506+ .tls_session_ticket = true,
@@ -2948,6 +2950,72 @@ index 000000000..e2cb10a9a
29482950+ .tls_use_new_alps_codepoint = false,
29492951+ .tls_signed_cert_timestamps = true,
29502952+ .tls_grease = true
2953+ + },
2954+ + {
2955+ + .target = "tor145", // tor 14.5, based on firefox 128
2956+ + .alias = "tor145",
2957+ + .httpversion = CURL_HTTP_VERSION_2_0,
2958+ + .ssl_version = CURL_SSLVERSION_TLSv1_2 | CURL_SSLVERSION_MAX_DEFAULT,
2959+ + .ciphers =
2960+ + "TLS_AES_128_GCM_SHA256,"
2961+ + "TLS_CHACHA20_POLY1305_SHA256,"
2962+ + "TLS_AES_256_GCM_SHA384,"
2963+ + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,"
2964+ + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,"
2965+ + "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,"
2966+ + "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,"
2967+ + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,"
2968+ + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,"
2969+ + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,"
2970+ + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,"
2971+ + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,"
2972+ + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,"
2973+ + "TLS_RSA_WITH_AES_128_GCM_SHA256,"
2974+ + "TLS_RSA_WITH_AES_256_GCM_SHA384,"
2975+ + "TLS_RSA_WITH_AES_128_CBC_SHA,"
2976+ + "TLS_RSA_WITH_AES_256_CBC_SHA",
2977+ + .http_headers = {
2978+ + "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:128.0) Gecko/20100101 Firefox/128.0",
2979+ + "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
2980+ + "Accept-Language: en-US,en;q=0.5",
2981+ + "Accept-Encoding: gzip, deflate, br, zstd",
2982+ + "Sec-GPC: 1",
2983+ + "Upgrade-Insecure-Requests: 1",
2984+ + "Sec-Fetch-Dest: document",
2985+ + "Sec-Fetch-Mode: navigate",
2986+ + "Sec-Fetch-Site: none",
2987+ + "Sec-Fetch-User: ?1",
2988+ + "Priority: u=0, i",
2989+ + "Te: trailers"
2990+ + },
2991+ + .curves = "X25519:P-256:P-384:P-521:ffdhe2048:ffdhe3072",
2992+ + .sig_hash_algs =
2993+ + "ecdsa_secp256r1_sha256,"
2994+ + "ecdsa_secp384r1_sha384,"
2995+ + "ecdsa_secp521r1_sha512,"
2996+ + "rsa_pss_rsae_sha256,"
2997+ + "rsa_pss_rsae_sha384,"
2998+ + "rsa_pss_rsae_sha512,"
2999+ + "rsa_pkcs1_sha256,"
3000+ + "rsa_pkcs1_sha384,"
3001+ + "rsa_pkcs1_sha512,"
3002+ + "ecdsa_sha1,"
3003+ + "rsa_pkcs1_sha1",
3004+ + .alpn = true,
3005+ + .http2_settings = "1:65536;2:0;4:131072;5:16384",
3006+ + .http2_window_update = 12517377,
3007+ + .http2_pseudo_headers_order = "mpas",
3008+ + .http2_stream_exclusive = 0,
3009+ + .cert_compression = "zlib,brotli,zstd",
3010+ + .ech = "grease",
3011+ + .tls_session_ticket = true,
3012+ + .tls_extension_order = "0-23-65281-10-11-16-5-34-51-43-13-28-65037",
3013+ + .tls_delegated_credentials = "ecdsa_secp256r1_sha256:ecdsa_secp384r1_sha384:ecdsa_secp521r1_sha512:ecdsa_sha1",
3014+ + .tls_record_size_limit = 4001,
3015+ + .tls_grease = false,
3016+ + .tls_signed_cert_timestamps = true,
3017+ + .tls_key_shares_limit = 3,
3018+ + .use_firefox_tls13_ciphers = true
29513019+ }
29523020+ };
29533021+
0 commit comments