├── .gitattributes ├── .github ├── CODEOWNERS ├── config │ └── .pre-commit-config-template.yaml └── workflows │ ├── precommits.yml │ ├── secrets-scanner.yml │ └── vuln-scanner-pr.yml ├── .gitignore ├── .pylintrc ├── .semgrepignore ├── .tags.json ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── .yamllint ├── CHANGELOG.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── examples └── stealth_mode.py ├── images ├── example_with_stealth_headful.png └── example_with_stealth_headless.png ├── playwright_stealth ├── __init__.py ├── core │ ├── __init__.py │ └── _stealth_config.py ├── js │ ├── chrome.app.js │ ├── chrome.csi.js │ ├── chrome.load.times.js │ ├── chrome.plugin.js │ ├── chrome.runtime.js │ ├── generate.magic.arrays.js │ ├── iframe.contentWindow.js │ ├── media.codecs.js │ ├── navigator.hardwareConcurrency.js │ ├── navigator.languages.js │ ├── navigator.permissions.js │ ├── navigator.plugins.js │ ├── navigator.userAgent.js │ ├── navigator.vendor.js │ ├── navigator.webdriver.js │ ├── utils.js │ ├── webgl.vendor.js │ └── window.outerdimensions.js ├── properties │ ├── __init__.py │ ├── _header_properties.py │ ├── _navigator_properties.py │ ├── _properties.py │ ├── _viewport_properties.py │ └── _webgl_properties.py └── stealth.py ├── poetry.lock ├── pyproject.toml └── tests ├── __init__.py ├── e2e ├── __init__.py ├── configs.py ├── demo_with_stealth_test.py ├── test_all_scripts.py ├── test_multiple_scripts.py └── test_one_script.py ├── unit ├── __init__.py ├── header_properties_test.py ├── navigator_properties_test.py ├── properties_test.py ├── viewport_properties_test.py └── webgl_properties_test.py └── utils.py /.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-language=python -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/config/.pre-commit-config-template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.github/config/.pre-commit-config-template.yaml -------------------------------------------------------------------------------- /.github/workflows/precommits.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.github/workflows/precommits.yml -------------------------------------------------------------------------------- /.github/workflows/secrets-scanner.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.github/workflows/secrets-scanner.yml -------------------------------------------------------------------------------- /.github/workflows/vuln-scanner-pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.github/workflows/vuln-scanner-pr.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.gitignore -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- 1 | [MAIN] 2 | # Pylint is disabled. Ruff is used instead 3 | ignore-paths=* 4 | -------------------------------------------------------------------------------- /.semgrepignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.semgrepignore -------------------------------------------------------------------------------- /.tags.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.tags.json -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["charliermarsh.ruff"] 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.yamllint: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/.yamllint -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/README.md -------------------------------------------------------------------------------- /examples/stealth_mode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/examples/stealth_mode.py -------------------------------------------------------------------------------- /images/example_with_stealth_headful.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/images/example_with_stealth_headful.png -------------------------------------------------------------------------------- /images/example_with_stealth_headless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/images/example_with_stealth_headless.png -------------------------------------------------------------------------------- /playwright_stealth/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/__init__.py -------------------------------------------------------------------------------- /playwright_stealth/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/core/__init__.py -------------------------------------------------------------------------------- /playwright_stealth/core/_stealth_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/core/_stealth_config.py -------------------------------------------------------------------------------- /playwright_stealth/js/chrome.app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/chrome.app.js -------------------------------------------------------------------------------- /playwright_stealth/js/chrome.csi.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/chrome.csi.js -------------------------------------------------------------------------------- /playwright_stealth/js/chrome.load.times.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/chrome.load.times.js -------------------------------------------------------------------------------- /playwright_stealth/js/chrome.plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/chrome.plugin.js -------------------------------------------------------------------------------- /playwright_stealth/js/chrome.runtime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/chrome.runtime.js -------------------------------------------------------------------------------- /playwright_stealth/js/generate.magic.arrays.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/generate.magic.arrays.js -------------------------------------------------------------------------------- /playwright_stealth/js/iframe.contentWindow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/iframe.contentWindow.js -------------------------------------------------------------------------------- /playwright_stealth/js/media.codecs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/media.codecs.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.hardwareConcurrency.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.hardwareConcurrency.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.languages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.languages.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.permissions.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.plugins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.plugins.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.userAgent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.userAgent.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.vendor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.vendor.js -------------------------------------------------------------------------------- /playwright_stealth/js/navigator.webdriver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/navigator.webdriver.js -------------------------------------------------------------------------------- /playwright_stealth/js/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/utils.js -------------------------------------------------------------------------------- /playwright_stealth/js/webgl.vendor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/webgl.vendor.js -------------------------------------------------------------------------------- /playwright_stealth/js/window.outerdimensions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/js/window.outerdimensions.js -------------------------------------------------------------------------------- /playwright_stealth/properties/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/properties/__init__.py -------------------------------------------------------------------------------- /playwright_stealth/properties/_header_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/properties/_header_properties.py -------------------------------------------------------------------------------- /playwright_stealth/properties/_navigator_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/properties/_navigator_properties.py -------------------------------------------------------------------------------- /playwright_stealth/properties/_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/properties/_properties.py -------------------------------------------------------------------------------- /playwright_stealth/properties/_viewport_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/properties/_viewport_properties.py -------------------------------------------------------------------------------- /playwright_stealth/properties/_webgl_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/properties/_webgl_properties.py -------------------------------------------------------------------------------- /playwright_stealth/stealth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/playwright_stealth/stealth.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/e2e/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/e2e/configs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/e2e/configs.py -------------------------------------------------------------------------------- /tests/e2e/demo_with_stealth_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/e2e/demo_with_stealth_test.py -------------------------------------------------------------------------------- /tests/e2e/test_all_scripts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/e2e/test_all_scripts.py -------------------------------------------------------------------------------- /tests/e2e/test_multiple_scripts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/e2e/test_multiple_scripts.py -------------------------------------------------------------------------------- /tests/e2e/test_one_script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/e2e/test_one_script.py -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/header_properties_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/unit/header_properties_test.py -------------------------------------------------------------------------------- /tests/unit/navigator_properties_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/unit/navigator_properties_test.py -------------------------------------------------------------------------------- /tests/unit/properties_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/unit/properties_test.py -------------------------------------------------------------------------------- /tests/unit/viewport_properties_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/unit/viewport_properties_test.py -------------------------------------------------------------------------------- /tests/unit/webgl_properties_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/unit/webgl_properties_test.py -------------------------------------------------------------------------------- /tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinyfish-io/tf-playwright-stealth/HEAD/tests/utils.py --------------------------------------------------------------------------------