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 (arham766/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.post1.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.post1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for tilion_fortress-151.0.7908.0.post1.tar.gz
Algorithm Hash digest
SHA256 f6615dd33cbf3dc3cac4bf30f59112c5afc9ca7ca71b79d0aba1cdc2fc8a69a5
MD5 729c5b07c1eed3162595eff946cb265d
BLAKE2b-256 d333dc5110f0e59625153f47a1ebbf9c9ec3e7ceff42545a2a2111dbd1c4a0e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tilion_fortress-151.0.7908.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 acec2e00ff61c8893ab9295088c7739843ff75b96a4a6183bf120a672ab3e2d8
MD5 f8aae7ccebebec19a730eeb28fd0a466
BLAKE2b-256 d5151bf8868a52ca32f773f225149c0894a5224bb2468cf4de4f5589aaee726e

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