@browsercore/testing 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/captures/DIVERGENCE_REPORT.md +325 -0
- package/captures/IMPERSIONATION_GAPS_REPORT.md +367 -0
- package/captures/README.md +56 -0
- package/captures/REVIEW_FINDINGS.md +71 -0
- package/captures/_probe/analyze.py +67 -0
- package/captures/_probe/capture_bytes.py +127 -0
- package/captures/_probe/chrome131_determinism.py +32 -0
- package/captures/_probe/diagnose_capture.py +59 -0
- package/captures/_probe/golden_analysis.py +91 -0
- package/captures/_probe/inspect_golden.py +55 -0
- package/captures/_probe/inspect_sv.py +16 -0
- package/captures/_probe/make_golden.py +170 -0
- package/captures/_probe/output/chrome100.json +219 -0
- package/captures/_probe/output/chrome101.json +219 -0
- package/captures/_probe/output/chrome104.json +219 -0
- package/captures/_probe/output/chrome107.json +220 -0
- package/captures/_probe/output/chrome110.json +220 -0
- package/captures/_probe/output/chrome116.json +220 -0
- package/captures/_probe/output/chrome119.json +219 -0
- package/captures/_probe/output/chrome120.json +219 -0
- package/captures/_probe/output/chrome123.json +223 -0
- package/captures/_probe/output/chrome124.json +224 -0
- package/captures/_probe/output/chrome131.json +224 -0
- package/captures/_probe/output/chrome131_fresh.json +224 -0
- package/captures/_probe/output/chrome133a.json +224 -0
- package/captures/_probe/output/chrome136.json +224 -0
- package/captures/_probe/output/chrome99.json +219 -0
- package/captures/_probe/output/edge101.json +219 -0
- package/captures/_probe/output/edge99.json +219 -0
- package/captures/_probe/output/firefox133.json +227 -0
- package/captures/_probe/output/firefox135.json +230 -0
- package/captures/_probe/output/safari155.json +210 -0
- package/captures/_probe/output/safari170.json +214 -0
- package/captures/_probe/output/safari170_fresh.json +214 -0
- package/captures/_probe/output/safari180.json +216 -0
- package/captures/_probe/output/safari180_ios.json +216 -0
- package/captures/_probe/output/safari184.json +215 -0
- package/captures/_probe/output/safari260.json +211 -0
- package/captures/_probe/output/summary.json +2520 -0
- package/captures/_probe/parse_existing_settings.py +15 -0
- package/captures/_probe/peetprint.py +39 -0
- package/captures/_probe/probe.py +137 -0
- package/captures/_probe/raw_bytes/chrome-131_client_hello.bin +0 -0
- package/captures/_probe/raw_bytes/chrome-131_client_hello.hex +32 -0
- package/captures/_probe/raw_bytes/firefox-133_client_hello.bin +0 -0
- package/captures/_probe/raw_bytes/firefox-133_client_hello.hex +32 -0
- package/captures/_probe/raw_bytes/safari-17_client_hello.bin +0 -0
- package/captures/_probe/raw_bytes/safari-17_client_hello.hex +32 -0
- package/captures/_probe/relay_capture.py +137 -0
- package/captures/_probe/socks_capture.py +138 -0
- package/captures/_probe/validate_fresh.py +66 -0
- package/captures/_probe/validate_golden.py +97 -0
- package/captures/_probe/verify_capture.py +68 -0
- package/captures/chrome-131/http2/settings.bin +0 -0
- package/captures/chrome-131/http2/settings.meta.json +9 -0
- package/captures/chrome-131/oracle_capture.reference.json +224 -0
- package/captures/chrome-131/tls/client_hello.bin +0 -0
- package/captures/chrome-131/tls/client_hello.meta.json +20 -0
- package/captures/chrome-140/http2/settings.bin +0 -0
- package/captures/chrome-140/http2/settings.meta.json +9 -0
- package/captures/chrome-140/tls/client_hello.bin +0 -0
- package/captures/chrome-140/tls/client_hello.meta.json +12 -0
- package/captures/firefox-128/tls/client_hello.bin +0 -0
- package/captures/firefox-128/tls/client_hello.meta.json +12 -0
- package/captures/firefox-133/http2/settings.bin +0 -0
- package/captures/firefox-133/http2/settings.meta.json +9 -0
- package/captures/firefox-133/oracle_capture.reference.json +227 -0
- package/captures/firefox-133/tls/client_hello.bin +0 -0
- package/captures/firefox-133/tls/client_hello.meta.json +20 -0
- package/captures/safari-17/http2/settings.bin +0 -0
- package/captures/safari-17/http2/settings.meta.json +9 -0
- package/captures/safari-17/oracle_capture.reference.json +214 -0
- package/captures/safari-17/tls/client_hello.bin +0 -0
- package/captures/safari-17/tls/client_hello.meta.json +20 -0
- package/dist/bench/bench.d.ts +22 -6
- package/dist/bench/bench.d.ts.map +1 -1
- package/dist/bench/bench.js +105 -10
- package/dist/bench/bench.js.map +1 -1
- package/dist/captures/manifest.d.ts.map +1 -1
- package/dist/captures/manifest.js +2 -3
- package/dist/captures/manifest.js.map +1 -1
- package/dist/categories/cookies.d.ts +3 -2
- package/dist/categories/cookies.d.ts.map +1 -1
- package/dist/categories/cookies.js +228 -11
- package/dist/categories/cookies.js.map +1 -1
- package/dist/categories/redirects.d.ts +8 -2
- package/dist/categories/redirects.d.ts.map +1 -1
- package/dist/categories/redirects.js +97 -12
- package/dist/categories/redirects.js.map +1 -1
- package/dist/e2e/cert-gen.d.ts +30 -0
- package/dist/e2e/cert-gen.d.ts.map +1 -0
- package/dist/e2e/cert-gen.js +158 -0
- package/dist/e2e/cert-gen.js.map +1 -0
- package/dist/e2e/parse-clienthello.d.ts +177 -0
- package/dist/e2e/parse-clienthello.d.ts.map +1 -0
- package/dist/e2e/parse-clienthello.js +343 -0
- package/dist/e2e/parse-clienthello.js.map +1 -0
- package/dist/e2e/sink-server.d.ts +109 -0
- package/dist/e2e/sink-server.d.ts.map +1 -0
- package/dist/e2e/sink-server.js +292 -0
- package/dist/e2e/sink-server.js.map +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/fingerprint/index.d.ts +5 -2
- package/dist/fingerprint/index.d.ts.map +1 -1
- package/dist/fingerprint/index.js +3 -2
- package/dist/fingerprint/index.js.map +1 -1
- package/dist/fingerprint/ja3.d.ts.map +1 -1
- package/dist/fingerprint/ja3.js +33 -4
- package/dist/fingerprint/ja3.js.map +1 -1
- package/dist/fingerprint/ja4-errors.d.ts +17 -0
- package/dist/fingerprint/ja4-errors.d.ts.map +1 -0
- package/dist/fingerprint/ja4-errors.js +20 -0
- package/dist/fingerprint/ja4-errors.js.map +1 -0
- package/dist/fingerprint/ja4-reader.d.ts +44 -0
- package/dist/fingerprint/ja4-reader.d.ts.map +1 -0
- package/dist/fingerprint/ja4-reader.js +112 -0
- package/dist/fingerprint/ja4-reader.js.map +1 -0
- package/dist/fingerprint/ja4.d.ts +11 -43
- package/dist/fingerprint/ja4.d.ts.map +1 -1
- package/dist/fingerprint/ja4.js +54 -141
- package/dist/fingerprint/ja4.js.map +1 -1
- package/dist/fingerprint/ja4h.d.ts +46 -0
- package/dist/fingerprint/ja4h.d.ts.map +1 -0
- package/dist/fingerprint/ja4h.js +50 -0
- package/dist/fingerprint/ja4h.js.map +1 -0
- package/dist/golden/golden.d.ts +15 -1
- package/dist/golden/golden.d.ts.map +1 -1
- package/dist/golden/golden.js +35 -22
- package/dist/golden/golden.js.map +1 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/dist/reference/browser-provider.d.ts +33 -0
- package/dist/reference/browser-provider.d.ts.map +1 -0
- package/dist/reference/browser-provider.js +60 -0
- package/dist/reference/browser-provider.js.map +1 -0
- package/dist/reference/curl-provider.d.ts +40 -0
- package/dist/reference/curl-provider.d.ts.map +1 -0
- package/dist/reference/curl-provider.js +96 -0
- package/dist/reference/curl-provider.js.map +1 -0
- package/dist/reference/dump.d.ts +42 -0
- package/dist/reference/dump.d.ts.map +1 -0
- package/dist/reference/dump.js +102 -0
- package/dist/reference/dump.js.map +1 -0
- package/dist/reference/node-reference.d.ts.map +1 -1
- package/dist/reference/node-reference.js +2 -5
- package/dist/reference/node-reference.js.map +1 -1
- package/dist/reference/reference-errors.d.ts +36 -0
- package/dist/reference/reference-errors.d.ts.map +1 -0
- package/dist/reference/reference-errors.js +43 -0
- package/dist/reference/reference-errors.js.map +1 -0
- package/dist/reference/reference-types.d.ts +33 -0
- package/dist/reference/reference-types.d.ts.map +1 -0
- package/dist/reference/reference-types.js +9 -0
- package/dist/reference/reference-types.js.map +1 -0
- package/dist/reference/reference.d.ts +14 -77
- package/dist/reference/reference.d.ts.map +1 -1
- package/dist/reference/reference.js +43 -207
- package/dist/reference/reference.js.map +1 -1
- package/dist/rfc/rfcTests.d.ts +46 -8
- package/dist/rfc/rfcTests.d.ts.map +1 -1
- package/dist/rfc/rfcTests.js +203 -16
- package/dist/rfc/rfcTests.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +11 -5
- package/dist/utils.js.map +1 -1
- package/package.json +61 -55
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
{
|
|
2
|
+
"donate": "Please consider donating to keep this API running. Visit https://tls.peet.ws",
|
|
3
|
+
"ip": "92.218.110.236:60830",
|
|
4
|
+
"http_version": "h2",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15",
|
|
7
|
+
"tls": {
|
|
8
|
+
"ciphers": [
|
|
9
|
+
"TLS_GREASE (0x9A9A)",
|
|
10
|
+
"TLS_AES_128_GCM_SHA256",
|
|
11
|
+
"TLS_AES_256_GCM_SHA384",
|
|
12
|
+
"TLS_CHACHA20_POLY1305_SHA256",
|
|
13
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
|
|
14
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
|
15
|
+
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
16
|
+
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
|
|
17
|
+
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
|
|
18
|
+
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
19
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
|
|
20
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
|
|
21
|
+
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
|
|
22
|
+
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
|
|
23
|
+
"TLS_RSA_WITH_AES_256_GCM_SHA384",
|
|
24
|
+
"TLS_RSA_WITH_AES_128_GCM_SHA256",
|
|
25
|
+
"TLS_RSA_WITH_AES_256_CBC_SHA",
|
|
26
|
+
"TLS_RSA_WITH_AES_128_CBC_SHA",
|
|
27
|
+
"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
|
|
28
|
+
"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
29
|
+
"TLS_RSA_WITH_3DES_EDE_CBC_SHA"
|
|
30
|
+
],
|
|
31
|
+
"extensions": [
|
|
32
|
+
{
|
|
33
|
+
"name": "TLS_GREASE (0xdada)"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "server_name (0)",
|
|
37
|
+
"server_name": "tls.peet.ws"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "extended_master_secret (23)",
|
|
41
|
+
"master_secret_data": "",
|
|
42
|
+
"extended_master_secret_data": ""
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "extensionRenegotiationInfo (boringssl) (65281)",
|
|
46
|
+
"data": "00"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "supported_groups (10)",
|
|
50
|
+
"supported_groups": [
|
|
51
|
+
"TLS_GREASE (0x6a6a)",
|
|
52
|
+
"X25519 (29)",
|
|
53
|
+
"P-256 (23)",
|
|
54
|
+
"P-384 (24)",
|
|
55
|
+
"P-521 (25)"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "ec_point_formats (11)",
|
|
60
|
+
"elliptic_curves_point_formats": [
|
|
61
|
+
"0x00"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "application_layer_protocol_negotiation (16)",
|
|
66
|
+
"protocols": [
|
|
67
|
+
"h2",
|
|
68
|
+
"http/1.1"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "status_request (5)",
|
|
73
|
+
"status_request": {
|
|
74
|
+
"certificate_status_type": "OSCP (1)",
|
|
75
|
+
"responder_id_list_length": 0,
|
|
76
|
+
"request_extensions_length": 0
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "signature_algorithms (13)",
|
|
81
|
+
"signature_algorithms": [
|
|
82
|
+
"ecdsa_secp256r1_sha256",
|
|
83
|
+
"rsa_pss_rsae_sha256",
|
|
84
|
+
"rsa_pkcs1_sha256",
|
|
85
|
+
"ecdsa_secp384r1_sha384",
|
|
86
|
+
"rsa_pss_rsae_sha384",
|
|
87
|
+
"rsa_pss_rsae_sha384",
|
|
88
|
+
"rsa_pkcs1_sha384",
|
|
89
|
+
"rsa_pss_rsae_sha512",
|
|
90
|
+
"rsa_pkcs1_sha512",
|
|
91
|
+
"rsa_pkcs1_sha1"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "signed_certificate_timestamp (18)"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "key_share (51)",
|
|
99
|
+
"shared_keys": [
|
|
100
|
+
{
|
|
101
|
+
"TLS_GREASE (0x6a6a)": "00"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"X25519 (29)": "1683e12f960cbb8989958b4dd362500a4a9504ac9ec8eacec2d5884901c67f0d"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "psk_key_exchange_modes (45)",
|
|
110
|
+
"PSK_Key_Exchange_Mode": "PSK with (EC)DHE key establishment (psk_dhe_ke) (1)"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "supported_versions (43)",
|
|
114
|
+
"versions": [
|
|
115
|
+
"TLS_GREASE (0x5a5a)",
|
|
116
|
+
"TLS 1.3",
|
|
117
|
+
"TLS 1.2",
|
|
118
|
+
"TLS 1.1",
|
|
119
|
+
"TLS 1.0"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "compress_certificate (27)",
|
|
124
|
+
"algorithms": [
|
|
125
|
+
"zlib (1)"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "TLS_GREASE (0xcaca)"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "padding (21)",
|
|
133
|
+
"padding_data_length": 394
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"tls_version_record": "771",
|
|
137
|
+
"tls_version_negotiated": "772",
|
|
138
|
+
"ja3": "771,4865-4866-4867-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10,0-23-65281-10-11-16-5-13-18-51-45-43-27-21,29-23-24-25,0",
|
|
139
|
+
"ja3_hash": "773906b0efdefa24a7f2b8eb6985bf37",
|
|
140
|
+
"ja4": "t13d2014h2_a09f3c656075_7f0f34a4126d",
|
|
141
|
+
"ja4_r": "t13d2014h2_000a,002f,0035,009c,009d,1301,1302,1303,c008,c009,c00a,c012,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,002b,002d,0033,ff01_0403,0804,0401,0503,0805,0805,0501,0806,0601,0201",
|
|
142
|
+
"peetprint": "GREASE-772-771-770-769|2-1.1|GREASE-29-23-24-25|1027-2052-1025-1283-2053-2053-1281-2054-1537-513|1|1|GREASE-4865-4866-4867-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10|0-10-11-13-16-18-21-23-27-43-45-5-51-65281-GREASE-GREASE",
|
|
143
|
+
"peetprint_hash": "fdf2c64009327d63a456cbab56a7bdde",
|
|
144
|
+
"client_random": "1985adfd244633ccfeba31e6e7234031312ce149df18c76c1b584852f44f5624",
|
|
145
|
+
"session_id": "40519450ee25d642abd20bf90245ddda6fba0042d7cec75e17b0a0864e7f1843"
|
|
146
|
+
},
|
|
147
|
+
"http2": {
|
|
148
|
+
"akamai_fingerprint": "2:0;3:100;4:2097152;9:1|10420225|0|m,s,a,p",
|
|
149
|
+
"akamai_fingerprint_hash": "c52879e43202aeb92740be6e8c86ea96",
|
|
150
|
+
"sent_frames": [
|
|
151
|
+
{
|
|
152
|
+
"frame_type": "SETTINGS",
|
|
153
|
+
"length": 24,
|
|
154
|
+
"settings": [
|
|
155
|
+
"ENABLE_PUSH = 0",
|
|
156
|
+
"MAX_CONCURRENT_STREAMS = 100",
|
|
157
|
+
"INITIAL_WINDOW_SIZE = 2097152",
|
|
158
|
+
"NO_RFC7540_PRIORITIES = 1"
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"frame_type": "WINDOW_UPDATE",
|
|
163
|
+
"length": 4,
|
|
164
|
+
"increment": 10420225
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"frame_type": "HEADERS",
|
|
168
|
+
"stream_id": 1,
|
|
169
|
+
"length": 261,
|
|
170
|
+
"headers": [
|
|
171
|
+
":method: GET",
|
|
172
|
+
":scheme: https",
|
|
173
|
+
":authority: tls.peet.ws",
|
|
174
|
+
":path: /api/all",
|
|
175
|
+
"sec-fetch-dest: document",
|
|
176
|
+
"user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15",
|
|
177
|
+
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
|
178
|
+
"sec-fetch-site: none",
|
|
179
|
+
"sec-fetch-mode: navigate",
|
|
180
|
+
"accept-language: en-US,en;q=0.9",
|
|
181
|
+
"priority: u=0, i",
|
|
182
|
+
"accept-encoding: gzip, deflate, br"
|
|
183
|
+
],
|
|
184
|
+
"flags": [
|
|
185
|
+
"EndStream (0x1)",
|
|
186
|
+
"EndHeaders (0x4)",
|
|
187
|
+
"Priority (0x20)"
|
|
188
|
+
],
|
|
189
|
+
"priority": {
|
|
190
|
+
"weight": 256,
|
|
191
|
+
"depends_on": 0,
|
|
192
|
+
"exclusive": 0
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
"tcpip": {
|
|
198
|
+
"cap_length": 66,
|
|
199
|
+
"dst_port": 443,
|
|
200
|
+
"src_port": 60830,
|
|
201
|
+
"ip": {
|
|
202
|
+
"tos": 72,
|
|
203
|
+
"ttl": 44,
|
|
204
|
+
"ip_version": 4,
|
|
205
|
+
"dst_ip": "205.185.123.167",
|
|
206
|
+
"src_ip": "92.218.110.236"
|
|
207
|
+
},
|
|
208
|
+
"tcp": {
|
|
209
|
+
"ack": 1640845177,
|
|
210
|
+
"checksum": 48519,
|
|
211
|
+
"seq": 2888168003,
|
|
212
|
+
"window": 2040
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
{
|
|
2
|
+
"donate": "Please consider donating to keep this API running. Visit https://tls.peet.ws",
|
|
3
|
+
"ip": "92.218.110.236:61567",
|
|
4
|
+
"http_version": "h2",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15",
|
|
7
|
+
"tls": {
|
|
8
|
+
"ciphers": [
|
|
9
|
+
"TLS_GREASE (0x0A0A)",
|
|
10
|
+
"TLS_AES_256_GCM_SHA384",
|
|
11
|
+
"TLS_CHACHA20_POLY1305_SHA256",
|
|
12
|
+
"TLS_AES_128_GCM_SHA256",
|
|
13
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
|
|
14
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
|
15
|
+
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
16
|
+
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
|
|
17
|
+
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
|
|
18
|
+
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
19
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
|
|
20
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
|
|
21
|
+
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
|
|
22
|
+
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
|
|
23
|
+
"TLS_RSA_WITH_AES_256_GCM_SHA384",
|
|
24
|
+
"TLS_RSA_WITH_AES_128_GCM_SHA256",
|
|
25
|
+
"TLS_RSA_WITH_AES_256_CBC_SHA",
|
|
26
|
+
"TLS_RSA_WITH_AES_128_CBC_SHA",
|
|
27
|
+
"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
|
|
28
|
+
"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
29
|
+
"TLS_RSA_WITH_3DES_EDE_CBC_SHA"
|
|
30
|
+
],
|
|
31
|
+
"extensions": [
|
|
32
|
+
{
|
|
33
|
+
"name": "TLS_GREASE (0x5a5a)"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "server_name (0)",
|
|
37
|
+
"server_name": "tls.peet.ws"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "extended_master_secret (23)",
|
|
41
|
+
"master_secret_data": "",
|
|
42
|
+
"extended_master_secret_data": ""
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "extensionRenegotiationInfo (boringssl) (65281)",
|
|
46
|
+
"data": "00"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "supported_groups (10)",
|
|
50
|
+
"supported_groups": [
|
|
51
|
+
"TLS_GREASE (0x0a0a)",
|
|
52
|
+
"X25519MLKEM768 (4588)",
|
|
53
|
+
"X25519 (29)",
|
|
54
|
+
"P-256 (23)",
|
|
55
|
+
"P-384 (24)",
|
|
56
|
+
"P-521 (25)"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "ec_point_formats (11)",
|
|
61
|
+
"elliptic_curves_point_formats": [
|
|
62
|
+
"0x00"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "session_ticket (35)",
|
|
67
|
+
"data": ""
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "application_layer_protocol_negotiation (16)",
|
|
71
|
+
"protocols": [
|
|
72
|
+
"h2",
|
|
73
|
+
"http/1.1"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "status_request (5)",
|
|
78
|
+
"status_request": {
|
|
79
|
+
"certificate_status_type": "OSCP (1)",
|
|
80
|
+
"responder_id_list_length": 0,
|
|
81
|
+
"request_extensions_length": 0
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "signature_algorithms (13)",
|
|
86
|
+
"signature_algorithms": [
|
|
87
|
+
"ecdsa_secp256r1_sha256",
|
|
88
|
+
"rsa_pss_rsae_sha256",
|
|
89
|
+
"rsa_pkcs1_sha256",
|
|
90
|
+
"ecdsa_secp384r1_sha384",
|
|
91
|
+
"rsa_pss_rsae_sha384",
|
|
92
|
+
"rsa_pss_rsae_sha384",
|
|
93
|
+
"rsa_pkcs1_sha384",
|
|
94
|
+
"rsa_pss_rsae_sha512",
|
|
95
|
+
"rsa_pkcs1_sha512",
|
|
96
|
+
"rsa_pkcs1_sha1"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "signed_certificate_timestamp (18)"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "key_share (51)",
|
|
104
|
+
"shared_keys": [
|
|
105
|
+
{
|
|
106
|
+
"TLS_GREASE (0x0a0a)": "00"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"X25519MLKEM768 (4588)": "ef40761bb2a201a560905b0027037164529e650516812a787ef7901712770aa32427052514d573801280507c7ad0ac28a9f259e0e8099da102a2135839ca0b6e9a3732fcc201c030bd22b0b2f5668d4a20db070acb6a1df973c17facbeef259a7a7cb7c1b73bddaba1a51189a9c09c62d218498a8e871995578b1b87d89aa3b3375d33197db3cd10bb45f250c033d2b49a914be610b246750872941566d4c6b0eb5de707c60a61804e355521b869b19148cd97b4b05ab573e2c68be855ebd655c60ccbcfa65601b45ea9ec2a82d8447166787205829911a923e42e72a5cd2fc315bb769de7e25f606a52f8757c8513bc14738227c0151b96b5e703a95e745474eba09013a03ae01b4cf55420518897093a4bf03367d8672f38a0892c01bef403e3fc70bab5baed81b4dfc6082fdbc5720b4b4dd0b3b0186957a14498155aa4843994b7b295f49c98f9c3a6961b85d77256ca281eb47f56027773fcb1ac908057168993a07e3847501498c548c45de4a55bdfc8b3eb8a9efc419b86ca67cc6441c977c491d10ab530c12f8b90d416b963e23a8509398e2b6fa5793b8ac8c3255065f746692cd97a63052c98e704a9e10ca7415df98210def386296c0ac699a0b155800b77b85544602920714d57ae43393d097baf424569ffe315dd487c50e3a50245887634c2dd14c8029788f4873f7cc918da8480f6533afab0618d065c7c7a7b2ff21332e7743a6b5dc5a25df5d6a00ed3a943fb5d93c9a85c1273d4516c93db825e659e03db8037ca8c31b97e5428aa7ba692ab8a134dcb229bc39744a2baeacb275be09164e39a0dfb24821339573b155d9946c9e11413817be5f31857699a48b03acc917a042ac3c62a942aa48149b9839361545d66bc68035b85e734049666437c389032280d6aa48d46665785281875bdd9b36ed93b5bb1ea6880265ddbc7be6d07339cbaaa4bcb9306f1a1423684fee75af1600a4682572b47a9e752c69a59b5bf5a5594e76b50f52739fb15216915f0f35e753605f30c6258b02e28dabf3786c5566777758026b61c79e6599dd54a9add79cb8436825b967e0ffb175a0b04e8da7aff058d1f423a9ceb7f6bc9a38ab129d9333954c932ee5a369914b69d85133c388889712701939073fc2b9b722c644381d08863d5cc22f682c651126684e20d09c5748d73711660c3ec64a6733c3bdae72abf3b9af996c2832c0bfaf25b407c6febb9b79df4caa762336cca892be97e3580155c646232ca5722b4a393e6b459db53d29527d2c2b09ad47e8f7637c621ba2d8924895b0448817d9023b164b8a38fa67e44735595d58ded6a3d6585a769fb236c4251de2c7fd8a16d8f565095698fb6256a0998ccb26b1a49d6878f0b268ee485721712128436cc7c86d64cbe67fbc1622c03e763b203fb6ee1970a46d9171b3c9aa1d0916c4875cdf4bc5261816bd460d756ab6ce50acc2ac10e82c25649631406aaa21ca52511c2593c5cbf031d879bb32d80612a3c22b2f07c0e64097645af3a93073497892eec37847cb3f1d5423fcb2c436b44c51b729b2a75cb5185a87b61d0f120b0002f78270ec27a31725a367ebb615f476f5a1b46d96069476539fa177bfcf967a832c2edd41396dffb187365ec73576160b609e5a543666052b825e1d9b8f9ceb2c215c9e26afe35198724b517d99ed5c2f0220b56ba22ece296c65a6098a20e26bb4b"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"X25519 (29)": "ee1262c525e4bf94b816b336b24fecc1313e7ca018e11f900866cf9087d85530"
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "psk_key_exchange_modes (45)",
|
|
118
|
+
"PSK_Key_Exchange_Mode": "PSK with (EC)DHE key establishment (psk_dhe_ke) (1)"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "supported_versions (43)",
|
|
122
|
+
"versions": [
|
|
123
|
+
"TLS_GREASE (0x6a6a)",
|
|
124
|
+
"TLS 1.3",
|
|
125
|
+
"TLS 1.2"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "compress_certificate (27)",
|
|
130
|
+
"algorithms": [
|
|
131
|
+
"zlib (1)"
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "TLS_GREASE (0x2a2a)"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"tls_version_record": "771",
|
|
139
|
+
"tls_version_negotiated": "772",
|
|
140
|
+
"ja3": "771,4866-4867-4865-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10,0-23-65281-10-11-35-16-5-13-18-51-45-43-27,4588-29-23-24-25,0",
|
|
141
|
+
"ja3_hash": "6618231821d2d40f8d1859f5a43a0307",
|
|
142
|
+
"ja4": "t13d2014h2_a09f3c656075_d0a99439f9b1",
|
|
143
|
+
"ja4_r": "t13d2014h2_000a,002f,0035,009c,009d,1301,1302,1303,c008,c009,c00a,c012,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,ff01_0403,0804,0401,0503,0805,0805,0501,0806,0601,0201",
|
|
144
|
+
"peetprint": "GREASE-772-771|2-1.1|GREASE-4588-29-23-24-25|1027-2052-1025-1283-2053-2053-1281-2054-1537-513|1|1|GREASE-4866-4867-4865-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10|0-10-11-13-16-18-23-27-35-43-45-5-51-65281-GREASE-GREASE",
|
|
145
|
+
"peetprint_hash": "be81718fbb30b1606d3e81de756dcff1",
|
|
146
|
+
"client_random": "4cb090e097af3636b6d29fab103050ef52f66b53205fa394013ece16f8e73141",
|
|
147
|
+
"session_id": "170ba80a9fed839499aabc5591ff7ea41fa3b8c8509641e984d36ab452336c77"
|
|
148
|
+
},
|
|
149
|
+
"http2": {
|
|
150
|
+
"akamai_fingerprint": "2:0;3:100;4:2097152;9:1|10420225|0|m,s,a,p",
|
|
151
|
+
"akamai_fingerprint_hash": "c52879e43202aeb92740be6e8c86ea96",
|
|
152
|
+
"sent_frames": [
|
|
153
|
+
{
|
|
154
|
+
"frame_type": "SETTINGS",
|
|
155
|
+
"length": 24,
|
|
156
|
+
"settings": [
|
|
157
|
+
"ENABLE_PUSH = 0",
|
|
158
|
+
"MAX_CONCURRENT_STREAMS = 100",
|
|
159
|
+
"INITIAL_WINDOW_SIZE = 2097152",
|
|
160
|
+
"NO_RFC7540_PRIORITIES = 1"
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"frame_type": "WINDOW_UPDATE",
|
|
165
|
+
"length": 4,
|
|
166
|
+
"increment": 10420225
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"frame_type": "HEADERS",
|
|
170
|
+
"stream_id": 1,
|
|
171
|
+
"length": 261,
|
|
172
|
+
"headers": [
|
|
173
|
+
":method: GET",
|
|
174
|
+
":scheme: https",
|
|
175
|
+
":authority: tls.peet.ws",
|
|
176
|
+
":path: /api/all",
|
|
177
|
+
"sec-fetch-dest: document",
|
|
178
|
+
"user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15",
|
|
179
|
+
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
|
180
|
+
"sec-fetch-site: none",
|
|
181
|
+
"sec-fetch-mode: navigate",
|
|
182
|
+
"accept-language: en-US,en;q=0.9",
|
|
183
|
+
"priority: u=0, i",
|
|
184
|
+
"accept-encoding: gzip, deflate, br, zstd"
|
|
185
|
+
],
|
|
186
|
+
"flags": [
|
|
187
|
+
"EndStream (0x1)",
|
|
188
|
+
"EndHeaders (0x4)"
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
"tcpip": {
|
|
194
|
+
"cap_length": 216,
|
|
195
|
+
"dst_port": 443,
|
|
196
|
+
"src_port": 61567,
|
|
197
|
+
"ip": {
|
|
198
|
+
"tos": 74,
|
|
199
|
+
"ttl": 44,
|
|
200
|
+
"ip_version": 4,
|
|
201
|
+
"dst_ip": "205.185.123.167",
|
|
202
|
+
"src_ip": "92.218.110.236"
|
|
203
|
+
},
|
|
204
|
+
"tcp": {
|
|
205
|
+
"ack": 1674547336,
|
|
206
|
+
"checksum": 48439,
|
|
207
|
+
"seq": 3965603654,
|
|
208
|
+
"window": 2061
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|