feat(fingerprints): add BrowserFamily/Platform enums, OS-tagged profi…#17
Merged
feat(fingerprints): add BrowserFamily/Platform enums, OS-tagged profi…#17
Conversation
2747210 to
c5cb048
Compare
a842188 to
563e5a9
Compare
…les, and CI capture pipeline - Add BrowserFamily and Platform enums for typed registry lookups - Add FingerprintRegistry.by_family(family, platform=None), latest(), random() with optional family/platform filters; refactor shared _candidates() helper - Rename all built-in profiles in fingerprints.json with platform suffix derived from user-agent (_win/_linux/_mac/_android); update _PROFILE_EXPORTS accordingly - Add _platform_suffix() to capture script; all new Playwright captures get OS-tagged names (e.g. chrome_146_0_0_0_linux, chrome_146_0_0_0_win) - Add Android ADB capture mode (--android-only) and chrome_*_android profiles - Add GitHub Actions fingerprint-tests workflow: Playwright capture across Linux/macOS/Windows, Android emulator capture, fingerprint replication tests - Add make fingerprint-tests target for local end-to-end runs - Add full unit test coverage for new enum/registry methods (TestBrowserFamilyAndPlatform)
pw.android is a JS-only Playwright API not exposed in the Python SDK. Replace with: - subprocess.run(["adb", "devices"]) to discover connected devices - adb shell am start to launch Chrome on the device - adb forward tcp:9222 localabstract:chrome_devtools_remote for CDP - pw.chromium.connect_over_cdp() + Security.setIgnoreCertificateErrors via CDP session to navigate and capture the fingerprint Also switch the CI emulator target from "default" to "google_apis" since the default AOSP image does not include Chrome.
…container Avoids re-downloading Chrome (~200 MB) on every run and the headed-Chrome hang inside xvfb-run. The host runner already has chromium/chrome/firefox/ webkit installed from the previous Install step. TrackMe is port-mapped to localhost:8443 so --url https://localhost:8443 reaches it directly.
…xes Pyright errors)
… now exists); fix Pyright errors
5f73df2 to
d0d7a66
Compare
- actions/checkout@v4 → v6 - actions/setup-python@v5 → v6 - actions/setup-go@v5 → v6 - actions/upload-artifact@v4 → v7 - actions/download-artifact@v4 → v8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…les, and CI capture pipeline
Fixes #
Changes proposed in this pull request:
Before submitting
section of the
CONTRIBUTINGdocs.Writing docstrings section of the
CONTRIBUTINGdocs.After submitting