๐Ÿ”ง cURL & curl-impersonate ํ…Œ์ŠคํŠธ ver.2025-12-26-001

BoringSSL ๋ฐ Chrome 116 ๋ฐ”์ด๋„ˆ๋ฆฌ ์ƒํƒœ ํ™•์ธ

1. ์‹œ์Šคํ…œ ์ •๋ณด

PHP Version
8.1.33
cURL Version
8.1.1
SSL Library
BoringSSL โœ“ BoringSSL
curl-impersonate: Chrome 116
โœ“ ์„ค์น˜๋จ
cURL ๊ธฐ๋Šฅ
IPv6, SSL, libz, HTTP/2

2. BoringSSL ์‚ฌ์šฉ ์—ฌ๋ถ€

โœ…
BoringSSL์ด ์ ์šฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค
PHP cURL์ด BoringSSL๋กœ ๋นŒ๋“œ๋˜์–ด curl-impersonate ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Chrome 116 ๋ฐ”์ด๋„ˆ๋ฆฌ ์ƒํƒœ

โœ…
Chrome 116 ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค
๊ฒฝ๋กœ: /usr/local/bin/curl_chrome116
๋ฐ”์ด๋„ˆ๋ฆฌ ์ •๋ณด
curl 8.1.1 (x86_64-pc-linux-gnu) libcurl/8.1.1 BoringSSL zlib/1.3 brotli/1.0.9 nghttp2/1.56.0 Release-Date: 2023-05-23 Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe UnixSockets

4. ์š”์ฒญ ํ…Œ์ŠคํŠธ

5. ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

๐Ÿ˜ PHP cURL (๊ธฐ๋ณธ ๋ฐฉ์‹)
SUCCESS596msHTTP 200
JA3 Hash
2a545d537d91729c00b17feecad19f10
TLS Version
TLS 1.3 (772)
๐Ÿ“‹ ์ƒ์„ธ ์ •๋ณด
{
  "donate": "Please consider donating to keep this API running. Visit https://tls.peet.ws",
  "ip": "49.247.49.173:2283",
  "http_version": "h2",
  "method": "GET",
  "user_agent": "Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36",
  "tls": {
    "ciphers": [
      "TLS_GREASE (0x3A3A)",
      "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_RSA_WITH_AES_128_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"
    ],
    "extensions": [
      {
        "name": "TLS_GREASE (0xfafa)"
      },
      {
        "name": "extended_master_secret (23)",
        "master_secret_data": "",
        "extended_master_secret_data": ""
      },
      {
        "name": "psk_key_exchange_modes (45)",
        "PSK_Key_Exchange_Mode": "PSK with (EC)DHE key establishment (psk_dhe_ke) (1)"
      },
      {
        "name": "application_settings_old (17513)",
        "protocols": [
          "h2"
        ]
      },
      {
        "name": "supported_groups (10)",
        "supported_groups": [
          "TLS_GREASE (0x7a7a)",
          "X25519 (29)",
          "P-256 (23)",
          "P-384 (24)"
        ]
      },
      {
        "name": "supported_versions (43)",
        "versions": [
          "TLS_GREASE (0x2a2a)",
          "TLS 1.3",
          "TLS 1.2"
        ]
      },
      {
        "name": "ec_point_formats (11)",
        "elliptic_curves_point_formats": [
          "0x00"
        ]
      },
     
๐ŸŒ curl-impersonate: Chrome 116
SUCCESS537msHTTP 200Chrome 116
JA3 Hash
7e61a80084f41412280c4257ac557edd
TLS Version
TLS 1.3 (772)
๐Ÿ“‹ ์ƒ์„ธ ์ •๋ณด
{
  "donate": "Please consider donating to keep this API running. Visit https://tls.peet.ws",
  "ip": "49.247.49.173:55130",
  "http_version": "h2",
  "method": "GET",
  "user_agent": "Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36",
  "tls": {
    "ciphers": [
      "TLS_GREASE (0xBABA)",
      "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_RSA_WITH_AES_128_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"
    ],
    "extensions": [
      {
        "name": "TLS_GREASE (0x0a0a)"
      },
      {
        "name": "signed_certificate_timestamp (18)"
      },
      {
        "name": "ec_point_formats (11)",
        "elliptic_curves_point_formats": [
          "0x00"
        ]
      },
      {
        "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"
        ]
      },
      {
        "name": "supported_groups (10)",
        "supported_groups": [
          "TLS_GREASE (0x9a9a)",
          "X25519 (29)",
          "P-256 (23)",
          "P-384 (24)"
        ]
      },
      {
        "name": "extended_master_secret (23)",
        "master_secret_data": "",
        "extended_master_secret_data": ""
      },
   
๐Ÿ“Š ๋น„๊ต ๊ฒฐ๊ณผ
ํ•ญ๋ชฉPHP cURLChrome 116๋น„๊ต
SSL LibraryBoringSSLBoringSSL (curl-impersonate)โœ“ PHP๋„ BoringSSL
JA3 Hash2a545d537d91729c00b17feecad19f107e61a80084f41412280c4257ac557eddโš ๏ธ ๋‹ค๋ฆ„ (Chrome 116์ด ๋” ์ •ํ™•)
TLS Version772772โœ“ ๋™์ผ
์‘๋‹ต ์‹œ๊ฐ„596ms537msChrome 116์ด 59ms ๋น ๋ฆ„
HTTP ์ฝ”๋“œ200200โœ“ ๋™์ผ
โš ๏ธ JA3 Hash๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค
PHP cURL๊ณผ Chrome 116์˜ TLS ํ•‘๊ฑฐํ”„๋ฆฐํŠธ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. curl-impersonate ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์ œ Chrome๊ณผ ๋™์ผํ•œ ํ•‘๊ฑฐํ”„๋ฆฐํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ์š”์•ฝ

BoringSSL ์ƒํƒœ
โœ… ์ ์šฉ๋จ
Chrome 116 ๋ฐ”์ด๋„ˆ๋ฆฌ
โœ… ์„ค์น˜๋จ
๊ถŒ์žฅ ์‚ฌํ•ญ
โœ… ์ตœ์  ์ƒํƒœ