# This file contains client handshake data manually created from Wireshark. # The content needs to be added to client-simulation.txt which other part # comes from the SSLlabs client API via update_client_sim_data.pl # The whole process is done manually. # # Instructions how to add a client simulation see file "client-simulation.wiresharked.md". names+=("Android 7.0 (native)") short+=("android_70") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("160301009d0100009903036cea0f867ae9fdd087adedaa810119e62971b36c0486d44fb3099e51403c8a1e000018c02bc02ccca9c02fc030cca8c013c014009c009d002f003501000058ff010001000000000d000b00000873796e6f642e696d0017000000230000000d0016001406010603050105030401040303010303020102030010000e000c02683208687474702f312e31000b00020100000a000400020017") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("HTTP,FTP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("prime256v1") requiresSha2+=(false) current+=(true) names+=("Android 8.1 (native)") short+=("android_81") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030100c0010000bc030346fcc7d3e5a9f68af0aa05de62de63c4ad1a4f472da56aa1424041106922370720ef51a7595abfd5bb32038c96c481bb6449053ba08023a752d124b1c1ca7d34fe001cc02bc02ccca9c02fc030cca8c009c00ac013c014009c009d002f0035010000570000001700150000127777772e676f6f676c65617069732e636f6d00170000ff01000100000a00080006001d00170018000b00020100000500050100000000000d00140012040308040401050308050501080606010201") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(true) names+=("Android 9.0 (native)") short+=("android_90") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010246010002420303d6259dca682ab368c7e095da7189996da830514896063d4acdc83cb5d2c2568d2041a787bf8dd3d7a1ceda514a6606f1068432a13063ea320fd7e7b367af47ecae00220a0a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001d77a7a00000000001e001c0000196c68332e676f6f676c6575736572636f6e74656e742e636f6d00170000ff01000100000a000a0008aaaa001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b0029aaaa000100001d00203e67895a11e9ce5c69df2995782adaddb7a03ef30b245000ca332d5940ecff20002d00020101002b000b0aeaea0304030303020301001b00030200026a6a0001000029010500e000da001c9941f6b101f853f370851e583bd22e03150fc67298947270c6058707fe1670efe590d777a34b9e2e2d0ec6aa8d0ddc375c2535934c75c9623d1a271f735417fdd9190dae7f4c8541c262f8fbfeee2e820f54f59f68e78503f5c093f6084037be22c20dad3d057f64dc73f2dd45948e27c707f3f2107b32040a21fa9c1273e7797aaf5a5bc8994e9eafc4bd43b2951e10f952564a910f146344ec6d0c49f75fc6a070c75f0ffdd84fe9e10f77c23f1062e90f9e1e396eddb84d8ac00bf7ac87c557622dd18c54bbc229268699c60434648b279dd86e996baee9d1c155002120235d43319c7d5bb4725a52fa782468cd2280bd622c40a36296b354759f6d4389") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(true) names+=("Android 10.0 (native)") short+=("android_X") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc0303b0e379bbe0d7058b2d0b548d7f240da621716032e8a1577d3f3a34c2cc6794c420c44a8b4cae0a1a53970f394f078373ad2cc8962a87fad719ff8a637633792a9a00223a3a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001919a9a00000000002500230000206b6964736d616e6167656d656e742d70612e676f6f676c65617069732e636f6d00170000ff01000100000a000a0008aaaa001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b0029aaaa000100001d002068d49fc35d239c0ebf95fecdc700b5a4e3f99a7c3411f90c2dd51cb9431d3330002d00020101002b000b0a2a2a0304030303020301001b0003020002caca000100001500b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(true) # Android 11+12 seems to be the same names+=("Android 11 (native)") short+=("android_11") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03030cd23f97801d202c5827875ff92bbcdcaba7bab8063f6a8203f260e12e3dffe920d864f831a405b2eeff3d9bfb107d8600518c0fb6a45492b134fbf7f828b08a860022130113021303c02bc02ccca9c02fc030cca8c009c00ac013c014009c009d002f00350100019100000010000e00000b662d64726f69642e6f726700170000ff01000100000a00080006001d00170018000b00020100002300000010000b000908687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201003300260024001d002047a6c973047a94414d8db841fd3128a5915046c2b6ae19b69043eb0fd9cee156002d00020101002b0009080304030303020301001500ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) ja3+=("9b02ebd3a43b62d825e1ac605b621dc8") ja4+=("t13d1713h1_5b57614c22b0_eca864cca44a") current+=(true) names+=("Android 12 (native)") short+=("android_12") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc0303ef9015ea56c63737ffffc0accb09384a436f080a39f77fe113356ae5bfd1254a20163dc9147addf7e7fdb45852fbfe8e3fb2b79ec6f725bfda838d429eba22e6670022130113021303c02bc02ccca9c02fc030cca8c009c00ac013c014009c009d002f00350100019100000010000e00000b662d64726f69642e6f726700170000ff01000100000a00080006001d00170018000b00020100002300000010000b000908687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201003300260024001d0020f209906d70ae4ba88ac3c89810eb7092be23e377f98d8c96696dec9296358c3e002d00020101002b0009080304030303020301001500ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) ja3+=("9b02ebd3a43b62d825e1ac605b621dc8") ja4+=("t13d1713h1_5b57614c22b0_eca864cca44a") current+=(true) # Android 13+14 seems to be the same names+=("Android 13 (native)") short+=("android_13") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030102330100022f0303564593a940b5d751d4cee7d4cd3ffbb68c310109b98a4a17e3ed6486d73dcee3202e82d4bbe870f4ad23988eee22f7b5c5036460e511edc31544211275bd9527960022130113021303c02bc02ccca9c02fc030cca8c009c00ac013c014009c009d002f0035010001c4000000180016000013706c61792e676f6f676c65617069732e636f6d00170000ff01000100000a00080006001d00170018000b00020100002300000010000b000908687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201003300260024001d00205551dfbfb939959b7aa673d638cd80e0ee8d202623f1a78f87741ff7bfa0c619002d00020101002b000504030403030029011c00f700f1025680712b38fc90496ec3b53ffa0ae9e00eafdaa742879902bc71a8956410ca53915661cbc5c3e60649f278b1268a6a3dfcd9be7269ae0eda3974dbad73f6368d430867a8e1d540aad8c0b9024adabb10adc58864062a0984fc03d62ad39b25d176f8500e93232446663fa256733f9b08efbce336afd2eaa090d8e20f7e53ec0a4135a83bdff4383cd1db1905377e9a5d81f41e045e6fd97d316b05f954102e6bcd3b110b0b2c2ccd1891d90057e9fe6795f4430942437ce9cad68c7a7d77c1a49eb29d33d7700c7274a552f1015dff3569a1492d746e59b372a1ecdbae650eba8771b931c648414d133f7e0e0633376d1b715cca002120dc30aa42c9d3367cce7f2bafd591d04b95e6b11081345ebd56d47b65bf89266c") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("x25519:secp256r1:secp384r1") requiresSha2+=(false) ja3+=("c67e9dc27d283f1f89b4ebb4b4670c21") ja4+=("t13d1713h1_5b57614c22b0_352634941f3a") current+=(true) names+=("Android 14 (native)") short+=("android_14") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030102330100022f0303564593a940b5d751d4cee7d4cd3ffbb68c310109b98a4a17e3ed6486d73dcee3202e82d4bbe870f4ad23988eee22f7b5c5036460e511edc31544211275bd9527960022130113021303c02bc02ccca9c02fc030cca8c009c00ac013c014009c009d002f0035010001c4000000180016000013706c61792e676f6f676c65617069732e636f6d00170000ff01000100000a00080006001d00170018000b00020100002300000010000b000908687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201003300260024001d00205551dfbfb939959b7aa673d638cd80e0ee8d202623f1a78f87741ff7bfa0c619002d00020101002b000504030403030029011c00f700f1025680712b38fc90496ec3b53ffa0ae9e00eafdaa742879902bc71a8956410ca53915661cbc5c3e60649f278b1268a6a3dfcd9be7269ae0eda3974dbad73f6368d430867a8e1d540aad8c0b9024adabb10adc58864062a0984fc03d62ad39b25d176f8500e93232446663fa256733f9b08efbce336afd2eaa090d8e20f7e53ec0a4135a83bdff4383cd1db1905377e9a5d81f41e045e6fd97d316b05f954102e6bcd3b110b0b2c2ccd1891d90057e9fe6795f4430942437ce9cad68c7a7d77c1a49eb29d33d7700c7274a552f1015dff3569a1492d746e59b372a1ecdbae650eba8771b931c648414d133f7e0e0633376d1b715cca002120dc30aa42c9d3367cce7f2bafd591d04b95e6b11081345ebd56d47b65bf89266c") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("x25519:secp256r1:secp384r1") requiresSha2+=(false) ja3+=("c67e9dc27d283f1f89b4ebb4b4670c21") ja4+=("t13d1713h1_5b57614c22b0_352634941f3a") current+=(true) names+=("Android 15 (native)") short+=("android_15") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030108ad010008a9030391072cb3571b43dc4a8cc1ad1c53edf47f89a855e5e52a701befa485fdcc847d201e6800efce12bdb7a96cdb1d7b6c3d451f1e7275ef468a873b746fe29fa89e2200201a1a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010008409a9a0000000500050100000000000b0002010044cd0005000302683200170000002b000706eaea03040303002d000201010000001b0019000016706c61792d66652e676f6f676c65617069732e636f6d001b0003020002002300000010000e000c02683208687474702f312e3100120000000a000c000a3a3a11ec001d00170018fe0d00da00000100017b002072f7b873fdab02ad8a7e3ef3dd54613a0051821d29bfcde7f71af8ac49860c0500b0eb42e5082e1426108b1f5d6f67b5c35e26d985cdd337873c1ab77f3fcedc1cbf68cc86b20d82e5764fbadf86df30d44696184d7f73c5d2b67c3bc1955f7ce21900b7448b8ad575ce3533d8bfd9c6b6415a8c523454145c4c6306531fbe2bf0979002fd79fa707dea23d8bcd180662617c0a8b7a1dec7c63eeaf3156571c1e0f97f418b6d278dedf0d07fe027aea8f370d020503cdf7225ba8d0d1c1374c0580382f2880aaf82b7bab3a93f0bb40c91c6000d0012001004030804040105030805050108060601003304ef04ed3a3a00010011ec04c0fba42d89e82e616023e892af4a115a4bc5272dd77199ea670f927605acbd8607741e878836d92b9b35b9c3183b02621c5b6bca8ea93433dc4ad8abaabfc6a69e639d4ac391e9862609bc4ef0c1ba8b674f981cabe3f13007858a029b4d0ba12d170074ffb1468106cc91f9a394a947dbe32312b6936c26b0ad114d54c496e3233c5c53c9f86c35043ab012f9b658040df4614db746075e708657784eb22b1d5e63247b7820e4431ace5a82a85c83bcd686ed3a64ee2b4c55159da00744e0103c74b351a2956d6ba54c54696ad3d742f7d389c257143402254e0c7e7f292d08a7ad896c485fc362a33c73958836c32675d97c4e79c9a92ee00bfd3939ecd09be3fc58e1247ae468848455391cd7291a140103a34f4b054a7e148c9b672cc2f29c4c0482dba0cc3239b32dc6973da04b499c820159a2ec9bba37c6661794cdbbb5bf98d30c4d627ece6a883139a287799591059b5ca949f82234c1960cdd51278152bd39f2b734c187a70c478bcc8908d335a2848ff4b0aeddb4491860a269a74e6b5875c201004a51b72ae79096ec7b5c508a25fc04e2f3a1f3b15bfdc2673ce48a172b4faf175b9ae2750102a50b9893f93b06c2104b6ee73eed379713738d4090c80b30c3afc242a2e0022d8a9559d776069337c314c3ae346da1420465e3b8039635813185ae57ba77e6bc57f9c8afe0388ed228772caa7aaa5037a5234d7c4e7fe0372202add9e471248a87215c6c9a2838fdd0088e039405e62225580e326357c3a2a76f0b775ba07ad451934a916e79c537f0c0ad56e0c939d142809b2b44d0c446f554e52770f3e8cba997a59aa86429304c33161d9806a42c4c4777d7cab66290d26381953276e42a7990214b45989b9a979da1674861da4cea454412ba980842b4e8852f26db1d94416d388826b66a727bb26a51a55ac5dca267cb765a8c0999794e2a1b21048527a4366c5e670f5c36b769b030673b6dee187250f637aeebae1f01260293124bf289246813a345011e04a3e107a27a2b4ab9f4bced961fc7f570116322dab98986185ebce85f674c1bf0e4774d87055d1c2a239758eb20ae45588a294937a4a39361001863931e5d350ee0bc2950228631d49755d26988198cb6592a36e65710e1614f4608c5432138a3a7edca8520b9328aa3a3904028f7803a365194cbba86aeec8dec9711c7574baf0a8061b93762120b94923293c8cda3316f79509bdfe2328106714578130879c63270391508b29e984789067a1c59af71a807e6cb474e888773abb53ea87cced11a6ab6498c301630a65e9d37cd8e44abb18b9f97d2391eb22acc74c2f02633ae3649faf19efbe7b56ac6265b46354bba7197ecb8651c1dbeec4031a9cc3da48d8c6993905a8f0cf131a90a23af5b5b6bd2571dc15c3233a7f74ca3da76cc889a0eba3161790471da3542b4da57d9a1b2fc7c9a2693110828c405d19b8d6a0cec2a911c375c1d100671471401435cfc050b3039730de5ad30b78fd1fcb4ffa604d78ba6f72979db56008d903950e43385184b344b4ea2c0a331d8afb1954f567bb20ceb957bc72bb0c685a0f4176875107e47b59f2b4616901d0c9612e529204ea524222b39dad558deb07bda9919ae25635ff6b791e354b19f92175ed1635841072717a2e7bf8ea666d4ef0087ffe8ef74c50317c30c1406bb15e3a02606e2be51eea33beed8a3a6aef44a001d0020e3b270223362eb0f688b920f024370f2bcdc58f22ef5e7a32cbf318805e67113ff010001006a6a000100002901ca01a5019f02e416892a2f1f90b8c577cb046e05e5df038964982ae7b5b00f2450f97b2820b6a503d15f01fd0e8abe4ab5bfe3383af1fed6b5efd49450f1b773050ed43c8d4623b7d61b9ba793ed8ac81530bf3630efc169e883047220d8b7cc3290375cf03a69217648b952c2c3635f8c1f713d175e0032846f1e8887e75485561dcf7cff2555ed833a4fa236df7cdf971eb6e186213d0779c6eeae1777582a0300a2668cfc948881278534c2e3c102667c8c84325e3d5e31efbae0fdcf31347540e03d8f3c3cbb94a113df6dbf9ae2bc54d14e27dd92cf0eb708e7c5ce73aec09c0f1e006110af1c9ffe2f41cca0982db2d0e329fe6296f65b1d3d9c9bf55d88cd97fb1361c5c86a71f704b56819a5d0266d4214379df7ce093297ab2eddb69c3275c4cb98f25e4ba1849e81d7eccc52294c6aba5f750e5c5c1d41be5f42008870780b86d340108e6ef3c29362a678896d376245418ac27de83e8de2ea309bd294d510a032ff47b5651bf2a8f53fd0bdf5b569576ef6b1ea249e3f2f4a88fdd99d54ce5b53d6935f1dcb4bb6ffeac2ad08f1d8882d54240048414d6a2b7a3e8a0e04cc81ca531600212096370dc60f1571e843667259d4e4eccda96828a23587ecde81ad55262c4c5968") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519MLKEM768:x25519:secp256r1:secp384r1") requiresSha2+=(true) ja3+=("78c89591bc3fffbc6aa884cc7ebbbdb5") ja4+=("t13d1517h2_8daaf6152771_b6f405a00624") current+=(true) names+=("Edge 17 Win 10") short+=("edge_17_win10") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("160303018d0100018903035cbeb3c560acfb3dfe583ba45f51f5e2e36f99dfe5e22f1a230724dfaf5ddbde000026c02cc02bc030c02fc024c023c028c027c00ac009c014c013009d009c003d003c0035002f000a0100013a0000001a0018000015737570706f72742e6d6963726f736f66742e636f6d000500050100000000000a00080006001d00170018000b00020100000d00140012040105010201040305030203020206010603002300c000000f032566a8435c845ce7de67f2f4fd6c75ed3206c9448a513d4b4f8cd2fedb5f7d1eb4573ce68756fdad198bd3e4eadfd4db2d7794cc69198366edcb9b9ff5803a58718c1de4d6dffeb4354cd48f5dba6de719cebb27d544f6b2f4427e4e5d46f564d3098134d9b69a4e83e233f5dfea099733f75022dba07665d7c35dd09742082a06f080871caaa6a7770ebc9e2c792eb88c44d0d56ae6ba068a189b674491cee28155148c86d53071e170ab354e0fd0e390b9ddda0886b9fa8c70ee1a0010000e000c02683208687474702f312e310017000000180006001003020100ff01000100") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("HTTP,FTP") minDhBits+=(1024) maxDhBits+=(4096) minRsaBits+=(-1) maxRsaBits+=(16384) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("Edge 101 Win 10 21H2") short+=("edge_101_win10_21h2") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030360a807485e4eb933f7a4f3266e30eca613800f1d226e9604f68a10f3c92ed3bb2080fa39190e2a30e50dca37242c336e382fb27b0ce0373bbf56d97c959886bf0d00204a4a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010001933a3a00000000000f000d00000a7465737473736c2e736800170000ff01000100000a000a0008caca001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d0012001004030804040105030805050108060601001200000033002b0029caca000100001d0020ad8d8b31297a70087d0535f9dd2555b9d04747b409cd5958fccde237f8893d3c002d00020101002b000706aaaa03040303001b0003020002446900050003026832caca000100001500cd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(16384) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(true) current+=(true) names+=("Edge 133 Win 11 23H2") short+=("edge_133_win11_23h2") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030106d3010006cf0303a91b95c93b73955817dc10234ee30211ee47acba8e85d399ab36d39b76c7914d208e40fc084d95a77ffbcbac3a267e9e81d4ed2d6f4d14edc40f74781f648c41db00201a1a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010006663a3a00000012000000170000fe0d00da0000010001cb002012e6b30da36331d943fd044f7dc4c7fc9300f9d80d0d820ff89e5b0d1e260f4100b02ac49e517c37e5517a346ecdb73165a9c9d1e58d872168375b6addc9db40a2ba9a04191485fc3aed2323d71a5f4c4e15a818333166c3879ca54671f47b5d6bdf83bd8ce1931ea18d6e3d02b362f32b8f547a1d40f362c830893237e475dca57651d7aaaacd373251f91bd4e3e3d4e80e6e4f035dfb7eb9fa090e3d3616cbce2efe6d1005a0797043a2bdb86f6e193e0a756ae5d3aa962ab432195924b3005c51949b69777e8f7129bdcbc62fb122bdfc000500050100000000000a000c000a1a1a11ec001d00170018ff01000100002b0007067a7a03040303001b0003020002000b00020100446900050003026832003304ef04ed1a1a00010011ec04c0042c6dea9c7423c62ce0a529d8a69193341908775c19ac770843455151b792a39926ca9265794bb357689c435b7b4607d65174632c31c6aa40e3baade8fabe28fac8fccbba27277bfc389356d65e7823b3c305c3c50364f9e52786c60c12cccc2d6b9f736a74e3d93e9b925b2974808426b0bcd40a04a406f5c260c4d301fff9322e80a07ec768cd7b0bbe46488a902f533c1138447688b65e558481da18448d064f0eacc054e008380558b388af69ec25d7787071e6b3f197b483028c2be4b4d937044df36b837a6bbb97292fd9b70ba76e906ba123166ac40c00d6d78b0dcc60adf1caa918773af536a56936e703b011709b92716cb828406baa0231254e00ca81c0e9c565c373e21b6ed20019ff1249bcb9442a778e76fa434a24b28439263d6bad60fa7dc5747b65728d2e83c1edf94e910a4fcabcb70fb7b024d354daf127ec733b74427b0ca3448208205c7389094a495225308874a84dd92ff635b077329a3b734ce95566565a5480159f24333a55803d3d889c6796682df509ec22c44716387dfb8615066ccc49af994790f81431a563c06d8848272255cc4b91a7c237821c829d73b33a7c7867461206a6951f535481db2c73d1a986058cce44bd09db775e15ac95ba50603a25a2f6ab68829373aa21f46cbbd436a8e8d2c197e72d5a8810800a20ab88b83e1917f808a8cdbacc00c071db76cff6744f8ca407cbba57372a9d47f641a0d9a4ec8c295cf26289bbcc2b95574ae7769108a849a2494915a2252217f301693a257443387ff2ea9c80162cc3f3b159c3a1ab9804b3e7120d677a009cb8faf4870705a125890025815cfa305cbdeb33e547c08717ac3b601e8b625ba9a10a6ec08ee582b41e4412b5d452a33838a940892742c2330a291b999c27e5ac577079ece3cf02c8747d00659be25b344954cf8527bc16aabb904b848c71a6ec259f28cb10134f4c150eace0252f095e11acaccd0194b0e90f67d4a25e35cc0fba14f9d852c2913fa0117e8ce7334b4a0ae28c397ef662eea6c437ab3ddb8034e8135ad2002910927f647a787635267560284d40c48a359da33b35b1c883bdabb5609c5d6a18871e7a511ac80cc918b532fa2728819e8c6a86c3f522fda45e8b4a4b82dcc8cf248050b0cfcfc63228170df27c2a0a82a56d7cca25845b89d58759f615dbd573ddeb7ac4d3c76980ac995c7268d8c28357bb2e688abac551dc2246daa06559cb57fc53a20a00afdce949f65b378226a5998700ceb5a105918936795e00cd3a9a467e74eca608d682f1466d6396b9fe231963e721ac52768583145f8b84c0ab55ea906cdd307ada340ca4182d28007d9d98c793228dc91b9d20816227a8a33f3825aff603a65cc1f48c09e622a98b50c15719c0bcd5629bf678a97b2aabf3ae429c5a7526c6de810adde5777e715e820774d44b539e778f4156015418316df7647d0818d971c5d1351e40973e1754b690684934e94eb447385a5aa85c6081e9f210a466b9fd794f0a7248c691571ce42d9cb492837bbc831a7765d073f6203f83cac7ac6703aae678d15b8283c94365b22e0515b52c6ace887abd32320d1bf45f99ab5cacd124627925ff58869257904223bedc43846d9df9fb6954968bb8ddb29f94cf440e85f7c9d75d000d89b24a5664d64c461899864ffd3e27d7d4f6a468ff41f61c86bb8eedf1b90c963e186c7590ca89933b001d0020e35783261e99e6eb69d783c21f9e6c14f9d5976162986c365921daf17f5b1d39002d000201010010000e000c02683208687474702f312e3100230000000d00120010040308040401050308050501080606010000000f000d00000a7465737473736c2e7368aaaa000100") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(16384) minEcdsaBits+=(-1) curves+=("X25519MLKEM768:x25519:secp256r1:secp384r1") requiresSha2+=(true) ja3+=("f8e65281e2992dcf1d057bc9aaf430e4") ja4+=("t13d1516h2_8daaf6152771_02713d6af862") current+=(true) names+=("Chrome 73 (Win 10)") short+=("chrome_73_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc0303a719e434922565bbd59fe0dfec21b7f5c8549fdf52566af99cce87ecb276992b20bbf979b5fbe4ebd1412e55ffe6b811e561d3f04ce451fc229d329babda4de91d00227a7a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001914a4a000000000012001000000d7777772e676f6f676c652e646500170000ff01000100000a000a0008aaaa001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b0029aaaa000100001d00205c2f12fabe8b2ff843aa9f347816b7d3a8b8c051f0830f4bbf13d44b5ec37c2b002d00020101002b000b0aeaea0304030303020301001b0003020002eaea000100001500cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("Chrome 74 (Win 10)") short+=("chrome_74_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc0303b95f99af8f312f71a9bc94bec54911187cb29365a901f40ef1cc193c51f23afc2074daa030d03808edadb1ac4bc435e41cd106166b6436f925a6501f7314eae2a600222a2a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a01000191baba000000000012001000000d7777772e676f6f676c652e646500170000ff01000100000a000a00087a7a001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b00297a7a000100001d002062d1679f47bf75d0486d6fc6fa041c13b6cbb4c53984998d0b2db4c3f6b1277a002d00020101002b000b0aaaaa0304030303020301001b00030200027a7a000100001500cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("Chrome 78 (Win 10)") short+=("chrome_78_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030332e6eabb5d4b9818074f79423b0a9cde127a309671fcf0d0420bdb68f98bbc9320085a3e18e8e5cf4060c1e7065523d344f09186ffb835c10095df30b1611bc49a0022eaea130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001912a2a000000000014001200000f73736c2e677374617469632e636f6d00170000ff01000100000a000a0008eaea001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b0029eaea000100001d0020e0a5bb30a2a14bc13685b4a19ba59628aad22b761dceb63a9dcfa10475f84260002d00020101002b000b0a0a0a0304030303020301001b00030200025a5a000100001500c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("Chrome 79 (Win 10)") short+=("chrome_79_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03032f8eea63ff25d05264565777081b6d1a326e12f37751c33c7e953973af65b2ab20a62f96b75b1c41454679b64cd32fb0fbbf99ff019501d92184d589a529c21c590022caca130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001917a7a000000000014001200000f73736c2e677374617469632e636f6d00170000ff01000100000a000a0008eaea001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b0029eaea000100001d0020465dfa0295bf9cd3578d2f23bbfdf58d6468c5dd0c071f0b7c6bb92fc507685b002d00020101002b000b0ababa0304030303020301001b00030200029a9a000100001500c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(true) names+=("Chrome 101 (Win 10)") short+=("chrome_101_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030387502355f7a317c3c0ff03e7ff6841b941dd76ba48071f621d19c7a43786167b20d2a6df6c9967eaf101fbb914d49535bfdfefc61a6c147ad8eb7865671dd4280500201a1a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010001932a2a00000000000f000d00000a7465737473736c2e736800170000ff01000100000a000a00083a3a001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d0012001004030804040105030805050108060601001200000033002b00293a3a000100001d00205daf6d36d377a66de529cf4ab9a428842a46c9671f818d8d816b13cc4c49704b002d00020101002b000706aaaa03040303001b00030200024469000500030268324a4a000100001500cd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(true) current+=(true) names+=("Chromium 137 (Win 11)") short+=("chromium_137_win11") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030106b3010006af0303fbd2b110b1afbc69dac9202344caa14f56eb72252a02904c00395c3ada1716be20439b0a947c628db23f13d697fe4323f9a4929bf182cbc4c880fdc5f5315cc8080020eaea130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035010006464a4a000000230000fe0d00ba00000100012a002065b7614cfd41b624c0a9c508c7ba54ac2541edaa61b95dafb2259fcd96e87e1900909bd89d48d1da0991e630b47a90e6c64180c4b36628222dc07c6cb9c4ca7eb1ea231a7e59c6368d80cff26f76110099168eafa707e84a114cf659e73a8a024ac66ce1c7e7e590ee44ca26fb87d0c09014849cdbe0c3f6d6bad2a75fd2b8e688b9dce354df417166448d102089d991dcfcdcb7dbce6db4abfb410106fc45f1da80e26e6ca52617591858cf284281ec5545003304ef04ed9a9a00010011ec04c0874c762bd4a556587b5197c6439a914b176da4db56f67518ffe9285fd229aa9454b4b85dac193106f7494827c40a1b026a270f8f100876080a05114ae316861166c0790b7ed420546e7531ea281ae1eba8398b0850764995431045647c65b138247884f132a9ecf881c75b17186a15da2bbadf342ef87353cde900fa781f4e8c7924782a604769dae2810eba77b1a7a9433a9b22b937ad22490a14b169c999f2c3ccaa8029d0317e98c01edd6a740231aa9310a6d521330dd8a5f9473a5e7763416bc7d24c5d1d4a04436c352bba1ae83537abec638e04c9b71300d938180793060685462d4a0cc9e89be4ba29e17049f796c9db1130911908b8e213713857620401cda66f7274b97c61c61bb73cecd76d6af66630069c0e13be273b7d105ca594529fb8890bad0898c276591d3472f17cbd80a50bc20421a80c94b12357144205a7e577de0276514182554202e786a4d5c62bfd2c62a771805fe43cb40236d99078df6371071b1f36e10440c7b59e06172539326498c6a6f81887417b6c0c75fbf02b5a166e6b05bdc332c0e0265a21a76253c26a6af899949bce34c814b9ca39637810624b122a8a9afb2959e0ecb7d8f5b48924c0d9a1386ec910fdd01688e94103566717ac7784c0bcc31b199f1a4be5ea6b1e9760ecc16b55c0b9f498495272a8da99bb1e15c0e6b078d9c1163fca068ec7589279b22b293c76f40a40c52842c583e36173944b6bcd66a8fe30afe7c9453b393ac61848bd32cdfde28ec9469bca049f207c66b2dc5c001b134bfb565f45b7d3b3770762633f2b6113a90bcebc1edd29726d332b34b173ba672ab6fa0a2533ce7f43432a08bd1bab07e4d557d60c4cf2867f552ca4dadc93cd66950a5810dfb40123d2a0cf07c18d895a2158c751154d3f80855d112e39551ceabb42ed41c9e710a2b3f400bd5c386c703564b627817112f4ec6ab5024cf4ebcd6d3917df87c1d617377e5a1408f73bf0abb13ce64dd4c5a306f42660042d8694afc9371b4fe66170534bfde0362f591d21470e8514952a65525b9c48ba4438f024a9bd6a19319c80f90c2a53f42823132f8692869f7b4f28718eec265a51b7afd5c0c300c57930f694e451620ab6a09785357ab13c351289a54c426ee2a852c29ec9882ebeb985151b6bef462418501c00c76cc856a370f29e9cc5359a9a81fcd20553c4bfda10679f87c25662a158e08d07a2882c402bf4977822c8cd9094a926885a03c04911e0c5dbe16371aba9cdfb73343c7f1ef03a97864a29a2662868ae81b3cf772536a0783f0b5c9f145c0e2b1ab66c2b9eb006bc627b6496593722b02ddc648fbf0614f2808718e26b2d23575952ba3cdc335e1a68796281886604d5541acb02431665c7b9d156f52c6f902888cc5a156023c7fe017124a99f9b990085a343b0fa1d47817bff727b6ca09be31bbb86b726ef9a8119a34dadc83837330b63d955af60069062a34056751780a2f8f22dc72937743678dec3bdc9723121da056777ac1ddb472d93cb1b62a1bef7415f91598ac1146d00ba200b3edee7a21a78444c967d7d5b8af35645212a01eff213a7d51270d22059882abae856bb5c2383d5b1b55418f20978a0cb1140629848476bf18fa5c3a489b10aa6761be00fb58aa893e76983749ed10a2e6691389dac7bb12d5d2c51d549e868bf30d33b231a95651396e34a2167bf60c58e65ed5d001d002045abd03dc3f1716a957587e038b5114380a12b78c2b95967be7b326c12c32520002d00020101000500050100000000000d00120010040308040401050308050501080606010000000f000d00000a7465737473736c2e73680010000e000c02683208687474702f312e31002b000706dada03040303001700000012000044cd00050003026832000b00020100001b0003020002000a000c000a9a9a11ec001d00170018ff010001008a8a000100") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519MLKEM768:x25519:secp256r1:secp384r1") requiresSha2+=(true) ja3+=("5d36bde6b6ce424c1972667ad9a6a732") ja4+=("t13d1516h2_8daaf6152771_d8a2da3f94cd") current+=(true) names+=("Firefox 66 (Win 8.1/10)") short+=("firefox_66_win") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc0303f488fc07f89155dba6560e527e1708e0b36458f32492fcf3074386f169d447e5204ed6d2d9d162b792388e9cee6c838b6b1e82dacdf1837f7279bc42339c70b79c0024130113031302c02bc02fcca9cca8c02cc030c00ac009c013c01400330039002f0035000a0100018f0000000f000d00000a7465737473736c2e736800170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000010000e000c02683208687474702f312e310005000501000000000033006b0069001d0020f3c22d5492b1230da8895790bea5e5a3af7e63517cfa31b37d1d2a817a628f690017004104a373b66bce1c5d411d78d93b3c3ee6eb7c4519a52abf29e98bbc355a94f8f52a1c8bb7d6320c0104e98ec3895bc5e89ddc1d8f2b76305912992df46c546f2cf5002b0009080304030303020301000d0018001604030503060308040805080604010501060102030201002d00020101001c000240010015009400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1023) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) current+=(true) names+=("Firefox 71 (Win 10)") short+=("firefox_71_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030102580100025403036d4532515bff048c5c74cb0d39518c9c02e2dfd4d8ecae6591ee67d29ea62eab20c70c3e8feae9ed79d54914215aab37d3d5b7966a422edc41d2c027f9973d6b160024130113031302c02bc02fcca9cca8c02cc030c00ac009c013c01400330039002f0035000a010001e700000014001200000f7777772e6d6f7a696c6c612e6f726700170000ff01000100000a000e000c001d00170018001901000101000b000201000010000e000c02683208687474702f312e310005000501000000000033006b0069001d002005dcfe2c42419119e518fb087071ba68445b825e4f4dd9ddb8679c3011d3e75800170041046bd8e6b1818d3985e55a8514d3ec5091945df5eb48136c3a9f67bb6d6665758ef088520626748d59bba63786c0164b948013e0f8eee0ba425d643b7c5d4bfa8f002b0009080304030303020301000d0018001604030503060308040805080604010501060102030201002d00020101001c00024001002900eb00c600c0995b148219e66aca5e58a74de1551ae6c76897f50fc853147cf22db9a937361496395112ab0382a942c95fbd48b787d031ae89a8f23f9b7a56c2a0ed5158e919d2491c003ab7d1ca1944b7e5d068d4e6a0c83d9096e9cb76ad2ac081075551cf4bdbfff1194a71c54bf8f88cbe7c246c728155e92f94015e4c5140ce84087c842033ea00fa92f5bd5b601f9650aee0eb0d000175e447945fd28e1df361c5cce443351fd0f7f13cb6cab2e2cc8c3951eb4367dc5004415ab6c3cf0adbca1e3be4f149f74100212008a1f3195cd13d7b4386acd47cdfae0afad06cf8d245744e815ec6989e3cdd6c") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1023) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) current+=(false) names+=("Firefox 100 (Win 10)") short+=("firefox_100_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03033586b7a64a26c288145531ee4d59285a375f267e66e5feb12ece8decdbaabeee208f15cc72bce2a42c4095c6b4015a82dc137298167c615f103e0c9985600ac8b60022130113031302c02bc02fcca9cca8c02cc030c00ac009c013c014009c009d002f0035010001910000000f000d00000a7465737473736c2e736800170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000010000e000c02683208687474702f312e310005000501000000000022000a000804030503060302030033006b0069001d00209dcc2f0c8fe0baf461c114288632a90723f2cab45573b70fd8a07e2f743f63340017004104907687ae8e8da3f272b887ce11b2a40d5c8bf5e135a58c7575ea8f421d923e6a6883f8dae7fb1db8502f983005bd26e3a444b08c6debf5226d355bc64c189832002b00050403040303000d0018001604030503060308040805080604010501060102030201002d00020101001c000240010015008c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1023) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) current+=(true) names+=("Firefox 137 (Win 11)") short+=("firefox_137_win11") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030107620100075e0303a0b1ef8be287453f90ada3213b0b3fe24ab4724790b494fc370480cd7a924bec20faab9a25078ed312a24ff2134e59987ac478ea31c17509053c40c08d0799e4d00022130113031302c02bc02fcca9cca8c02cc030c00ac009c013c014009c009d002f0035010006f30000000f000d00000a7465737473736c2e736800170000ff01000100000a0010000e11ec001d00170018001901000101000b00020100002300000010000e000c02683208687474702f312e310005000501000000000022000a00080403050306030203001200000033052f052d11ec04c000534636761d96a91bff883cd3997146e37c10a2cbec183b1545046351711c2c14cb9bcee0b6c65fd18ac9139d375a94d7b69a92728dbfacbcc25b8fdf814d9bf1bce16bbaf8410bdce6b28d2b3ba2e58bd181c655db9d3adc763f88300ba4c9129b5798fc539eab8e41b2008919632a42bd51523593c41ef984801a972d2616a3db7a0cf4ba3248cc5ee88c26c30272d0d23e9bf4603916198938bd1fc69c7c4a9d26b7a57692932128b4c044612c958772c0bda2f897ae10661c9cacbfd99af871a84b79007b9bbc443439e7896ede49087c83564894b0a5f261d51bba447cabae5bb3c1781d36930233acc56f9bb2d23a7721d5b345a8a242a09ac1f64a20e863308a0cad7cb0eb9b0bc5bcb83cf4b0b71bae37a2919e25bd9f8a762454bb6fb5b477ba1f3eaa1a3f54010d61c5089b38a12bc65ffa37dd4aca76320221b60ff9cc466e3613b54c16bd94375f8bb8242b4fb648cebea0371271164f3858ea9029968234d421694a89519724c849e663970b22ea9708050879255195f07790f2f17c58d0972d175fad14718c25abfdf4b21911cfdbfb1677a78bf0da5b01675d16a06af896b4f61784df2bbe8d3799ba420ee83750c11a100053c8585a5ae83c815c2bc8f06627068316ef3b98c814468902534075370ab299d6c74a62ea5eef1a98192c1759bb43405ca4ea3cb2141a1c39029b088a72bbbb064b468192545df2f57d29dab260a74cfdd88ec7d2c916056814902dd6a326b92aa8fc046eb059aff0148078c0734fcc7474499db857a146fb4dace5bb75fa5deb4b1aed2386c48651b27971f6486e67d5113dd02e239a3d6c62bbd528745c4552a33814b6c59a04f997e0383edcf75f008a77ecc47e0e0883743a51d491c2cde26ded288d2c3c822d2a471fe24740c93bb8d320508b85bcf05c889b156877afba5117739a292ca047089cb7e20b3a9c8a0eaae61333d3c3c2f33d14a97f27e484a298c6ab71509fe39e0471162414cd07a8a439910e53460be373b650850ff33545739a0a4c470ea36288c6d21d0d3a7f88bc1ec278a1aeba97ec105f5bb4bee319cf115b94c161bde71cab324819d439982313194770842697a22fcaa7d6e16543d46ae178c2e7eb5e166a98ad213a92a67723aa8ad9328f8c32aefa4a319e355f051b511c079bce768a778067f92586c4786c4793b943c4821d8579ca919079829f3ffc30fcbcbff871bdd337826d6269e32063330891b2c6911da30f2e0b907027458b8589cd2526de20c894b6cca17a4c53704c661b6d5d153635bc47b8b0bbab47589690593f8206ec3c3f7d8cc1c119ba5963c6f0613151d5b8902b523979cbfe227cf8e45c0fa073007c78804883e3c23401b0ba5fd1b53d975aef94655dc1a06fbc714ab0c7a0f518dd117567376ce7e23ebd2a0126cb1e7d9a7f895aa60e65a16b651d468318eaec49b91bc046b99275f264c493037c9332fb261449f0320ad7698cd70866618ef2187ed42371123b0af8b0011e5844e09934efc5418f60aa31f39b91039f367b59514003c3f70fd3f813e8dbbe31ab0093863ab1a506138353915bacd626b42ed464334165d1c2aee1a2c6440b7a99e73b6e398ca02c623c999d7b7e9656b0af80a5a7a8195995542c8a33e3c896e02cd17946d139cbfa474ae2d0c88d43d8e8904566d7b22f1abd484976e9b92d69a023c108e0f4ade46e9078001d0020d0c88d43d8e8904566d7b22f1abd484976e9b92d69a023c108e0f4ade46e90780017004104c2def31a670b4a9655e66fe6f40faeca73f1087b0acb1595f15367f29536d7fec61d01d24f8dba47f7325b2a314ea96e3d7b27570213f8acfe8b246ab2c9d305002b00050403040303000d0018001604030503060308040805080604010501060102030201002d00020101001c00024001001b000706000100020003fe0d011900000100032b00209f461dcd898b13a5ae9cb6eda16db517723a0bd452637e628dd9f42684525a2e00efe1e6f2feae67133161ac996bcfb5f06cd1d1635099eecb70fbc50a9ba740551de7afa0c1d222d5b4073bc3e76079c9c33d87fef700870929d979dd2bf44e3c89e14aaac43f46d1e985d1be13ee29fd76820334c5d169d9dc50b49ad24919af9735baa27816394bed94a0f1640e8d6cf67268b58215fd2fcfda67c7203527903f6ed32b576cd5f4bb5d947b3b2aeb6e9eaa588f68c2c728b8f410c0cb67a5565478b28d3fce6f485bb80b2748b1f85166ecc9729f4f03e9c1cdd80f4ec2342b088d45161d8334a5dd4f57aa4fd3cc3b48c361b318147cc5b1270c172788d3674a854acb3a37fdd532d6a014d33acd68") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") minDhBits+=(1023) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519MLKEM768:x25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) ja3+=("6f7889b9fb1a62a9577e685c1fcfa919") ja4+=("t13d1717h2_5b57614c22b0_3cbfd9057e0d") current+=(true) names+=("Java 8u442 (OpenJDK)") short+=("java_80442") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030301a6010001a2030374d4c01ca363612e1b39dc3c31378291205ad678e0b05546c2e99cefbc1039482001be25d1468ebbe036e971467705df1181608bb965d7651d2eef4539e510c557003e130213011303c02cc02bcca9c030cca8c02f009fccaa009ec024c028c023c027006b0067c00ac014c009c01300390033009d009c003d003c0035002f00ff0100011b0000000f000d00000a7465737473736c2e7368000500050100000000000a00160014001d001700180019001e01000101010201030104000b00020100001100090007020004000000000017000000230000000d00220020040305030603080708080804080508060809080a080b04010501060103030301002b00050403040303002d00020101003200220020040305030603080708080804080508060809080a080b040105010601030303010033006b0069001d0020c0398cbcaacf48f9d7b2fa72d763e6b553ed2b5cd62bbc6d5ca776e7a3e75f7b001700410405dc76951174b4136b565f531bfb748c7cd13b4e8254f4db86b2e936dbc604831d63b0cbad1ff9cda6fe7ff6295d24c6996d4f01431dc66c23ebf9ce58e7e2fe") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") service+=("ANY") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("x25519:secp256r1:secp384r1:secp521r1:x448:ffdhe2048:ffdhe3072:ffdhe4096:ffdhe6144:ffdhe8192") requiresSha2+=(true) ja3+=("60f3e2285bc991c380f822c6ac51f947") ja4+=("t13d311200_e8f1e7e78f70_6077d120928a") current+=(true) names+=("Java 11.0.2 (OpenJDK)") short+=("java_1102") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-DSS-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES128-GCM-SHA256:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:AES256-SHA256:ECDH-ECDSA-AES256-SHA384:ECDH-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:AES256-SHA:ECDH-ECDSA-AES256-SHA:ECDH-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:ECDH-ECDSA-AES128-SHA256:ECDH-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA:ECDH-ECDSA-AES128-SHA:ECDH-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030301b8010001b40303ca5f7e4933a89ce4d71df403c75e71e6068fbc14a00fc4f0edd5b0dc80fee88120ded1f3aacfab0d011cd1327a4049e0e15dc4f9c6ff512bf3792687227b238af4005813011302c02cc02bc030009dc02ec032009f00a3c02f009cc02dc031009e00a2c024c028003dc026c02a006b006ac00ac0140035c005c00f00390038c023c027003cc025c02900670040c009c013002fc004c00e003300320100011300000010000e00000b6369706865726c692e7374000500050100000000000a0020001e0017001800190009000a000b000c000d000e001601000101010201030104000b00020100000d002800260403050306030804080508060809080a080b04010501060104020303030103020203020102020032002800260403050306030804080508060809080a080b04010501060104020303030103020203020102020011000900070200040000000000170000002b0009080304030303020301002d000201010033004700450017004104c762a2d3f3ac33e332935a4b7bf0fd4a8f3b7ab7bbc630f78e35bd86a132b32b811a1defe5f4e18a26dc698a01513c6a6467ee10a20397fc7462b1f0b4b85f42ff01000100") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") service+=("ANY") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("secp256r1:secp384r1:secp521r1:sect283k1:sect283r1:sect409k1:sect409r1:sect571k1:sect571r1:ffdhe2048:ffdhe3072:ffdhe4096:ffdhe6144:ffdhe8192") requiresSha2+=(false) current+=(true) names+=("Java 12.0.1 (OpenJDK)") short+=("java_1201") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES128-GCM-SHA256:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:AES256-SHA256:ECDH-ECDSA-AES256-SHA384:ECDH-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:AES256-SHA:ECDH-ECDSA-AES256-SHA:ECDH-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:ECDH-ECDSA-AES128-SHA256:ECDH-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA:ECDH-ECDSA-AES128-SHA:ECDH-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030301bd010001b90303179b0759c355875657d31c7c03293ac94c6f5c75a45689d8f073db3858e90b44207c60386fec70ab935d7d554482f153112b05c449fc1f718f97c09d9bdfb882fa0062130113021303c02cc02bcca9c030cca8009dc02ec032009fccaa00a3c02f009cc02dc031009e00a2c024c028003dc026c02a006b006ac00ac0140035c005c00f00390038c023c027003cc025c02900670040c009c013002fc004c00e0033003200ff0100010e00000010000e00000b6369706865726c692e7374000500050100000000000a0020001e0017001800190009000a000b000c000d000e001601000101010201030104000b00020100000d002800260403050306030804080508060809080a080b04010501060104020303030103020203020102020032002800260403050306030804080508060809080a080b04010501060104020303030103020203020102020011000900070200040000000000170000002b0009080304030303020301002d0002010100330047004500170041047fee265885ea4db5694f11d45e5a219052a2cab3d12339f07163a8e5cb6e822853ed990d130e356ee8ef2e37bb757d9fe9edff99478784a47c0350f66c2ce87e") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") service+=("ANY") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("secp256r1:secp384r1:secp521r1:sect283k1:sect283r1:sect409k1:sect409r1:sect571k1:sect571r1:ffdhe2048:ffdhe3072:ffdhe4096:ffdhe6144:ffdhe8192") requiresSha2+=(false) current+=(false) names+=("Java 17.0.3 (OpenJDK)") short+=("java_1703") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030301a6010001a203031c34c4ac5ef5ba1ade5e678607fbe6d28d9e23421d185b24a30ffab293706cbd20d70d8ee01cfe86e031a4aa86264b7740ce072f6fe346bb9f405d79183c037b6a003e130213011303c02cc02bcca9c030cca8c02f009fccaa009ec024c028c023c027006b0067c00ac014c009c01300390033009d009c003d003c0035002f00ff0100011b0000000f000d00000a7465737473736c2e7368000500050100000000000a00160014001d001700180019001e01000101010201030104000b00020100001100090007020004000000000017000000230000000d00220020040305030603080708080804080508060809080a080b04010501060103030301002b00050403040303002d00020101003200220020040305030603080708080804080508060809080a080b040105010601030303010033006b0069001d00205c36e17a8c09191c270fda0dce029fe19ce8cd677509b3bc875454e7904b6a6700170041047e12aff13aeee1b8690e5be53549c26f5a3b94e32462d18bb076e095471ac05be1dbce117b77b322969b32a0fe68fd0ea955e8bbfdda8c4b413cb0fecc305782") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") service+=("ANY") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("x25519:secp256r1:secp384r1:secp521r1:x448:ffdhe2048:ffdhe3072:ffdhe4096:ffdhe6144:ffdhe8192") requiresSha2+=(true) current+=(true) names+=("Java 21.0.6 (OpenJDK)") short+=("java_2106") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030301a6010001a203038da0a88f4801f5447e2f601f23f7740cd5651b8b28b1864aa45c02771a3fc65820e3d4299d4881b830a38a270692ae60dec3ff669d9532c63fe78aa879f0bf79c0003e130213011303c02cc02bcca9c030cca8c02f009fccaa009ec024c028c023c027006b0067c00ac014c009c01300390033009d009c003d003c0035002f00ff0100011b0000000f000d00000a7465737473736c2e7368000500050100000000000a00160014001d001700180019001e01000101010201030104000b00020100001100090007020004000000000017000000230000000d00220020040305030603080708080804080508060809080a080b04010501060103030301002b00050403040303002d00020101003200220020040305030603080708080804080508060809080a080b040105010601030303010033006b0069001d00206e5b5bd473c8dfedb7301139f2bafede2384dbad5c0a67d5b7d4d9ff8c54fc3e0017004104cc209affa50e199d7c390f02cc3d7fee774939ada41980e7060c6bdf776f0fb4fa21358ada730db1d0890b6771d38f7b24a5ef6e3d1a9f7a76de093431d2a026") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") service+=("ANY") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("x25519:secp256r1:secp384r1:secp521r1:x448:ffdhe2048:ffdhe3072:ffdhe4096:ffdhe6144:ffdhe8192") requiresSha2+=(true) ja3+=("60f3e2285bc991c380f822c6ac51f947") ja4+=("t13d311200_e8f1e7e78f70_6077d120928a") current+=(true) names+=("go 1.17.8") short+=("go_1178") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030101130100010f03031029d230a9b311180dec08b33ed809c3516adcf841cd3ec640a6d1b0ad6470e8204a279851f3e8a94a156e37b13d79f30c2ddbdc6907f30f663df9f43c9dd82b8e0026c02bc02fc02cc030cca9cca8c009c013c00ac014009c009d002f0035c012000a130113021303010000a00000000f000d00000a7465737473736c2e7368000500050100000000000a000a0008001d001700180019000b00020100000d001a0018080404030807080508060401050106010503060302010203ff010001000010000e000c02683208687474702f312e3100120000002b0009080304030303020301003300260024001d0020a3704893c7f1fb37d84dda6c10a6b1b7315d8f05e2a7946c239aaa13a33efa28") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("x25519:secp256r1:secp384r1:secp521r1") requiresSha2+=(false) current+=(true) names+=("Opera 60 (Win 10)") short+=("opera_60_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03033503bae63f0cf8ef9d0a55623327a28e3c3525a2ce28153242e132279d3940e3206a440f32e7a8488b012b12d4b7d1b2b1764c784a944662a7f305e90f7d15168500228a8a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a01000191eaea000000000012001000000d7777772e6f706572612e636f6d00170000ff01000100000a000a0008caca001d00170018000b00020100002300c07505f51cc349fe3f9e022858dcd1eb12ca07a302fd9f43a4cbffec031296e77b07122bb9532dd112770b686a4898e20462c514c5fb043dc325a5453753c499774bfab673024a86543064c33d40b67b2e4e9dfa177305e8cdc39f3d8afe0fe7c80406a9e07ea836dd8a46ab7ef9aa5dc66301a346585f7ff26615a28cbea2544d4ba8101be6f528b4bba3a5ce9a6683537b29cd16d4c5015de6f9a93d3c132389e56ff20853d952f6ee06b46ca89dc52b67583fbb0fb61e2b78c03ef97892c6a90010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b0029caca000100001d00204aeb26ec670ce59e094a8b97c281186b4e87706df48667a24193e268a069cd54002d00020101002b000b0a3a3a0304030303020301001b00030200027a7a0001000015000b0000000000000000000000") protos+=("-no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0300") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP,FTP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("Opera 65 (Win 10)") short+=("opera_65_win10") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03039eee8c108ed7b040285658cddb0022e7e1f17bc92084335edf8ad5404fbf424a203bedd34c83b59c3e302af681b449490895335de0d8a0f10d20a0ff610130229b00224a4a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001912a2a000000000014001200000f626c6f67732e6f706572612e636f6d00170000ff01000100000a000a00081a1a001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b00291a1a000100001d0020cc29a9f8b3a69149c38b29ccb7341b98efd1714c3887fc1e84512470f783921a002d00020101002b000b0adada0304030303020301001b0003020002dada000100001500c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP,FTP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("Opera 66 (Win 10)") short+=("opera_66_win10") ch_ciphers+=("TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc0303a7ab90aa0987b33da751017bb78958f51bc1aa76e116c21eb4bb0b51a9f88f77203658175a55b25ab41867568b52e8fb8eaf4c8e91ceccf30ae498879e468579b100222a2a130113021303c02bc02fc02cc030cca9cca8c013c014009c009d002f0035000a010001911a1a000000000014001200000f626c6f67732e6f706572612e636f6d00170000ff01000100000a000a00087a7a001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d00140012040308040401050308050501080606010201001200000033002b00297a7a000100001d0020488d0d07b77098f98cb97ee85ae88b358404a8004633896e5110966ab3c18f66002d00020101002b000b0ababa0304030303020301001b00030200023a3a000100001500c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP,FTP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(true) names+=("LibreSSL 2.8.3 (macOS)") short+=("libressl_283") ch_ciphers+=("ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:GOST2012256-GOST89-GOST89:DHE-RSA-CAMELLIA256-SHA256:DHE-RSA-CAMELLIA256-SHA:GOST2001-GOST89-GOST89:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA256:CAMELLIA256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA256:DHE-RSA-CAMELLIA128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA256:CAMELLIA128-SHA:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:RC4-MD5:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030100d2010000ce0303b92919aa3a64d5be518c116c52fc2fd6aab43535432e0702668527957473b6b400005ccca9cca8ccaac030c02cc028c024c014c00a009f006b0039ff8500c400880081009d003d003500c00084c02fc02bc027c023c013c009009e0067003300be0045009c003c002f00ba0041c011c00700050004c012c0080016000a00ff010000490000000f000d00000a7465737473736c2e7368000b00020100000a00080006001d0017001800230000000d001c001a06010603efef0501050304010403eeeeeded0301030302010203") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("LibreSSL 3.3.6 (macOS)") short+=("libressl_336") ch_ciphers+=("ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:GOST2012256-GOST89-GOST89:DHE-RSA-CAMELLIA256-SHA256:DHE-RSA-CAMELLIA256-SHA:GOST2001-GOST89-GOST89:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA256:CAMELLIA256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA256:DHE-RSA-CAMELLIA128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA256:CAMELLIA128-SHA:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:RC4-MD5:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("160301012d0100012903036f634cebd1385dae7076b9c4fc379c9fec115f6bf6a1fdc906290baa9a084607209bb9a06fd1b08a52e5a1c745134db86e8b38e64818cbd1629a600e6fd39c17520062130313021301cca9cca8ccaac030c02cc028c024c014c00a009f006b0039ff8500c400880081009d003d003500c00084c02fc02bc027c023c013c009009e0067003300be0045009c003c002f00ba0041c011c00700050004c012c0080016000a00ff0100007e002b0009080304030303020301003300260024001d00202d52009bb008358c75a8715491c0123ad68d5bcf550abd0572e99fc4c3493e710000000f000d00000a7465737473736c2e7368000b00020100000a000a0008001d00170018001900230000000d0018001608060601060308050501050308040401040302010203") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("x25519:secp256r1:secp384r1:secp521r1") requiresSha2+=(false) ja3+=("6de2ec44c1eaa7a8dc77095db71e25cf") ja4+=("Rt13d490700_0d8feac7bc37_460f73f9cefb") current+=(true) names+=("OpenSSL 1.1.0j (Debian)") short+=("openssl_110j") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030100c2010000be03036468410c4ae36f78a4357ad19fa61353e46aed101eff4e0c9f77ec654dc12eb4000038c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff0100005d00000013001100000e7465737473736c2e73683a343433000b000403000102000a000a0008001d001700190018002300000016000000170000000d0020001e060106020603050105020503040104020403030103020303020102020203") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0300") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp521r1:secp384r1") requiresSha2+=(false) current+=(false) names+=("OpenSSL 1.1.0l (Debian)") short+=("openssl_110l") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030100bf010000bb030350a1cc6c1ae6c9726ce0a025f4d2c522e6b503d5ccd2d1740bd1bb2e7af108d5000038c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff0100005a00000010000e00000b7465737473736c2e6e6574000b000403000102000a000a0008001d001700190018002300000016000000170000000d0020001e060106020603050105020503040104020403030103020303020102020203") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp521r1:secp384r1") requiresSha2+=(false) current+=(true) names+=("OpenSSL 1.1.1b (Debian)") short+=("openssl_111b") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("160301012d010001290303ac67ab7c72eea2e0f68615f02c9e566ed4a3bb0022c2ca1db7615acfb9dedd0120415470391af467e708e8983b134defcb4f4855e774606ae8223265af0fbb802a003e130213031301c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff010000a200000013001100000e7465737473736c2e73683a343433000b000403000102000a000c000a001d0017001e00190018002300000016000000170000000d002a0028040305030603080708080809080a080b080408050806040105010601030303010302040205020602002b00050403040303002d00020101003300260024001d0020b4556edddf807eb6b6bbcd61e25775a3992dd6f5caeee76d37f8895436efc972") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:x448:secp521r1:secp384r1") requiresSha2+=(true) current+=(false) names+=("OpenSSL 1.1.1d (Debian)") short+=("openssl_111d") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030101290100012503036f18cf85cf24e3676f0e79a3503aa9feefc961e3baed7b00fd876a2c6d2395b3205f4fb8769aa1e5279b848b3f35bec3d7aa9966595d22ebcd35e72f79b9d9fcc9003e130213031301c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff0100009e0000000f000d00000a7465737473736c2e7368000b000403000102000a000c000a001d0017001e00190018002300000016000000170000000d002a0028040305030603080708080809080a080b080408050806040105010601030303010302040205020602002b00050403040303002d00020101003300260024001d0020a12c2f7e04adcb76ce5eb8b05cf631e7cdf46f5e28cbe86a676d704098507b40") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:x448:secp521r1:secp384r1") requiresSha2+=(true) current+=(true) names+=("OpenSSL 3.0.3 (git)") short+=("openssl_303") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030101370100013303031bd0fe6e109e027d3c6368ac3629f9ecdb499a4a284df7fea7084bcbc8975900206db4bfae530aef2092a0faa3668bc23924b4a333f31eb48c0a55e4e420e9a417003e130213031301c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff010000ac0000000f000d00000a7465737473736c2e7368000b000403000102000a00160014001d0017001e0019001801000101010201030104002300000016000000170000000d002a0028040305030603080708080809080a080b080408050806040105010601030303010302040205020602002b0009080304030303020301002d00020101003300260024001d00207112b9de757a3a6a8afac74621c945419bbadd8e74f35a5958b2969328b73d4e") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:x448:secp521r1:secp384r1") requiresSha2+=(true) current+=(false) names+=("OpenSSL 3.0.15 (Debian)") short+=("openssl_315") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030101370100013303036f9d8f9a79de979a60dbac5722c4a58be4b20b2342db4eda46c8195e8a217cfe208652a8cbfb13eec33fac6d45b34306d92639d9794222011a84e1a425feb976f3003e130213031301c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f00ff010000ac0000000f000d00000a7465737473736c2e7368000b000403000102000a00160014001d0017001e0019001801000101010201030104002300000016000000170000000d002a0028040305030603080708080809080a080b080408050806040105010601030303010302040205020602002b0009080304030303020301002d00020101003300260024001d0020324298346f49ce8830d64571f62b45f7a1d133cfbbbcbe4442902418f3539e74") protos+=("-no_ssl2 -no_ssl3") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("x25519:secp256r1:x448:secp521r1:secp384r1:ffdhe2048:ffdhe3072:ffdhe4096:ffdhe6144:ffdhe8192") requiresSha2+=(true) ja3+=("a3afc2c46ba4a7d7fbe1cfb7a3031c2f") ja4+=("t13d311000_e8f1e7e78f70_1f22a2ca17c4") current+=(true) names+=("OpenSSL 3.5.0 (git)") short+=("openssl_350") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010602010005fe03031bd89c274749435718559a0608a56fe6ee4725b2dfd165b1761698b5d27ea516201c8f86d0ef4b0c10af240c1ef15e6371ca9d04279a51f42ab2b8fb710ce66ce6003c130213031301c02cc030009fcca9cca8ccaac02bc02f009ec024c028006bc023c0270067c00ac0140039c009c0130033009d009c003d003c0035002f01000579ff010001000000000f000d00000a7465737473736c2e7368000b000403000102000a0012001011ec001d0017001e0018001901000101002300000016000000170000000d0036003409050906090404030503060308070808081a081b081c0809080a080b080408050806040105010601030303010302040205020602002b00050403040303002d00020101003304ea04e811ec04c0a955159d00cc9029ccd63372160b3ae1380e24b075aaa91b311319a6e0b12f34b9843535a3c004a2a47be34b415728ad74630346c8770bac3ae5285e8bf31919c90c443b880ca88fa3039b4553aa57c038973ca70e7c1e10d4bbff4970dfaa92aec77361314950b3be0b40c92b1535ffb0a6fdd7450c4288b5097c8d61bd17a3408ccb6264a72d90f42b20c8cf1c4689eab0527a47532ca077af8b943db5c4ce1068b4545f19384c9d4b6595543890e811bf8b66b5394a18a7553da431ba4a7d58f409358825d2408ef95b67f976bb2ba6428db68ff6db3bcdd0cc687a79b66309478b47d4668d0552cd1495a65a2a43742a4da9a13b1511ca8af217dc59ad17d03fd8376dc8993d68c81cf034922012cf4550b770b80ecfa36ac82c3dca254c0c412fc76aa1e40b1a0f1187f282599503993b92c73e685e668a7dfe93167e12cf6754c5659b009f58a513d1b1eb81661eaaba57f84863884da3b47ffe339764d136f8332ec0ca5af6f18b0df92b01323d9dd9c687841283864358e102a2a8c7ecec5bd52a05b51696e78791e3116a08c7517274644309ae8f604b0f1cae867180b9e84e6ff44e9b0c95ff997b2cb07b90c8a793757ccc122abf21c34432c83c244f5fac1bbffc16a4c0456bd306a73585d15931880098504290d07a3024a19e52902b4366012e119dc61b0f62083d42d32e0c6ab09e6aa6a2fccf9169aa4b1491e37c8fd939b43435b4e8ccbfd7895e517c870114601c1b7fbf0b091ef46d3268aeebb43ad52aa0e538c83db04db30a0a6898b3919c34e8d050b86771a42691e06869898a43e0265d0bbb026955560c249e09e2027c045c46c1cb9bb773f3b63ec0f9c3856ac065d6c98e6115e791cb2d2b29b22c3fc69b3b691a86a93b0ead2020c6a350baf10d58e5199e2a70b734238a950baca53b29fc45ab279d18da9e3549c984a4929d641ff60ba2bd8549af9b5ccd484963022b6caa0b7e434a49f76722728703db0205f487fdb2607d52819ca7783f073dd3617562691d57397c1109ab178b473011c3324a234840b7bbc81a1a38705da44a920b1ac8bbc31549094a6935559351a2b0b20831091bb29574bb6e6f753e30c56caa8439037460e9a14bd775c54c83a1ea59768891630880735f98406065103173a78482ac73e406cd7536d740a44a1265368162c943b531a361165c56eb0070c3a63335661bc22827e3f1c22f059540623aa042712bb8363d62caf2d35b3ce2ceca8ab5a92032483627d4657bc57a9c315c2c7e048f05b27f5fc15d612c681803cf95d0aa9a0a5aa6fb9e1138269e8933b01b55a499c4645656f4c0aab83a66ad9690d6880625076055f3c73fea8cdea5cbea13638cdc20dd889cdce83ce77855b17a5ca7cc0d4964967c5349c165cbaf20a8f64ca67ad619e6617c1cc02c87d3aa5cbbc306594983d996ca71cd2f8a0c92a6428e6347f16c719f281496774aecf1ba38b58a397c873c01501d7c15a846aa472123c1b36fe9628b4ff92c381386aea6078f1511ab242f4810a019ba9cff754ead831c03f0693d2c443feb5314451db7632c92e6b2a1694ece5425244cba6fb96411694108d68e15c4323f3bce70622bd8b153b9ab7c35464b25033abc1827b6f40406dcb72181124614a7aa28ec85cdd972b966fe2a18bec37e022b994391c802136d4c45e71456cecca8c570b1d0997b9a42c31a0b001d00206027f8c9736f473e484816595da5ffd8ca654a866580a64d2451c47f5235ed31") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("ANY") minDhBits+=(2048) maxDhBits+=(-1) minRsaBits+=(2048) maxRsaBits+=(-1) minEcdsaBits+=(224) curves+=("X25519MLKEM768:x25519:secp256r1:x448:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(true) ja3+=("27718d56688425cd36a401c66147c4ee") ja4+=("t13d301100_1d37bd780c83_8e6e362c5eac") current+=(true) names+=("Apple Mail (16.0)") short+=("apple_mail_16_0") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030100a9010000a50303629610e27d8327bb7869cb85b066cd04b5c5caa9bfb14740edc358ac9dcd843b00002c00ffc02cc02bc024c023c00ac009c008c030c02fc028c027c014c013c012009d009c003d003c0035002f000a0100005000000013001100000e696d61702e676d61696c2e636f6d000a00080006001700180019000b00020100000d00120010040102010501060104030203050306030005000501000000000012000000170000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_2 -tls1_1 -tls1_0") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("HTTP,SMTP,POP,IMAP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("secp256r1:secp384r1:secp521r1") requiresSha2+=(false) current+=(true) names+=("Thunderbird (60.6)") short+=("thunderbird_60_6_1") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03039f5f6a4903cf739091fca37e8f43e6d173ffeb64905977b2dede05e061f3a24c20f958c20b0edd50e0716d108e1d6046178a8974d868c138eac8a6ab8becdf81cd001c130113031302c02bc02fcca9cca8c02cc030c013c014002f0035000a0100019700000013001100000e696d61702e676d61696c2e636f6d00170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000005000501000000000033006b0069001d00200ff08104aea54116caac222c2b7661e05d852847fcfd6860a0ec2f09804bd5330017004104d7afd4ac669de5312ff866d84381723c1d5ff549d409658f9300644d76e33b5c953499a89bdb1fc8930587645bf3452a47fbe6e3f00a59e232c39c269791d871002b0009080304030303020301000d0018001604030503060308040805080604010501060102030201002d00020101001c00024001001500aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP,SMTP,POP,IMAP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) current+=(false) names+=("Thunderbird (68.3)") short+=("thunderbird_68_3_1") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030342ffc6c8b96ea60586a63fe7d97ec8d5c962b55ccfe02177cd94c8ea42f7333e209c9b6129e250f6fb8127664d26a46c410a6c217d4c2c4dc49125edd7191043810024130113031302c02bc02fcca9cca8c02cc030c00ac009c013c01400330039002f0035000a0100018f00000013001100000e696d61702e676d61696c2e636f6d00170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000005000501000000000033006b0069001d0020fb48d75e98e9e9c7a7aa32106b8856384f9af1e50f9bd45f2ae3dc349858741b00170041047138476a2fbfd6dc6fa4b351b99248abc20bf27ccb962445161036ec3df7bf7566e048374b72d4cbcf4526475a8a13bbaea75e5925514d6db1a4ae60f6a961fd002b0009080304030303020301000d0018001604030503060308040805080604010501060102030201002d00020101001c00024001001500a2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP,SMTP,POP,IMAP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) current+=(false) names+=("Thunderbird (91.9)") short+=("thunderbird_91_9") ch_ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030398fea60c514a1aa7931c86651b3486f0f9caca127093a7b213b8ea135f0a89ad20f2f096a2f33d57fe91ad3398b3e76d5d5620eafc6cffa6586b230d207f8912bf0024130113031302c02bc02fcca9cca8c02cc030c00ac009c013c014009c009d002f0035000a0100018f00000011000f00000c696d61702e676d782e6e657400170000ff01000100000a000e000c001d00170018001901000101000b00020100002300000005000501000000000022000a000804030503060302030033006b0069001d00208a798abebb2289f6cd1d87d0e79b101714dd6d21832c95cc0900c246a74189470017004104e84182d790cbb409acc446aa7b2da35b9d91e5c3ab9a1306f3a737092c06616f9f0373483fa3f41dbbbcfb1c51ecb6994c796787ce2f516fe860905f35dd48db002b00050403040303000d0018001604030503060308040805080604010501060102030201002d00020101001c000240010015009a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2") lowest_protocol+=("0x0303") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP,SMTP,POP,IMAP") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) curves+=("X25519:secp256r1:secp384r1:secp521r1:ffdhe2048:ffdhe3072") requiresSha2+=(false) current+=(true) names+=("Safari 12.1 (iOS 12.2)") short+=("safari_121_ios_122") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") handshakebytes+=("1603010200010001fc03035695ccca492a68de5adfabb7e70c87b694974ddb17344e9f8d80d51aa64a881d204aca76c4eec10c3b9851b5f02fe71f371d896ba7c9c5a8cd78370b4af27896d60034130313011302c02cc02bc024c023c00ac009cca9c030c02fc028c027c014c013cca8009d009c003d003c0035002fc008c012000a0100017fff0100010000000010000e00000b6369706865726c692e737400170000000d0018001604030804040105030203080508050501080606010201000500050100000000337400000012000000100030002e0268320568322d31360568322d31350568322d313408737064792f332e3106737064792f3308687474702f312e31000b00020100003300260024001d00204090ee7a8be9431345ddcec031c3024ad13d968357e337da3882606afd91405f002d00020101002b0009080304030303020301000a000a0008001d0017001800190015004d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029005b002600205d10265edd7f80daa4cb33e036860f0817903b6f7ffeeaf69977cef1170892485c26fc13003130de816ac91ce4c32f5f7beb18209f6d917cb15fe2a0fd624d5500c64a583899aae55a1d64921d86878eccd66004f1b27f") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") curves+=("X25519:secp256r1:secp384r1:secp521r1") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) requiresSha2+=(false) current+=(false) names+=("Safari 18.4 (iOS 18.4)") short+=("safari_184_ios_184") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA:AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") handshakebytes+=("1603010200010001fc0303eeadd8d7a16a2094961be3378d634db290ca80a727bbd1b6e9ba8738ff3fad4c20fc75d8ca4ca06f8ff1b6346ea1e212ae68dfd0aef24f7debde69478e64649b2a002a3a3a130113021303c02cc02bcca9c030c02fcca8c00ac009c014c013009d009c0035002fc008c012000a010001891a1a00000000000f000d00000a7465737473736c2e736800170000ff01000100000a000c000a6a6a001d001700180019000b000201000010000e000c02683208687474702f312e31000500050100000000000d001600140403080404010503080508050501080606010201001200000033002b00296a6a000100001d0020fd184de04a7fe5cdfd7317a41c36031805a53c2f45eb8f14634c10efae08db32002d00020101002b000b0ababa0304030303020301001b0003020001fafa000100001500c6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") curves+=("x25519:secp256r1:secp384r1:secp521r1") minDhBits+=(-1) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) requiresSha2+=(false) ja3+=("773906b0efdefa24a7f2b8eb6985bf37") ja4+=("t13d2014h2_a09f3c656075_e42f34c56612") current+=(true) names+=("Safari 12.1 (macOS 10.13.6)") short+=("safari_121_osx_10136") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA") ciphersuites+=("") ch_sni+=("$SNI") warning+=("") handshakebytes+=("16030100e3010000df03039c6af5b589ea930473487870a111e2088f4c71c4497310945d571b318f259f47000028c02cc02bc024c023c00ac009cca9c030c02fc028c027c014c013cca8009d009c003d003c0035002f0100008eff0100010000000010000e00000b6369706865726c692e737400170000000d00140012040308040401050308050501080606010201000500050100000000337400000012000000100030002e0268320568322d31360568322d31350568322d313408737064792f332e3106737064792f3308687474702f312e31000b00020100000a000a0008001d001700180019") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0303") alpn+=("h2,http/1.1") service+=("HTTP") curves+=("X25519:secp256r1:secp384r1:secp521r1") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) requiresSha2+=(false) current+=(false) names+=("Safari 13.0 (macOS 10.14.6)") short+=("safari_130_osx_10146") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030320ed560be50a8d6545d0409dfc0f6fd560d886fc62a514ee9923c642455fb5832084efe206b1c656b3abab810251eb260834abb7b0ec0d30450e50594c3a7f74120034130313011302c02cc02bc024c023c00ac009cca9c030c02fc028c027c014c013cca8009d009c003d003c0035002fc008c012000a0100017fff0100010000000010000e00000b6369706865726c692e737400170000000d0018001604030804040105030203080508050501080606010201000500050100000000337400000012000000100030002e0268320568322d31360568322d31350568322d313408737064792f332e3106737064792f3308687474702f312e31000b00020100003300260024001d00205465c46a55942e9fe02115c0cc2ab46ee074d4d164222f2ce6510bd91fa18419002d00020101002b0009080304030303020301000a000a0008001d001700180019001500ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,h2-16,h2-15,h2-14,spdy/3.1,spdy/3,http/1.1") service+=("HTTP") curves+=("X25519:secp256r1:secp384r1:secp521r1") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) requiresSha2+=(false) current+=(true) names+=("Safari 15.4 (macOS 12.3.1)") short+=("safari_154_osx_1231") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA:AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc030345ecc5bc82ce47ee1a3491d46343fc5f36d43856d141c9896c323600b3bf2009203dfd825c6b7164a52872e5041ded637d67094f385b32086eb97d375a5ec6e362002ababa130113021303c02cc02bcca9c030c02fcca8c00ac009c014c013009d009c0035002fc008c012000a01000189dada00000000000f000d00000a7465737473736c2e736800170000ff01000100000a000c000a4a4a001d001700180019000b000201000010000e000c02683208687474702f312e31000500050100000000000d0018001604030804040105030203080508050501080606010201001200000033002b00294a4a000100001d00201911629f64c7dbfaa854871ab7f55545c784c1ef5ea5211c30dee96aaf64b53d002d00020101002b000b0a9a9a0304030303020301001b0003020001caca000100001500c400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") curves+=("X25519:secp256r1:secp384r1:secp521r1") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) requiresSha2+=(false) current+=(true) names+=("Safari 18.4 (macOS 15.4)") short+=("safari_184_osx_154") ch_ciphers+=("ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA:AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA") ciphersuites+=("TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256") ch_sni+=("$SNI") warning+=("") handshakebytes+=("1603010200010001fc03030886edd4c7a1345a2b57e1347f15efb7f45836169c7a3e9e87cb6c367b7b34f120b6c43e3e84fa7512a421ee16950e3761d8450ff386426a720b38c3d8574a5ebe002aeaea130113021303c02cc02bcca9c030c02fcca8c00ac009c014c013009d009c0035002fc008c012000a01000189caca00000000000f000d00000a7465737473736c2e736800170000ff01000100000a000c000a6a6a001d001700180019000b000201000010000e000c02683208687474702f312e31000500050100000000000d001600140403080404010503080508050501080606010201001200000033002b00296a6a000100001d00206e8b7b1b4414a23dfd02fa6aa6ad54e97838fb1b9a787335d1c5b58e637d9d7d002d00020101002b000b0afafa0304030303020301001b00030200017a7a000100001500c6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") protos+=("-no_ssl3 -no_ssl2") tlsvers+=("-tls1_3 -tls1_2 -tls1_1 -tls1") lowest_protocol+=("0x0301") highest_protocol+=("0x0304") alpn+=("h2,http/1.1") service+=("HTTP") curves+=("x25519:secp256r1:secp384r1:secp521r1") minDhBits+=(1024) maxDhBits+=(-1) minRsaBits+=(-1) maxRsaBits+=(-1) minEcdsaBits+=(-1) requiresSha2+=(false) ja3+=("773906b0efdefa24a7f2b8eb6985bf37") ja4+=("t13d2014h2_a09f3c656075_e42f34c56612") current+=(true)