@fanboynz/network-scanner 2.0.58 → 2.0.60

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 CHANGED
@@ -59,8 +59,11 @@ A Puppeteer-based tool for scanning websites to find third-party (or optionally
59
59
  | `--compress-logs` | Compress log files with gzip (requires `--dumpurls`) |
60
60
  | `--sub-domains` | Output full subdomains instead of collapsing to root |
61
61
  | `--no-interact` | Disable page interactions globally |
62
+ | `--ghost-cursor` | Use ghost-cursor Bezier mouse movements globally (requires `npm i ghost-cursor`) |
62
63
  | `--custom-json <file>` | Use a custom config JSON file instead of config.json |
63
64
  | `--headful` | Launch browser with GUI (not headless) |
65
+ | `--keep-open` | Keep browser and tabs open after scan completes (use with `--headful` for debugging) |
66
+ | `--use-puppeteer-core` | Use `puppeteer-core` with system Chrome instead of bundled Chromium |
64
67
  | `--cdp` | Enable Chrome DevTools Protocol logging (now per-page if enabled) |
65
68
  | `--remove-dupes` | Remove duplicate domains from output (only with `-o`) |
66
69
  | `--dry-run` | Console output only: show matching regex, titles, whois/dig/searchstring results, and adblock rules |
@@ -267,6 +270,11 @@ When a page redirects to a new domain, first-party/third-party detection is base
267
270
  | `interact_clicks` | Boolean | `false` | Enable element clicking simulation |
268
271
  | `interact_typing` | Boolean | `false` | Enable typing simulation |
269
272
  | `interact_intensity` | String | `"medium"` | Interaction simulation intensity: "low", "medium", "high" |
273
+ | `cursor_mode` | `"ghost"` | - | Use ghost-cursor Bezier mouse movements (requires `npm i ghost-cursor`) |
274
+ | `ghost_cursor_speed` | Number | auto | Ghost-cursor movement speed multiplier |
275
+ | `ghost_cursor_hesitate` | Milliseconds | `50` | Delay before ghost-cursor clicks |
276
+ | `ghost_cursor_overshoot` | Pixels | auto | Max ghost-cursor overshoot distance before correcting |
277
+ | `ghost_cursor_duration` | Milliseconds | `interact_duration` or `2000` | How long ghost-cursor movements run |
270
278
  | `dnsmasq` | Boolean | `false` | Force dnsmasq output for this site |
271
279
  | `dnsmasq_old` | Boolean | `false` | Force dnsmasq old format output for this site |
272
280
  | `unbound` | Boolean | `false` | Force unbound output for this site |
@@ -523,6 +531,27 @@ node nwss.js --max-concurrent 12 --cleanup-interval 300 -o rules.txt
523
531
  }
524
532
  ```
525
533
 
534
+ #### Ghost Cursor (Advanced Bezier Mouse)
535
+ ```json
536
+ {
537
+ "url": "https://anti-bot-site.com",
538
+ "interact": true,
539
+ "cursor_mode": "ghost",
540
+ "ghost_cursor_duration": 3000,
541
+ "ghost_cursor_speed": 1.2,
542
+ "fingerprint_protection": "random",
543
+ "filterRegex": "tracking|analytics",
544
+ "comments": "ghost-cursor uses Bezier curves with overshoot for realistic mouse paths"
545
+ }
546
+ ```
547
+
548
+ Or enable globally via CLI:
549
+ ```bash
550
+ node nwss.js --ghost-cursor --debug -o rules.txt
551
+ ```
552
+
553
+ > **Note:** ghost-cursor is an optional dependency. Install with `npm install ghost-cursor`. If not installed, the scanner falls back to the built-in mouse simulation automatically.
554
+
526
555
  #### E-commerce Site Scanning
527
556
  ```json
528
557
  {
@@ -698,5 +727,7 @@ your_username ALL=(root) NOPASSWD: /usr/bin/wg-quick, /usr/bin/wg
698
727
  - If an `.ovpn` file contains embedded credentials, no additional auth config is needed in the JSON
699
728
  - VPN affects system-level routing — all concurrent scans will route through the active tunnel
700
729
  - Both `vpn` (WireGuard) and `openvpn` can be set, but `vpn` takes precedence
730
+ - Ghost-cursor (`cursor_mode: "ghost"`) is optional — install with `npm i ghost-cursor`. Falls back to built-in mouse if not installed
731
+ - Ghost-cursor duration defaults to `interact_duration` (or 2000ms), capped by the 15s hard timeout
701
732
 
702
733
  ---