advanced-tls-client 1.0.2 → 3.0.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "advanced-tls-client",
3
- "version": "1.0.2",
3
+ "version": "3.0.1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAsEA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,QAAQ;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AA04BD,cAAM,iBAAiB;IACrB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAgH;IACpI,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAA+B;gBAE1C,WAAW,CAAC,EAAE,MAAM;IAKhC,OAAO,CAAC,mBAAmB;IAiBrB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;YAoC7D,cAAc;IAkH5B,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,cAAc;IAQtB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIlC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIzG,OAAO,IAAI,IAAI;CAchB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/readme.md DELETED
@@ -1,375 +0,0 @@
1
- # Advanced TLS Client
2
-
3
- A powerful Node.js HTTP/2 client with advanced TLS fingerprinting capabilities that mimics real browser behavior to bypass anti-bot detection systems.
4
-
5
- ## Features
6
-
7
- - 🔒 **Advanced TLS Fingerprinting** - Mimics Chrome, Firefox, and Safari TLS handshakes
8
- - 🚀 **HTTP/2 Support** - Full HTTP/2 protocol with proper SETTINGS frames and priority
9
- - 🍪 **Cookie Management** - Automatic cookie jar with domain and path matching
10
- - 🔄 **Connection Pooling** - Reuses TLS sessions for better performance
11
- - 🎭 **Multiple Browser Profiles** - Chrome 133/143, Firefox 117, Safari iOS 18
12
- - 🌐 **Auto Redirect** - Handles 301, 302, 303, 307, 308 redirects
13
- - 📦 **Auto Decompression** - Supports gzip, brotli, deflate, and zstd
14
- - 🎯 **JA3 Fingerprints** - Generates JA3 and Akamai fingerprints
15
- - ⚡ **GREASE Support** - Randomizes TLS extensions for better mimicry
16
-
17
- ## Installation
18
-
19
- ```bash
20
- npm install advanced-tls-client
21
- ```
22
-
23
- ## Quick Start
24
-
25
- ```javascript
26
- const { AdvancedTLSClient } = require('advanced-tls-client');
27
-
28
- // Create client with default Chrome 133 profile
29
- const client = new AdvancedTLSClient();
30
-
31
- // Make a request
32
- (async () => {
33
- const response = await client.request('https://example.com');
34
- console.log(response.statusCode); // 200
35
- console.log(response.text); // HTML content
36
- console.log(response.headers); // Response headers
37
- })();
38
- ```
39
-
40
- ## Browser Profiles
41
-
42
- ### Available Profiles
43
-
44
- ```javascript
45
- const { AdvancedTLSClient, ProfileRegistry } = require('advanced-tls-client');
46
-
47
- // Chrome 133 (Windows) - Default
48
- const client1 = new AdvancedTLSClient('chrome_133');
49
-
50
- // Chrome 133 with PSK support
51
- const client2 = new AdvancedTLSClient('chrome_133_psk');
52
-
53
- // Chrome 143 (Android Mobile)
54
- const client3 = new AdvancedTLSClient('chrome_mobile_143_android');
55
-
56
- // Firefox 117 (Windows)
57
- const client4 = new AdvancedTLSClient('firefox_117');
58
-
59
- // Safari iOS 18.0
60
- const client5 = new AdvancedTLSClient('safari_ios_18_0');
61
-
62
- // Get latest desktop profile
63
- const client6 = new AdvancedTLSClient(ProfileRegistry.latest.name);
64
-
65
- // Get latest mobile profile
66
- const client7 = new AdvancedTLSClient(ProfileRegistry.latestMobile.name);
67
- ```
68
-
69
- ## Request Options
70
-
71
- ```javascript
72
- const response = await client.request('https://api.example.com/data', {
73
- method: 'POST',
74
- headers: {
75
- 'Content-Type': 'application/json',
76
- 'Authorization': 'Bearer token123'
77
- },
78
- body: JSON.stringify({ key: 'value' }),
79
- cookies: {
80
- session: 'abc123',
81
- preferences: 'dark_mode'
82
- },
83
- followRedirects: true,
84
- maxRedirects: 5,
85
- decompress: true,
86
- timeout: 30000
87
- });
88
- ```
89
-
90
- ### Request Options Interface
91
-
92
- | Option | Type | Default | Description |
93
- |--------|------|---------|-------------|
94
- | `method` | string | `'GET'` | HTTP method (GET, POST, PUT, DELETE, etc.) |
95
- | `headers` | object | `{}` | Custom HTTP headers |
96
- | `body` | string/Buffer/Readable | - | Request body for POST/PUT requests |
97
- | `cookies` | object | `{}` | Cookies to send with request |
98
- | `followRedirects` | boolean | `true` | Auto-follow redirects |
99
- | `maxRedirects` | number | `5` | Maximum redirect hops |
100
- | `decompress` | boolean | `true` | Auto-decompress response body |
101
- | `timeout` | number | `30000` | Request timeout in milliseconds |
102
- | `stream` | boolean | `false` | Return response as stream |
103
-
104
- ## Response Object
105
-
106
- ```javascript
107
- const response = await client.request('https://example.com');
108
-
109
- // Status code
110
- console.log(response.statusCode); // 200
111
-
112
- // Headers
113
- console.log(response.headers);
114
- // { 'content-type': 'text/html', 'content-length': '1234', ... }
115
-
116
- // Body as Buffer
117
- console.log(response.body);
118
-
119
- // Body as text
120
- console.log(response.text);
121
-
122
- // Body as JSON (if content-type is application/json)
123
- console.log(response.json);
124
-
125
- // Timing information
126
- console.log(response.timing);
127
- // {
128
- // socket: 0,
129
- // lookup: 12,
130
- // connect: 45,
131
- // secureConnect: 123,
132
- // response: 234,
133
- // end: 456,
134
- // total: 456
135
- // }
136
-
137
- // TLS Fingerprints
138
- console.log(response.fingerprints);
139
- // {
140
- // ja3: '771,4865-4866-4867-49195...',
141
- // ja3Hash: 'cd08e31494f9531f560d64c695473da9',
142
- // akamai: '1:65536;2:0;4:6291456;6:262144|00|0|m,a,s,p'
143
- // }
144
- ```
145
-
146
- ## Cookie Management
147
-
148
- The client automatically manages cookies across requests:
149
-
150
- ```javascript
151
- const client = new AdvancedTLSClient();
152
-
153
- // First request - server sets cookies
154
- await client.request('https://example.com/login', {
155
- method: 'POST',
156
- body: 'username=user&password=pass'
157
- });
158
-
159
- // Second request - cookies automatically sent
160
- const response = await client.request('https://example.com/dashboard');
161
- // Cookie header is automatically added
162
- ```
163
-
164
- ### Manual Cookie Access
165
-
166
- ```javascript
167
- // Get cookies for a domain
168
- const cookies = client.cookieJar.getCookies('example.com', '/', true);
169
- console.log(cookies); // 'session=abc123; token=xyz789'
170
-
171
- // Set cookies manually
172
- client.cookieJar.setCookie('example.com', 'custom', 'value123', {
173
- path: '/',
174
- expires: new Date(Date.now() + 86400000), // 1 day
175
- secure: true,
176
- httpOnly: true,
177
- sameSite: 'Lax'
178
- });
179
- ```
180
-
181
- ## Advanced Examples
182
-
183
- ### POST Request with JSON
184
-
185
- ```javascript
186
- const response = await client.request('https://api.example.com/users', {
187
- method: 'POST',
188
- headers: {
189
- 'Content-Type': 'application/json'
190
- },
191
- body: JSON.stringify({
192
- name: 'John Doe',
193
- email: 'john@example.com'
194
- })
195
- });
196
-
197
- console.log(response.json);
198
- ```
199
-
200
- ### Form Data Submission
201
-
202
- ```javascript
203
- const response = await client.request('https://example.com/submit', {
204
- method: 'POST',
205
- headers: {
206
- 'Content-Type': 'application/x-www-form-urlencoded'
207
- },
208
- body: 'field1=value1&field2=value2'
209
- });
210
- ```
211
-
212
- ### Custom Headers
213
-
214
- ```javascript
215
- const response = await client.request('https://api.example.com/data', {
216
- headers: {
217
- 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIs...',
218
- 'X-Custom-Header': 'custom-value',
219
- 'Referer': 'https://example.com/page'
220
- }
221
- });
222
- ```
223
-
224
- ### Handle Redirects Manually
225
-
226
- ```javascript
227
- const response = await client.request('https://example.com/redirect', {
228
- followRedirects: false
229
- });
230
-
231
- if ([301, 302, 307, 308].includes(response.statusCode)) {
232
- const location = response.headers['location'];
233
- console.log('Redirected to:', location);
234
- }
235
- ```
236
-
237
- ### Multiple Requests with Session Reuse
238
-
239
- ```javascript
240
- const client = new AdvancedTLSClient('chrome_133');
241
-
242
- // Connection is automatically reused
243
- const response1 = await client.request('https://example.com/page1');
244
- const response2 = await client.request('https://example.com/page2');
245
- const response3 = await client.request('https://example.com/page3');
246
-
247
- // Clean up when done
248
- client.destroy();
249
- ```
250
-
251
- ## Session Management
252
-
253
- The client automatically manages TLS sessions and HTTP/2 connections:
254
-
255
- - **Connection Pooling**: Reuses connections to the same host
256
- - **Session Cache**: Maintains up to 10 cached sessions
257
- - **Auto Cleanup**: Removes stale sessions after 5 minutes
258
- - **Timeout Handling**: Automatic reconnection on timeout
259
-
260
- ```javascript
261
- const client = new AdvancedTLSClient();
262
-
263
- // Session is automatically cached
264
- await client.request('https://example.com/page1');
265
-
266
- // Reuses the same session
267
- await client.request('https://example.com/page2');
268
-
269
- // Manually destroy all sessions
270
- client.destroy();
271
- ```
272
-
273
- ## TLS Fingerprint Details
274
-
275
- Each profile generates unique TLS and HTTP/2 fingerprints:
276
-
277
- ### Chrome 133 Fingerprint
278
- - **TLS Version**: 1.3 (with 1.2 fallback)
279
- - **Cipher Suites**: 16 ciphers with GREASE
280
- - **Extensions**: 18 extensions including ALPS, encrypted client hello
281
- - **Supported Groups**: X25519, secp256r1, secp384r1
282
- - **Signature Algorithms**: 8 modern algorithms
283
- - **ALPN**: h2, http/1.1
284
-
285
- ### Firefox 117 Fingerprint
286
- - **TLS Version**: 1.3 (with 1.2 fallback)
287
- - **Cipher Suites**: 17 ciphers (no GREASE)
288
- - **Extensions**: 15 extensions
289
- - **Supported Groups**: 6 groups including X25519Kyber768Draft00
290
- - **Signature Algorithms**: 11 algorithms including legacy SHA1
291
-
292
- ### Safari iOS 18 Fingerprint
293
- - **TLS Version**: 1.3 (with 1.2, 1.1, 1.0 fallback)
294
- - **Cipher Suites**: 21 ciphers with GREASE
295
- - **Extensions**: 14 extensions
296
- - **HTTP/2 Settings**: Unique Safari-specific settings
297
-
298
- ## Performance Tips
299
-
300
- 1. **Reuse Client Instance**: Create one client and reuse it for multiple requests
301
- ```javascript
302
- // ✅ Good - Connection pooling works
303
- const client = new AdvancedTLSClient();
304
- await client.request(url1);
305
- await client.request(url2);
306
-
307
- // ❌ Bad - Creates new connections each time
308
- await new AdvancedTLSClient().request(url1);
309
- await new AdvancedTLSClient().request(url2);
310
- ```
311
-
312
- 2. **Destroy When Done**: Call `destroy()` to clean up resources
313
- ```javascript
314
- const client = new AdvancedTLSClient();
315
- // ... make requests ...
316
- client.destroy(); // Clean up
317
- ```
318
-
319
- 3. **Use Appropriate Profiles**: Choose profiles that match your target
320
- ```javascript
321
- // For desktop sites
322
- const desktop = new AdvancedTLSClient('chrome_133');
323
-
324
- // For mobile sites
325
- const mobile = new AdvancedTLSClient('chrome_mobile_143_android');
326
- ```
327
-
328
- ## Error Handling
329
-
330
- ```javascript
331
- const client = new AdvancedTLSClient();
332
-
333
- try {
334
- const response = await client.request('https://example.com');
335
-
336
- if (response.statusCode === 200) {
337
- console.log('Success:', response.text);
338
- } else {
339
- console.log('HTTP Error:', response.statusCode);
340
- }
341
- } catch (error) {
342
- if (error.message.includes('timeout')) {
343
- console.error('Request timeout');
344
- } else if (error.message.includes('ENOTFOUND')) {
345
- console.error('Domain not found');
346
- } else {
347
- console.error('Request failed:', error.message);
348
- }
349
- }
350
- ```
351
-
352
- ## Limitations
353
-
354
- - Only supports HTTPS (port 443 or custom)
355
- - Requires Node.js 14+ for HTTP/2 support
356
- - Some advanced TLS 1.3 features may not work on older OpenSSL versions
357
- - GREASE values are randomized on each profile creation
358
-
359
- ## Security Notes
360
-
361
- ⚠️ **Important**: This library is designed for legitimate web scraping and testing purposes. Please:
362
-
363
- - Respect robots.txt and website terms of service
364
- - Implement rate limiting to avoid overwhelming servers
365
- - Use responsibly and ethically
366
- - Be aware that bypassing anti-bot measures may violate terms of service
367
-
368
- ## Requirements
369
-
370
- - Node.js >= 14.0.0
371
- - OpenSSL 1.1.1+ (for TLS 1.3 support)
372
-
373
- ## License
374
-
375
- MIT