31 lines
865 B
JavaScript
31 lines
865 B
JavaScript
// Stealth script to prevent bot detection
|
|
(() => {
|
|
// Overwrite the `plugins` property to use a custom getter.
|
|
Object.defineProperty(navigator, 'webdriver', {
|
|
get: () => false,
|
|
});
|
|
|
|
// Overwrite the `languages` property to use a custom getter.
|
|
Object.defineProperty(navigator, 'languages', {
|
|
get: () => ['zh-CN', 'zh', 'en'],
|
|
});
|
|
|
|
// Overwrite the `plugins` property to use a custom getter.
|
|
Object.defineProperty(navigator, 'plugins', {
|
|
get: () => [1, 2, 3, 4, 5],
|
|
});
|
|
|
|
// Pass the Chrome Test.
|
|
window.chrome = {
|
|
runtime: {},
|
|
};
|
|
|
|
// Pass the Permissions Test.
|
|
const originalQuery = window.navigator.permissions.query;
|
|
window.navigator.permissions.query = (parameters) => (
|
|
parameters.name === 'notifications' ?
|
|
Promise.resolve({ state: Notification.permission }) :
|
|
originalQuery(parameters)
|
|
);
|
|
})();
|