@fanboynz/network-scanner 2.0.58 → 2.0.59

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/CHANGELOG.md ADDED
@@ -0,0 +1,940 @@
1
+ # Changelog
2
+
3
+ All notable changes to the Network Scanner (nwss.js) project.
4
+
5
+ ## [2.0.59] - 2026-03-15
6
+
7
+ ### Added
8
+ - `--keep-open` flag to keep browser and all tabs open after scan completes (use with `--headful` for debugging)
9
+ - `--use-puppeteer-core` flag to use `puppeteer-core` with system Chrome instead of bundled Chromium
10
+ - `puppeteer-core` as optional dependency in package.json
11
+ - Ghost-cursor integration for Bezier-based mouse movements (`--ghost-cursor` flag)
12
+ - Help text entries for `--keep-open`, `--use-puppeteer-core`
13
+
14
+ ### Fixed
15
+ - Simulated mouse events now include `pageX`/`pageY`/`screenX`/`screenY` properties — scripts reading `event.pageX`/`pageY` for bot detection (e.g. dkitac.js) previously saw zero movement
16
+ - Stale comment reference to removed function
17
+ - CDP timeout leaks and dead code in `cdp.js`
18
+
19
+ ### Improved
20
+ - Mouse interaction runs concurrently with post-load delay for better performance
21
+ - `maxTouchPoints` hardcoded to 0 for desktop Linux Chrome consistency
22
+
23
+ ## [2.0.58] - 2026-03-14
24
+
25
+ ### Fixed
26
+ - Race condition: re-check `isProcessing` before `page.close()` in realtime cleanup
27
+ - Page tracker stale entries during concurrent execution (added `untrackPage()`)
28
+ - ElementHandle leak in `interaction.js` — dispose body handle in `finally` block
29
+
30
+ ### Improved
31
+ - macOS compatibility: add Chrome path detection and use `os.tmpdir()` for cross-platform temp dirs
32
+ - Harden `interaction.js` with page lifecycle checks to prevent mid-close errors
33
+ - Fingerprint interaction-gated trigger with scroll/keydown events and readyState check
34
+ - Low-impact optimisations across 6 modules (grep, flowproxy, dry-run, adblock, interaction, openvpn_vpn)
35
+ - Remove redundant `fs.existsSync()` guards in openvpn_vpn.js, compress.js, compare.js, validate_rules.js, output.js
36
+ - Hoist regex constants in `validate_rules.js`, cache wildcard regex in `output.js`
37
+ - Optimise `browserexit.js`: replace shell spawns with native fs operations
38
+ - Deduplicate session-closed error checks in `fingerprint.js`
39
+ - Remove dead code (`performMinimalInteraction`, unused `filteredArgs`)
40
+ - Migrate `.clauderc` to `CLAUDE.md`
41
+
42
+ ## [2.0.57] - 2026-03-14
43
+
44
+ ### Improved
45
+ - Optimise `ignore_similar.js`
46
+
47
+ ## [2.0.56] - 2026-03-13
48
+
49
+ ### Fixed
50
+ - Cloudflare challenge/solver scanning issues
51
+ - Browser health monitoring improvements
52
+
53
+ ### Improved
54
+ - Cloudflare detection reliability and performance
55
+ - Chrome/Puppeteer performance tuning
56
+ - Smart cache optimisations in `smart-cache.js`
57
+ - Post-processing optimisations
58
+
59
+ ## [2.0.55] - 2026-03-12
60
+
61
+ ### Fixed
62
+ - Browser cleanup missing `com.google.Chrome` temp files
63
+ - Interaction.js reload interaction issues
64
+
65
+ ### Improved
66
+ - Fingerprint.js improvements
67
+ - Interaction.js cleanup
68
+
69
+ ## [2.0.54] - 2026-03-11
70
+
71
+ ### Improved
72
+ - WebGL fingerprinting improvements, revert to `--disable-gpu`
73
+ - Reduce DIG and Whois request volume with domain caching
74
+ - Update user agents
75
+
76
+ ## [2.0.53] - 2026-03-10
77
+
78
+ ### Fixed
79
+ - Headless/GPU crash issues
80
+ - Fingerprint protection hardening
81
+
82
+ ### Added
83
+ - Screenshot support using `force` option
84
+
85
+ ### Improved
86
+ - Fingerprint protection improvements
87
+
88
+ ## [2.0.52] - 2026-03-10
89
+
90
+ ### Fixed
91
+ - Headless/GPU crash and fingerprint improvements
92
+
93
+ ## [2.0.51] - 2026-02-24
94
+
95
+ ### Added
96
+ - SOCKS/HTTP/HTTPS proxy support (`proxy.js`)
97
+
98
+ ### Improved
99
+ - Update packages
100
+ - Compatibility improvements
101
+
102
+ ## [2.0.50] - 2026-02-17
103
+
104
+ ### Fixed
105
+ - Fingerprint `random` mode improvements
106
+ - CDP round-trips reduced to 1, cache bodyText
107
+ - `safeClick`/`safeWaitForNavigation` timeout leaks
108
+ - Redundant context validation removed
109
+ - Shadowroot compatibility on `cloudflare.js`
110
+
111
+ ### Improved
112
+ - `interact: true` performance
113
+ - Canvas noise optimisation for large canvases
114
+ - Fingerprint consistency fixes (mousemove WeakMap, human simulation timing)
115
+ - `measureText` read-only property fix
116
+ - Support for larger lists
117
+ - `ignoreDomains` improvements
118
+ - Hot path performance optimisations (indexed loops, single-pass regex matching, URL parsing)
119
+ - Adblock domain matcher precomputation
120
+
121
+ ## [2.0.49] - 2026-02-17
122
+
123
+ ### Improved
124
+ - Fingerprint protection `random` mode enhancements
125
+
126
+ ## [2.0.48] - 2026-02-17
127
+
128
+ ### Improved
129
+ - Adblock rule parser: V8 optimisations, cached hostname split, Map-based lookups
130
+ - Precompute parent domains for whitelist and block checks
131
+ - Remove dead code in `grep.js`
132
+
133
+ ## [2.0.47] - 2026-02-17
134
+
135
+ ### Added
136
+ - Support for `$counter` adblock rules
137
+ - Support for `$1p`, `$~third-party`, `$first-party` adblock options
138
+
139
+ ### Fixed
140
+ - Missing variable fix
141
+ - More adblock rule format support
142
+
143
+ ## [2.0.46] - 2026-02-16
144
+
145
+ ### Fixed
146
+ - Potential memory leaks
147
+ - Timing range miscalculation
148
+ - `TEXT_PREVIEW_LENGTH` unreachable inside `page.evaluate()`
149
+ - Unused variables cleanup
150
+
151
+ ### Improved
152
+ - Processing termination to avoid stale processes
153
+
154
+ ## [2.0.45] - 2026-02-16
155
+
156
+ ### Improved
157
+ - Processing termination reliability
158
+
159
+ ## [2.0.44] - 2026-02-16
160
+
161
+ ### Added
162
+ - OpenVPN support (`openvpn_vpn.js`) — [#45](https://github.com/ryanbr/network-scanner/issues/45)
163
+
164
+ ## [2.0.43] - 2026-02-16
165
+
166
+ ### Added
167
+ - Initial WireGuard VPN support (`wireguard_vpn.js`) — [#45](https://github.com/ryanbr/network-scanner/issues/45)
168
+
169
+ ## [2.0.42] - 2026-02-16
170
+
171
+ ### Fixed
172
+ - `maxTouchPoints` potentially overridden twice
173
+ - Duplicate `console.error` overrides in fingerprint
174
+ - `hardwareConcurrency` returning different values on every read
175
+ - Brave UA getter infinite recursion
176
+
177
+ ### Improved
178
+ - General cleanups and unused function removal
179
+
180
+ ## [2.0.41] - 2026-02-16
181
+
182
+ ### Fixed
183
+ - Binary issue with `smart-cache.js`
184
+
185
+ ## [2.0.40] - 2026-02-16
186
+
187
+ ### Fixed
188
+ - Missing `requestCache` in smart-cache clear/destroy
189
+ - Duplicate `totalCacheEntries` in `getStats`
190
+ - Undefined `forceDebug` reference in `cacheRequest`
191
+ - Missing `normalizedUrl` declaration in `cacheRequest`
192
+
193
+ ## [2.0.39] - 2026-02-16
194
+
195
+ ### Improved
196
+ - Nettools: buffered log writer instead of `fs.appendFileSync`
197
+
198
+ ## [2.0.38] - 2026-02-16
199
+
200
+ ### Fixed
201
+ - Catch-and-rethrow doing nothing in nettools
202
+ - Double timeout in `createNetToolsHandler`
203
+
204
+ ### Improved
205
+ - Replace global whois server index with module-level variable
206
+ - Hoist `execSync` and move `tldServers` to module scope
207
+
208
+ ## [2.0.37] - 2026-02-16
209
+
210
+ ### Improved
211
+ - Browser health: store timestamp in page creation tracker
212
+ - Cleanup `formatMemory` redefinition
213
+ - Hoist `require('child_process')` in `checkBrowserMemory`
214
+ - Replace `Page.prototype` monkey-patch with explicit tracker cleanup
215
+
216
+ ## [2.0.36] - 2026-02-16
217
+
218
+ ### Improved
219
+ - `browserexit.js`: remove duplicate pattern, hoist requires
220
+
221
+ ## [2.0.35] - 2026-02-16
222
+
223
+ ### Improved
224
+ - Buffer log writes, pre-compile regexes, deduplicate request handler
225
+
226
+ ## [2.0.34] - 2026-02-16
227
+
228
+ ### Improved
229
+ - General cleanup
230
+
231
+ ## [2.0.33] - 2025-11-14
232
+
233
+ ### Added
234
+ - Adblock list support for blocking URLs during scanning
235
+ - V8 optimised adblock parser with LRU cache and Map-based domain lookups
236
+
237
+ ### Improved
238
+ - Bump Firefox user agent
239
+ - Rename `adblock_rules.js` to `adblock.js`
240
+
241
+ ## [2.0.32] - 2025-11-08
242
+
243
+ ### Fixed
244
+ - Race conditions: atomic `checkAndMark()` in domain cache
245
+ - Performance improvements and V8 optimisations
246
+
247
+ ### Improved
248
+ - `referrer.js` V8 optimisations
249
+ - Update packages
250
+
251
+ ## [2.0.31] - 2025-10-31
252
+
253
+ ### Added
254
+ - `referrer_disable` support
255
+ - `referrer_headers` support
256
+
257
+ ### Fixed
258
+ - `url is not defined` errors
259
+ - Referrer.js incorrectly added to nwss.js
260
+ - Page state checks before reload, network idle, CSS blocking evaluation
261
+
262
+ ### Improved
263
+ - `grep.js` improvements
264
+
265
+ ## [2.0.30] - 2025-10-29
266
+
267
+ ### Added
268
+ - Location URL masking
269
+ - Additional automation property hiding
270
+
271
+ ### Improved
272
+ - Font enumeration protection
273
+ - Fingerprint platform matching
274
+ - Bump Chrome to 142.x
275
+
276
+ ## [2.0.29] - 2025-10-21
277
+
278
+ ### Improved
279
+ - Hang check loop and browser restart on hang
280
+ - Chrome launch arguments
281
+ - Permissions API fingerprinting
282
+ - Realistic Chrome browser behaviour simulation
283
+ - Chrome runtime simulation strengthening
284
+
285
+ ## [2.0.28] - 2025-10-11
286
+
287
+ ### Improved
288
+ - Page method caching optimisations
289
+ - Consistent return objects in health checks
290
+ - CDP.js V8 optimisations
291
+ - Bump overall timeout from 30s to 65s
292
+ - Nettools optimisations
293
+
294
+ ## [2.0.27] - 2025-10-07
295
+
296
+ ### Improved
297
+ - Whois retry on TIMEOUT/FAIL to avoid throttling
298
+
299
+ ## [2.0.26] - 2025-10-06
300
+
301
+ ### Improved
302
+ - V8 optimisations: `Object.freeze()`, destructuring, pre-allocated arrays, Maps
303
+ - Bump Chrome version
304
+
305
+ ## [2.0.25] - 2025-10-05
306
+
307
+ ### Fixed
308
+ - Frame handling `frameUrl is not defined` errors
309
+ - `activeFrames.add is not a function`
310
+ - `spoofNavigatorProperties is not defined`
311
+
312
+ ### Improved
313
+ - Frame URL improvements
314
+ - Allow grep without curl
315
+
316
+ ## [2.0.24] - 2025-10-04
317
+
318
+ ### Improved
319
+ - Fingerprint.js V8 performance: pre-compiled mocks, monomorphic object shapes, cached descriptors
320
+ - Address [#41](https://github.com/ryanbr/network-scanner/issues/41)
321
+
322
+ ## [2.0.23] - 2025-10-01
323
+
324
+ ### Improved
325
+ - Whois retry enabled by default with tuned retries/delay
326
+
327
+ ## [2.0.22] - 2025-10-01
328
+
329
+ ### Added
330
+ - `--dry-run` split into separate module (`dry-run.js`)
331
+
332
+ ## [2.0.21] - 2025-09-30
333
+
334
+ ### Added
335
+ - Domain-based `forcereload` support (`forcereload=domain.com,domain2.com`)
336
+ - Input validation and domain cleaning for forcereload
337
+
338
+ ### Improved
339
+ - Update man page and `--help` args
340
+
341
+ ## [2.0.20] - 2025-09-29
342
+
343
+ ### Improved
344
+ - `--localhost` now configurable (`--localhost=x.x.x.x`)
345
+
346
+ ## [2.0.19] - 2025-09-27
347
+
348
+ ### Improved
349
+ - `--remove-dupes` reliability
350
+
351
+ ## [2.0.18] - 2025-09-27
352
+
353
+ ### Fixed
354
+ - Whois logic occasionally missing records
355
+
356
+ ## [2.0.17] - 2025-09-27
357
+
358
+ ### Improved
359
+ - `window_cleanup` realtime less aggressive, added validation checks
360
+
361
+ ## [2.0.16] - 2025-09-25
362
+
363
+ ### Fixed
364
+ - `tar-fs` security vulnerability
365
+
366
+ ## [2.0.15] - 2025-09-25
367
+
368
+ ### Improved
369
+ - Font, canvas, WebGL, permission, hardware concurrency, plugin fingerprinting
370
+
371
+ ## [2.0.14] - 2025-09-24
372
+
373
+ ### Improved
374
+ - Fingerprinting updates
375
+ - Bump Firefox version
376
+ - Wrap errors in `--debug`
377
+
378
+ ## [2.0.13] - 2025-09-24
379
+
380
+ ### Improved
381
+ - Bump Firefox version
382
+
383
+ ## [2.0.12] - 2025-09-23
384
+
385
+ ### Fixed
386
+ - Navigator.brave checks
387
+ - Fingerprint.js error handling
388
+
389
+ ## [2.0.11] - 2025-09-23
390
+
391
+ ### Improved
392
+ - Bump timeouts, make delay a const
393
+
394
+ ## [2.0.10] - 2025-09-23
395
+
396
+ ### Fixed
397
+ - Occasional detach issues during scanning
398
+
399
+ ## [2.0.9] - 2025-09-21
400
+
401
+ ### Added
402
+ - `cdp_specific` support for per-URL CDP without global `cdp: true`
403
+
404
+ ## [2.0.8] - 2025-09-20
405
+
406
+ ### Added
407
+ - User agents for Linux and macOS
408
+
409
+ ## [2.0.7] - 2025-09-20
410
+
411
+ ### Added
412
+ - `clear_sitedata.js` for CDP fixes
413
+
414
+ ### Improved
415
+ - Bump Cloudflare version
416
+
417
+ ## [2.0.6] - 2025-09-19
418
+
419
+ ### Improved
420
+ - CDP.js reliability with retry support
421
+
422
+ ## [2.0.5] - 2025-09-19
423
+
424
+ ### Fixed
425
+ - Race condition with `window_cleanup=realtime` and Cloudflare
426
+
427
+ ## [2.0.4] - 2025-09-17
428
+
429
+ ### Improved
430
+ - Cloudflare.js v2.6.1
431
+
432
+ ## [2.0.3] - 2025-09-17
433
+
434
+ ### Fixed
435
+ - Frame detach errors — [#38](https://github.com/ryanbr/network-scanner/issues/38)
436
+
437
+ ### Improved
438
+ - Cloudflare.js v2.6.0
439
+
440
+ ## [2.0.2] - 2025-09-15
441
+
442
+ ### Improved
443
+ - Cloudflare.js v2.5.0
444
+
445
+ ## [2.0.1] - 2025-09-15
446
+
447
+ ### Fixed
448
+ - Pi-hole regex slash handling
449
+ - Allow latest Puppeteer version
450
+
451
+ ## [2.0.0] - 2025-09-15
452
+
453
+ ### Changed
454
+ - Major version bump — Puppeteer compatibility and architecture updates
455
+
456
+ ## [1.0.99] - 2025-09-13
457
+
458
+ ### Improved
459
+ - Bump user agents
460
+ - Increase browser health thresholds
461
+
462
+ ## [1.0.98] - 2025-09-09
463
+
464
+ ### Added
465
+ - Realtime `window_cleanup` for larger URL lists
466
+
467
+ ## [1.0.97] - 2025-09-06
468
+
469
+ ### Added
470
+ - `window_cleanup` to close old tabs, releasing memory on larger URL lists
471
+
472
+ ## [1.0.96] - 2025-09-05
473
+
474
+ ### Improved
475
+ - CDP timeout improvements
476
+
477
+ ## [1.0.95] - 2025-09-05
478
+
479
+ ### Fixed
480
+ - Persistent failure recovery — move to next URL instead of error
481
+
482
+ ## [1.0.94] - 2025-09-04
483
+
484
+ ### Fixed
485
+ - ForceReload fallback for Puppeteer v23.x compatibility
486
+
487
+ ## [1.0.93] - 2025-09-03
488
+
489
+ ### Improved
490
+ - Health checks and fallback on `evaluateOnNewDocument` failure
491
+
492
+ ## [1.0.92] - 2025-09-03
493
+
494
+ ### Improved
495
+ - Interaction.js tweaks
496
+
497
+ ## [1.0.91] - 2025-09-03
498
+
499
+ ### Improved
500
+ - Minor version bumps
501
+
502
+ ## [1.0.88] - 2025-09-01
503
+
504
+ ### Added
505
+ - Split curl functions from `grep.js` — [#33](https://github.com/ryanbr/network-scanner/issues/33)
506
+
507
+ ### Improved
508
+ - Cloudflare.js v2.4.1
509
+
510
+ ## [1.0.86] - 2025-08-31
511
+
512
+ ### Fixed
513
+ - Puppeteer 24.x compatibility and browser health issues — [#28](https://github.com/ryanbr/network-scanner/issues/28)
514
+
515
+ ## [1.0.85] - 2025-08-31
516
+
517
+ ### Improved
518
+ - Post-processing first-party item checks
519
+
520
+ ## [1.0.83] - 2025-08-30
521
+
522
+ ### Fixed
523
+ - ForceReload logic to apply after each reload
524
+
525
+ ## [1.0.82] - 2025-08-29
526
+
527
+ ### Improved
528
+ - Cloudflare.js v2.4
529
+
530
+ ## [1.0.81] - 2025-08-28
531
+
532
+ ### Fixed
533
+ - Endless loops caused by some sites
534
+
535
+ ## [1.0.80] - 2025-08-27
536
+
537
+ ### Fixed
538
+ - Performance issues with interact and resource cleanup
539
+
540
+ ## [1.0.78] - 2025-08-27
541
+
542
+ ### Added
543
+ - INSTALL suggestions
544
+
545
+ ## [1.0.77] - 2025-08-26
546
+
547
+ ### Improved
548
+ - Cloudflare.js v2.3
549
+
550
+ ## [1.0.76] - 2025-08-21
551
+
552
+ ### Added
553
+ - Cached network requests for duplicate URLs in same JSON
554
+
555
+ ### Fixed
556
+ - Duplicate function removal
557
+
558
+ ## [1.0.75] - 2025-08-19
559
+
560
+ ### Fixed
561
+ - Nettools not firing
562
+
563
+ ## [1.0.74] - 2025-08-19
564
+
565
+ ### Fixed
566
+ - Nettools being ignored
567
+
568
+ ## [1.0.73] - 2025-08-19
569
+
570
+ ### Added
571
+ - `regex_and` to apply AND logic on filterRegex
572
+
573
+ ## [1.0.72] - 2025-08-18
574
+
575
+ ### Improved
576
+ - Cloudflare.js v2.2
577
+
578
+ ## [1.0.70] - 2025-08-17
579
+
580
+ ### Improved
581
+ - Regex tool GitHub compatibility
582
+
583
+ ## [1.0.69] - 2025-08-17
584
+
585
+ ### Improved
586
+ - Convert magic numbers to constants in nwss.js
587
+
588
+ ## [1.0.68] - 2025-08-15
589
+
590
+ ### Fixed
591
+ - URL popup protection — don't treat main URL changes as third-party
592
+
593
+ ## [1.0.67] - 2025-08-14
594
+
595
+ ### Fixed
596
+ - `third-party: true` never matches root URL
597
+
598
+ ## [1.0.66] - 2025-08-12
599
+
600
+ ### Improved
601
+ - Interaction.js performance
602
+ - Fingerprint.js refactor
603
+ - Puppeteer 23 compatibility
604
+
605
+ ## [1.0.63] - 2025-08-11
606
+
607
+ ### Fixed
608
+ - Occasional interaction.js delays
609
+ - Security vulnerabilities in `tar-fs` and `ws`
610
+
611
+ ### Improved
612
+ - Puppeteer 23.x support
613
+
614
+ ## [1.0.60] - 2025-08-10
615
+
616
+ ### Changed
617
+ - Pin to Puppeteer 20.x for stability
618
+
619
+ ## [1.0.59] - 2025-08-08
620
+
621
+ ### Improved
622
+ - Searchstring improvements
623
+ - Update dependencies for Node.js 20+
624
+
625
+ ## [1.0.58] - 2025-08-08
626
+
627
+ ### Added
628
+ - `--clear-cache` / `--ignore-cache` options
629
+
630
+ ### Improved
631
+ - Smart cache memory management
632
+
633
+ ## [1.0.57] - 2025-08-06
634
+
635
+ ### Added
636
+ - Smart caching system (`smart-cache.js`)
637
+
638
+ ## [1.0.53] - 2025-08-06
639
+
640
+ ### Added
641
+ - Automated npm publishing workflow
642
+
643
+ ## [1.0.49] - 2025-08-04
644
+
645
+ ### Added
646
+ - ESLint configuration
647
+
648
+ ### Improved
649
+ - CDP functionality separated into own module
650
+
651
+ ## [1.0.47] - 2025-08-03
652
+
653
+ ### Improved
654
+ - Mouse simulator made more modular
655
+ - Cloudflare and FlowProxy skip non-HTTP URLs
656
+
657
+ ### Fixed
658
+ - Regression on `subDomains=1`
659
+
660
+ ## [1.0.46] - 2025-08-01
661
+
662
+ ### Improved
663
+ - Skip previously detected domains
664
+ - Magic numbers converted to constants
665
+ - Cloudflare.js documentation
666
+
667
+ ## [1.0.45] - 2025-07-31
668
+
669
+ ### Added
670
+ - Whois and dig result caching
671
+
672
+ ### Improved
673
+ - Dig/nettools with multiple URLs
674
+
675
+ ## [1.0.44] - 2025-07-30
676
+
677
+ ### Added
678
+ - User-configurable `maxConcurrentSites` and `cleanup-interval`
679
+
680
+ ## [1.0.43] - 2025-07-20
681
+
682
+ ### Fixed
683
+ - Browser restart on `protocolTimeout`
684
+
685
+ ### Improved
686
+ - Cloudflare wait times and timeouts
687
+
688
+ ## [1.0.42] - 2025-07-16
689
+
690
+ ### Added
691
+ - Referrer options support
692
+
693
+ ### Improved
694
+ - Redirecting domains compatibility
695
+ - Fingerprint.js improvements
696
+
697
+ ## [1.0.41] - 2025-07-14
698
+
699
+ ### Added
700
+ - `ignore_similar` domains feature
701
+
702
+ ## [1.0.40] - 2025-07-02
703
+
704
+ ### Added
705
+ - `even_blocked` option
706
+
707
+ ### Fixed
708
+ - Puppeteer old headless deprecation warnings
709
+
710
+ ### Improved
711
+ - Domain validation — [#27](https://github.com/ryanbr/network-scanner/issues/27)
712
+ - `--append` output support
713
+
714
+ ## [1.0.39] - 2025-06-24
715
+
716
+ ### Added
717
+ - `--dry-run` option with file output
718
+
719
+ ### Improved
720
+ - `ignoreDomains` fallback removal
721
+
722
+ ## [1.0.38] - 2025-06-21
723
+
724
+ ### Fixed
725
+ - First-party/third-party and ignoreDomains prioritisation
726
+
727
+ ## [1.0.37] - 2025-06-17
728
+
729
+ ### Added
730
+ - `--remove-tempfiles` option
731
+
732
+ ## [1.0.36] - 2025-06-16
733
+
734
+ ### Added
735
+ - FlowProxy DDoS protection support — [#24](https://github.com/ryanbr/network-scanner/issues/24)
736
+
737
+ ### Improved
738
+ - Browser health checks and restart on degradation
739
+ - Chrome process killing
740
+ - Insecure site loading support
741
+
742
+ ## [1.0.35] - 2025-06-15
743
+
744
+ ### Added
745
+ - Whois and dig debug file output with ANSI stripping
746
+
747
+ ### Improved
748
+ - Whois reliability
749
+
750
+ ## [1.0.34] - 2025-06-13
751
+
752
+ ### Fixed
753
+ - Out-of-space issues from `puppeteer_dev_chrome_profile` temp files
754
+ - Error handling crash
755
+ - `about:srcdoc`, `data:`, `about:`, `chrome:`, `blob:` URL handling — [#21](https://github.com/ryanbr/network-scanner/issues/21)
756
+
757
+ ## [1.0.33] - 2025-06-11
758
+
759
+ ### Added
760
+ - Pi-hole output format (`--pihole`)
761
+ - Privoxy output format
762
+ - Comments value in JSON config
763
+
764
+ ## [1.0.32] - 2025-06-10
765
+
766
+ ### Added
767
+ - `whois_server_mode` (random/cycle)
768
+ - Configurable whois delay
769
+ - Whois error logging to `logs/debug`
770
+ - Coloured console output
771
+
772
+ ### Improved
773
+ - Browser detection with custom userAgent
774
+
775
+ ## [1.0.31] - 2025-06-09
776
+
777
+ ### Changed
778
+ - Rename `scanner-script.js` to `nwss.js`
779
+
780
+ ## [1.0.30] - 2025-06-08
781
+
782
+ ### Added
783
+ - Searchstring AND logic
784
+ - Unbound, DNSMasq output formats
785
+
786
+ ### Fixed
787
+ - Iframe debug errors
788
+
789
+ ## [1.0.29] - 2025-06-06
790
+
791
+ ### Added
792
+ - Custom whois servers with retry/fallback
793
+
794
+ ### Improved
795
+ - WSL compatibility
796
+
797
+ ## [1.0.28] - 2025-06-05
798
+
799
+ ### Added
800
+ - Global blocked domains support
801
+ - `goto_options` config
802
+
803
+ ### Improved
804
+ - Scanning method improvements
805
+
806
+ ## [1.0.27] - 2025-06-04
807
+
808
+ ### Added
809
+ - `--compare` with `--titles` support — [#1](https://github.com/ryanbr/network-scanner/issues/1)
810
+ - `--remove-dupes` alias
811
+
812
+ ### Improved
813
+ - Resource management with service restarts
814
+
815
+ ## [1.0.26] - 2025-06-02
816
+
817
+ ### Added
818
+ - Whois/dig support — [#18](https://github.com/ryanbr/network-scanner/issues/18)
819
+ - `--debug` and `--dumpurls` file output
820
+
821
+ ## [1.0.25] - 2025-05-31
822
+
823
+ ### Added
824
+ - Curl and grep alternative scan method
825
+ - Adblock rules output format
826
+
827
+ ### Improved
828
+ - Cloudflare bypass split to own module
829
+ - Output split to `output.js`
830
+ - Fingerprinting split to own module
831
+
832
+ ## [1.0.24] - 2025-05-30
833
+
834
+ ### Added
835
+ - Searchstring support (search within regex-matched content)
836
+ - `--remove-dupes` on output
837
+ - Wildcard support in ignored domains
838
+
839
+ ## [1.0.23] - 2025-05-27
840
+
841
+ ### Added
842
+ - `--debug` logging improvements
843
+
844
+ ### Improved
845
+ - Graceful exit handling
846
+ - Module split: CDP, interact, evaluateOnNewDocument, Cloudflare, CSS blocking, fingerprint
847
+
848
+ ## [1.0.22] - 2025-05-26
849
+
850
+ ### Added
851
+ - Cloudflare phishing warning bypass
852
+ - CSS blocking support — [#2](https://github.com/ryanbr/network-scanner/issues/2)
853
+
854
+ ### Improved
855
+ - Concurrent site scanning resource management
856
+
857
+ ## [1.0.21] - 2025-05-23
858
+
859
+ ### Added
860
+ - Multithread/concurrent support
861
+ - CDP logging improvements
862
+ - Address [#14](https://github.com/ryanbr/network-scanner/issues/14), [#15](https://github.com/ryanbr/network-scanner/issues/15)
863
+
864
+ ## [1.0.20] - 2025-05-21
865
+
866
+ ### Added
867
+ - Per-site verbose output with matching regex
868
+ - Scan timer
869
+ - Scan counter
870
+
871
+ ### Improved
872
+ - First-party/third-party detection
873
+
874
+ ## [1.0.19] - 2025-05-19
875
+
876
+ ### Added
877
+ - `package.json` for npm
878
+
879
+ ### Fixed
880
+ - Sandboxing issue on Linux
881
+
882
+ ## [1.0.18] - 2025-05-03
883
+
884
+ ### Added
885
+ - JSON manual (`JSONMANUAL.md`)
886
+
887
+ ### Improved
888
+ - Scanner methods — [#3](https://github.com/ryanbr/network-scanner/issues/3)
889
+ - `--plain` unformatted domain output
890
+ - Global blocked items
891
+
892
+ ## [1.0.17] - 2025-05-01
893
+
894
+ ### Added
895
+ - Headful browser mode
896
+ - Screenshot option for debugging
897
+ - Custom JSON file support
898
+
899
+ ### Fixed
900
+ - Regex crash on undefined `.replace()`
901
+
902
+ ## [1.0.16] - 2025-04-29
903
+
904
+ ### Added
905
+ - Fingerprinting support — [#7](https://github.com/ryanbr/network-scanner/issues/7)
906
+ - Multiple URL support and `--no-interact`
907
+ - HTML source output — [#12](https://github.com/ryanbr/network-scanner/issues/12)
908
+
909
+ ### Fixed
910
+ - Execution context destroyed crash in Puppeteer
911
+
912
+ ## [1.0.15] - 2025-04-28
913
+
914
+ ### Added
915
+ - Localhost JSON configs — [#11](https://github.com/ryanbr/network-scanner/issues/11)
916
+
917
+ ## [1.0.14] - 2025-04-27
918
+
919
+ ### Added
920
+ - SubDomains support
921
+ - Delay option — [#8](https://github.com/ryanbr/network-scanner/issues/8)
922
+ - UserAgent support — [#6](https://github.com/ryanbr/network-scanner/issues/6)
923
+ - Mouse interaction — [#5](https://github.com/ryanbr/network-scanner/issues/5)
924
+
925
+ ### Fixed
926
+ - Blocked JSON requests — [#4](https://github.com/ryanbr/network-scanner/issues/4)
927
+ - Subdomain and localhost output
928
+
929
+ ## [1.0.0] - 2025-04-27
930
+
931
+ ### Added
932
+ - Initial release of network scanner
933
+ - Puppeteer-based browser automation for network request analysis
934
+ - JSON configuration for site-specific scanning rules
935
+ - Regex-based URL matching with domain extraction
936
+ - First-party/third-party request classification
937
+ - Multiple output formats (hosts, adblock)
938
+ - `--dumpurls` matched URL logging
939
+ - `--debug` mode
940
+ - `--localhost` format output