Squashed from chore/license-relicense. Full message preserved in the original branch commitbb77eb5. See ADR-0002 for the decision rationale. Refs: ADR-0002, commitbb77eb5
19 lines
No EOL
1,014 B
JavaScript
19 lines
No EOL
1,014 B
JavaScript
// SPDX-License-Identifier: BSL-1.1
|
|
// Copyright (c) 2026 Rug Munch Media LLC
|
|
//
|
|
// Part of Pry — Stealth Script.
|
|
// Licensed under Business Source License 1.1 — see LICENSE-BSL-STEALTH.
|
|
|
|
(() => {
|
|
Object.defineProperty(navigator, 'webdriver', { get: () => undefined });
|
|
Object.defineProperty(navigator, 'plugins', { get: () => [1, 2, 3, 4, 5] });
|
|
Object.defineProperty(navigator, 'languages', { get: () => ['en-US', 'en'] });
|
|
Object.defineProperty(navigator, 'hardwareConcurrency', { get: () => Math.floor(Math.random() * 4) + 2 });
|
|
Object.defineProperty(navigator, 'deviceMemory', { get: () => Math.floor(Math.random() * 4) + 2 });
|
|
window.chrome = { runtime: {} };
|
|
const originalQuery = window.navigator.permissions.query;
|
|
window.navigator.permissions.query = (p) => (
|
|
p.name === 'notifications' ? Promise.resolve({state: 'denied'}) : originalQuery(p)
|
|
);
|
|
})();
|
|
|