Skip to main content

Install and drive the Fortress stealth Chromium engine. Prebuilt binary, no source.

Project description

Fortress — stealth Chromium engine

tilion-fortress

Drive the Fortress stealth Chromium engine with one line — no build, no Chromium source.

PyPI Python Docker Pulls Stars License


Stop getting blocked — without puppeteer-stealth. JavaScript stealth patches self-reveal: a detector checks whether a getter is native code and catches the override. Fortress compiles the fingerprint correction into Chromium's C++, so a page inspecting itself sees stock Chrome. It clears CreepJS, Sannysoft, BrowserScan, and live Cloudflare as a normal Chrome install.

Install

pip install tilion-fortress

On first use it downloads the prebuilt Fortress binary for your platform from the official GitHub Release (SHA-256 verified) and caches it. No Chromium source, no compilation.

Quick start

from tilion_fortress import Fortress
from playwright.sync_api import sync_playwright

with Fortress() as f:                                   # launches the stealth engine on a CDP endpoint
    with sync_playwright() as p:
        browser = p.chromium.connect_over_cdp(f.cdp_url)
        page = browser.new_page()
        page.goto("https://bot.sannysoft.com")
        page.screenshot(path="all-green.png")

Keep your existing Playwright / Puppeteer / CDP code — just point it at f.cdp_url. Works the same under browser-use, Crawl4AI, Stagehand, and LangChain.

Verified against live detectors

Suite Result
CreepJS 0% headless · 0% stealth
bot.sannysoft.com 0 failed · all green · WebGL = NVIDIA RTX 3060 / ANGLE D3D11
browserscan.net "No bots detected, could be a human"
rebrowser bot-detector no Runtime.enable leak · webdriver=false
Cloudflare Turnstile cleared a live challenge

Custom persona

The default persona is a coherent Windows identity. Override any surface:

Fortress(
    persona={"timezone": "America/Chicago", "languages": "en-GB,en",
             "hw_concurrency": 16, "webgl_renderer": "ANGLE (NVIDIA, RTX 3060 ...)"},
    extra_args=["--window-size=1280,800"],
)

Platform support

Linux x64 has a native prebuilt binary. On macOS / Windows the package transparently runs Fortress via the official Docker image (tilion/fortress) — Docker is the cross-OS vehicle until native Win/Mac builds ship.

Still blocked? ~90% of the time it's your IP, not your fingerprint — datacenter ranges are flagged before any page script runs. Route egress through a residential or mobile proxy and retry.

Links

BSD-3-Clause · reproducible from source · monthly Chromium rebase · Blink · V8 · BoringSSL patched in-tree.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tilion_fortress-151.0.7908.0.post2.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tilion_fortress-151.0.7908.0.post2-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file tilion_fortress-151.0.7908.0.post2.tar.gz.

File metadata

File hashes

Hashes for tilion_fortress-151.0.7908.0.post2.tar.gz
Algorithm Hash digest
SHA256 262d23464f48fd240e2aecc3ff39073617177bff907a882d7d565382b069b03c
MD5 2ad77f5cab0be2878242df78400ab502
BLAKE2b-256 0f01ce54954b3f8de5d01f8dfb0b834cedd1956d2d65b368fa80f60d917452ec

See more details on using hashes here.

File details

Details for the file tilion_fortress-151.0.7908.0.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for tilion_fortress-151.0.7908.0.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 4f32cf0214da4fb7a0cff48bcaa2c65df6c6c7f80f585cb41734ef612450348d
MD5 823dab7bbac752ea5c7c2c68d7b14ee4
BLAKE2b-256 b2fc54581392b4fb19ea5f80d891fab9b8fe99d275824b245382f5d2443d3286

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page