gstack
8df1c003b5
test(stealth): comprehensive unit + e2e tests, fix platform mismatch
Tests (52 total, 0 failures):
Unit tests (33):
- Module exports validation (stealthArgs shape, applyStealthPatches type)
- Launch args content (AutomationControlled, no-first-run, no forbidden flags)
- Init script source analysis (all 10 patch vectors verified present)
- applyStealthPatches API (mock context, GPU args, serialization, idempotency)
- Adversarial edge cases (array spread safety, extension compat, GPU plausibility)
- Import integration (browser-manager.ts correctly imports and calls both paths)
- Old inline patches removal verification
E2E tests (19):
- Real Chromium launch with stealth patches applied
- navigator.webdriver value AND property existence
- WebGL1 + WebGL2 renderer spoofing
- PluginArray instanceof + shape verification
- Complete chrome object (app, runtime, loadTimes, csi)
- Languages, permissions, CDP artifacts, Playwright globals
- Platform/UA consistency
- Patches survive page navigation
Bug fix: navigator.platform now spoofed to 'MacIntel' when UA claims
Macintosh. Previously reported 'Linux x86_64' in containers, which
contradicts the Mac user agent and is a detectable fingerprint mismatch.
Caught by the e2e test.
2026-04-21 03:06:40 +00:00
..
2026-04-20 22:18:37 +08:00
2026-03-26 11:15:24 -06:00
2026-03-28 08:35:24 -06:00
2026-04-07 00:23:36 -07:00
2026-03-26 11:15:24 -06:00
2026-04-16 13:49:04 -07:00
2026-03-20 12:22:11 -07:00
2026-04-18 23:25:33 +08:00
2026-04-07 00:23:36 -07:00
2026-03-24 00:38:10 -07:00
2026-04-06 14:41:06 -07:00
2026-03-23 22:15:23 -07:00
2026-04-17 00:45:13 -07:00
2026-04-08 00:41:55 -07:00
2026-04-18 23:25:33 +08:00
2026-04-10 17:13:15 -10:00
2026-03-26 11:15:24 -06:00
2026-03-19 18:20:50 -07:00
2026-03-27 00:44:37 -06:00
2026-03-29 23:35:17 -06:00
2026-03-26 23:21:27 -06:00
2026-04-07 00:23:36 -07:00
2026-04-06 00:47:04 -07:00
2026-04-06 00:47:04 -07:00
2026-04-20 13:20:30 +08:00
2026-03-20 12:22:11 -07:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-18 23:25:33 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-04-08 10:10:13 -07:00
2026-03-26 22:07:03 -06:00
2026-04-20 22:18:37 +08:00
2026-03-26 22:07:03 -06:00
2026-04-20 22:18:37 +08:00
2026-03-26 22:07:03 -06:00
2026-04-06 00:47:04 -07:00
2026-04-07 00:23:36 -07:00
2026-03-28 08:35:24 -06:00
2026-04-21 03:06:40 +00:00
2026-04-21 03:06:40 +00:00
2026-04-08 00:41:55 -07:00
2026-03-13 00:31:41 -07:00
2026-04-08 00:41:55 -07:00
2026-04-18 23:25:33 +08:00
2026-03-26 11:15:24 -06:00
2026-04-17 00:45:13 -07:00
2026-04-04 10:17:05 -07:00