name: Stealth Matrix
on:
schedule:
- cron: "0 6 * * *" workflow_dispatch:
permissions:
contents: read
jobs:
stealth-matrix:
strategy:
fail-fast: false
matrix:
profile:
- ChromeWindowsStable
- ChromeLinux
- ChromeMacStable
- SafariMacStable
- SafariIphone
- SafariIpad
- BraveWindows
- FirefoxStable
- EdgeStable
- OperaWindows
- SamsungInternetAndroid
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install Chrome
run: |
sudo apt-get update
sudo apt-get install -y google-chrome-stable
- name: Run stealth probe against ${{ matrix.profile }}
env:
CAPTCHAFORGE_STEALTH_PROFILE: ${{ matrix.profile }}
run: |
cargo run --release --bin captchaforge -- selftest
# The bench's anti-detection suite probes for the same
# signals CreepJS / fp.json check (navigator.webdriver,
# chrome.runtime, plugin count, language, WebGL vendor,
# …). Failing this suite means stealth dropped.
cd bench
cargo run --release -- --suite anti-detection --strict