展示 HN:Fortress – 一款隐形的 Chromium,让您的代理停止被封锁
一个浏览器引擎统治所有隐形 Chromium 引擎 Fortress 是一个隐形的 Chromium 引擎,通过更改一行代码,防止您的爬虫和浏览器代理被封锁。机器人检测器通过读取浏览器指纹来标记自动化;Fortress 在 Chromium 的 C++ 中修正指纹,使浏览器表现得像一个普通的 Chrome 安装。爬虫完成其任务,代理到达他们被发送的页面,而 CreepJS、Sannysoft、BrowserScan 和实时 Cloudflare Turnstile 则都将其视为人类。将您现有的 Playwright 或 Puppeteer 指向 Fortress 通过 CDP,您的代码中没有其他更改。Blink · V8 · BoringSSL 在树中打补丁 · ANGLE / D3D11 支持的 WebGL · JA3/JA4 一致的 TLS · 每月上游回溯 · 可重现的、受挑战的发布 34 个单一表面 C++ 补丁 0% CreepJS 无头 / 隐形 [原生代码] 在每个领域 BSD-3 开放引擎,自行重建 在真实窗口中捕获 Fortress 二进制文件的未编辑版本:它清除一个实时 Cloudflare 挑战,将 bot.sannysoft.com 变为绿色,然后读取 BrowserScan 为 “正常”。使用 tools/gauntlet.py 进行重现。原生代码一致性 每个伪造的 getter 都是一个 C++ getter:toString 返回 [原生代码],在主框架、iframe 和 Web Workers 中是一致的。在 :9222 上使用无需驱动的原始 CDP,且没有 Runtime.enable 泄漏。保持 Playwright、Puppeteer 或任何 CDP 客户端;交换浏览器,保持代码。在 CreepJS 上清除挑战 0%;Sannysoft、BrowserScan 和实时 Cloudflare Turnstile 清除,所有表现为标准 Chrome 安装。可审核的补丁 34 个小型单一用途差异在 patches/ 中。阅读一个只需一分钟;用一个脚本重建引擎。按构造一致 真实的 V8、Blink 和 BoringSSL 保持引擎、用户代理和 JA3/JA4 TLS 形状一致:在匹配堆栈上的 Windows 身份。可调身份 一个二进制文件,一个一致性检查的 Windows 身份; --uxr-* 切换覆盖任何表面:GPU、屏幕、时区、硬件、客户端提示。🆕 新功能 — 151.0.7908.0 · 引擎刷新已发布。每次启动一致的身份,加固。每个地区键盘(QWERTY / QWERTZ / AZERTY)· 每个身份的媒体设备 · 完整交付一致性通行。平台 ↔ GPU ↔ 时区 ↔ 语言 ↔ 语音 ↔ 键盘作为一个一致的真实设备移动 — 在每次启动时,从一个二进制文件。原生代码一致性(toString() 保持为 [原生代码]),领域不变(主 / 工作 / iframe)——一致性编译到浏览器中,而不是用 JavaScript 打补丁。pip install -U tilion-fortress # 或:docker run --rm -p 9222:9222 tilion/fortress:latest → 完整发布说明 内容 它是什么 · 快速入门 它是什么、安装、首次脚本、AI 代理设置 Fortress MCP 29 款隐形浏览器工具(测试版) 为什么修补引擎,而不是页面 自我揭露的 JS 论点 + 三个检测层级 Fortress 与 puppeteer-stealth · Camoufox · CloakBrowser · 封闭供应商的比较 证明:实时检测结果 CreepJS / Sannysoft / BrowserScan / Cloudflare,带截图 配置身份 --uxr-* 指纹表面 与您的堆栈兼容 浏览器使用 · Crawl4AI · Stagehand · LangChain 构建 & 验证 从源代码中重现,验证来源 参考 故障排除 · 常见问题 · 路线图 · 仓库布局 它是什么 Fortress 是一个 Chromium 分支,通过引擎内部伪造浏览器指纹。机器人的检测器读取的表面(canvas、WebGL、音频、字体、导航器以及大约三十个其他表面)在 Chromium 的 C++ 中被修正,没有 JavaScript 补丁层在顶部让页面捕获。它作为一个普通的浏览器二进制文件发布,暴露一个 CDP 端点。指向 Playwright、Puppeteer 或任何 CDP 客户端,并且您的现有自动化运行没有变化。一个 JavaScript 隐形补丁留下一个额外的层,页面可以发现:.toString() 显示覆盖的来源,而从 iframe 或 worker 重新抓取相同的原始值则可以超越它。Fortress 在引擎中修正表面,因此 navigator.vendor 解析为真实的 C++ getter,报告 [原生代码],并从每个领域读取相同的内容。一个页面自我检查时会看到标准的 Chromium。这就是为什么您的自动化能够通过之前被标记的地方,以及剩余的任何封锁追溯到您的代理和行为,而不是浏览器。为什么修补引擎,而不是页面全面涵盖检测机制。 from tilion_fortress import Fortress from playwright . sync_api import sync_playwright with Fortress () as f : # 在 CDP 端点上启动隐形引擎 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" ) import { Fortress } from "tilion-fortress" ; import { chromium } from "playwright" ; const f = await Fortress . launch ( ) ; // 在 CDP 端点上的隐形引擎 const browser = await chromium . connectOverCDP ( f . cdpUrl ) ; const page = await browser . newPage ( )
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡