Obscura Rust Library — Browser/Page/Element Complete API
Embedded Rust library API: Browser/Page/Element/CookieStore, interception channel, event callbacks, build notes. Git dependency integration.
Engineering Blog
99 posts in this category.
Embedded Rust library API: Browser/Page/Element/CookieStore, interception channel, event callbacks, build notes. Git dependency integration.
16Yun tunnel proxy, API proxy, dedicated proxy, scheduled proxy, overseas residential proxy vs 3 industry platforms — 72-hour benchmark data.
Three interception layers: CDP, Rust, and network. Block ads, mock API responses, inject preload scripts — control every request your page makes.
Docker distroless image, Systemd service unit, multi-process worker scaling, V8 heap tuning, WebSocket reverse proxy — Obscura production deployment.
30+ MCP tools from navigation to form filling to data extraction. Configure Claude Desktop and your AI agent can drive a browser for any web task.
Core CDP domains, direct Puppeteer/Playwright connections, full lifecycle mapping — switching from Headless Chrome to Obscura means changing one line of connection code.
Seven output formats, concurrent workers, JS injection, SPA wait strategies — one Obscura CLI command equals a full headless browser.
30 MB memory, 85 ms page load, built-in anti-detection — Obscura is the Rust alternative to Headless Chrome for AI agents and scrapers.
When AI agents move from lab to production, anti-blocking isn't optional — it's survival. This article covers proxy selection, GeoIP alignment, IP rotation strategies, fingerprint consistency, error troubleshooting, and a production deployment checklist.
As of mid-2026, AI browser agents have diverged into four distinct architectural paradigms. This article delivers a comprehensive comparison across six dimensions, with a decision tree for choosing the right tool.
Every tool in this space looks great in a demo. Running them in production is where you find the gap between marketing claims and engineering maturity. Seven bugs I actually hit, with root causes and workarounds for each.
The AWS airline check-in AI Agent demonstrates enterprise cognitive orchestration: Bedrock AgentCore manages episodic memory, Playwright handles browser interaction, Sentence Transformers power semantic element discovery.
axios, got, and native http module — three approaches to tunnel proxy integration.
mitmproxy upstream mode + addon script for Crawler Proxy integration.
Agent-E doesn't just control a browser — it understands pages through DOM distillation (filtering content by task type), mmid injection (custom attribute element targeting), and hierarchical orchestration (batch operations via execution planner).
Go net/http and resty four tunnel scenarios with native HTTPS Proxy-Tunnel support.
When JS shims are increasingly detectable by modern WAFs, Camoufox takes a more radical approach — modifying Firefox source code at the C++ engine level, completing all fingerprint spoofing before JavaScript executes.
Selenium Chrome + Crawler Proxy: Chrome extension-based proxy auth integration.
Puppeteer + Crawler Proxy: Chrome automation proxy integration.
Lightpanda is not a Chrome fork or patch — it's a headless browser engine written from scratch in Zig. No GUI rendering pipeline, optimized JS engine, CDP protocol compatible. 10× faster, 10× less memory.
Playwright + Crawler Proxy: browser automation proxy integration.
agent-browser replaces Node.js cold starts with a native Rust daemon, replaces brittle CSS selectors with A11y snapshot + stable element ref IDs, compressing DOM from 5000 tokens to 200-400.
Scrapy middleware configuration for four proxy scenarios, including HTTP Proxy-Tunnel and HTTPS limitation notes.
aiohttp async four scenarios with proxy_headers for HTTPS Proxy-Tunnel support.
Steel Browser is an open-source cloud browser API with built-in session management, proxy rotation, stealth configuration, and CAPTCHA solving. Compatible with Puppeteer, Playwright, and Selenium.
httpx four tunnel proxy scenarios with httpx.Proxy for HTTPS Proxy-Tunnel support.
If you already have a GitHub Copilot subscription, Browy makes every browser automation task cost zero in inference. Side panel for daily work, DevTools CLI for power users, 41 built-in tools.
requests full four-scenario implementation with custom HTTPAdapter for HTTPS Proxy-Tunnel.
A free alternative to OpenAI Operator. Install the Chrome extension, add your API key, control your browser with natural language. Built-in Planner/Navigator/Validator multi-agent system.
Python standard library urllib implements four tunnel proxy ...
Session isolation, security policies, proxy selection, and production deployment checklist for agent-browser.
network route to intercept requests, network har to record performance, react tree for component inspection, vitals for metrics.
feapder AirSpider and Scrapy+Splash integrating 16Yun Crawle...
batch for multi-step execution in one call, chat for natural language browser control, concurrent sessions.
pyppeteer and Selenium Firefox integrating 16Yun Crawler Pro...
No downtime needed. Same API, can route to either scripts or AI. Config switch control, comparison validation, gradual traffic increase.
PHP curl, Guzzle, and Stream Context integrating 16Yun Crawl...
--profile to reuse Chrome login state, --session-name for auto persistence, state save/load for explicit management.
Stable paths stay as scripts. Unstable paths move to AI. But how do you define 'stable'? Three dimensions: operation stability, change frequency, exception cost.
C++ libcurl and CPR libraries integrating 16Yun Crawler Prox...
snapshot -i for interactive elements only, screenshot --annotate with numbered labels, diff for change detection.
One Chrome auto-update, CI turns all red. Headless A11y element order differs from headed. Two parallel tests hijack each other's sessions.
C# HttpClient and HttpWebRequest integrating 16Yun Crawler P...
npm install -g agent-browser, one command to open a browser, snapshot to understand page structure, click/fill to interact.
Tokens first, proxy second, compute third. Proxy optimization doesn't save much money but reduces latency. Compute optimization matters at scale.
CloakBrowser renders JS/SPA pages → Trafilatura extracts clean text. Solve the 'JS-rendered content can't be extracted' problem.
Rust reqwest and isahc HTTP clients integrating 16Yun Crawle...
One extraction task: tokens $0.05, proxy traffic $0.001, server $0.002. Tokens dominate. Proxy and compute are usually too cheap to optimize.
Ruby Faraday and HTTParty integrating 16Yun Crawler Proxy....
Advanced Trafilatura: custom element exclusion, language detection, offline batch processing, and incremental updates.
Browsers aren't stateless microservices. 200-500MB per instance, /dev/shm config, WebSocket long connections — running browser clusters on K8s needs a completely different design.
Swift Alamofire and URLSession integrating 16Yun Crawler Pro...
From single-page extraction to million-scale batch pipelines: concurrency control, proxy rotation, error handling, and storage.
Input filtering isn't perfect. When attackers bypass it, the behavior sandbox is the last line of defense — limiting what the agent can do when compromised.
Perl LWP::UserAgent integrating 16Yun Crawler Proxy....
Deep dive into Trafilatura's extraction engine with benchmark data, metadata fields, and tuning strategies.
A single hidden white-text line can make your agent execute attacker instructions. Prompt injection isn't XSS or SQL injection — it lives at the AI reasoning layer.
Sitemap discovery → Feed tracking → URL management → bulk extraction — a complete full-site scraping workflow.
Node.js undici, superagent, and native https module integrat...
Enterprise proxy stability assurance: SLA design, fault classification, response mechanisms, and continuous improvement.
The dashboard was all green — 99.9% HTTP 200 rate, 200ms P95 latency, zero 5xx errors. But the agent had looped on the same page 10 times, extracting nothing. Traditional monitoring couldn't see this.
Deprecated but still widely deployed Node.js tools integrati...
pip install and 3 lines of code to extract article text, title, author, and publication date from any URL.
Agent ran 50 steps in the browser, errored somewhere in the middle, and you only see the final error. No action trace, no DOM replay, no decision chain.
Fingerprints solve who you are. Proxies solve where you are. Both must work together to bypass modern anti-bot systems.
LLM can't fill a form in 15 minutes. Selector failure rate exceeds threshold. Token consumption is 3x over budget. AI failure isn't 'if' — it's 'when.'
One Docker command to deploy a fingerprint browser cluster — an open-source, self-hosted Multilogin alternative.
Not 'Task A uses scripts, Task B uses AI.' Within the same task: steps 1-3 use scripts, step 4 errors out, AI takes over transparently, hands back after recovery.
One flag to enable human-like mouse, keyboard, and scroll patterns that bypass behavioral detection.
Calling page.goto via AI costs 20x more than a script. Login via AI is 3-5x slower. Not every browser operation needs a language model.
Fixed fingerprint seeds, persistent cookies/sessions, and incognito bypass for maximum trust scores.
Agent A recorded its operation state. Agent B doesn't know. Agent A's session needs to migrate to another node, but cookies and localStorage are still on the original browser.
The Executor's core is a for loop: Planner runs every N steps to guide direction, Navigator executes one operation per step. Planner says done → stop. Navigator says done → Planner validates. Consecutive failures hit the limit → abandon.
Install, run, and bypass Cloudflare Turnstile with CloakBrowser in 3 lines of code.
Profile isolation works but is fiddly. Containerization is thorough but expensive. CDP Target is lightweight but fragile. Three approaches compared by cost and suitability.
getClickableElements walks the DOM tree to find interactive elements. hashDomElement uses three-layer hashing (branch path + attributes + XPath) for unique fingerprints. A 30-line iterative stack replaces recursive DOM traversal.
getMarkdownContent uses turndown to convert DOM to Markdown. getReadabilityContent uses Mozilla Readability to extract article body. Both are under 40 lines in service.ts but the design tradeoffs matter for scraper developers.
Understand browser fingerprinting and anti-detection, and see why C++-level patching is fundamentally different.
Two agents running simultaneously. One is filling a checkout form. The other takes over its tab. This isn't hypothetical — agent-browser Issue #326 describes exactly this scenario.
An IP looks reasonable. A browser profile looks normal. Code runs without errors. But put the three together and they don't align. Detection systems find inconsistency.
navigator.webdriver was defeated in 2018. 2026 anti-detection looks at mouse movement entropy, keystroke dwell time variance, sub-pixel Canvas rendering offsets.
Camoufox's C++ engine-level spoofing covers the JS layer, but it can't touch the transport layer. The TLS handshake identifies you as script or human before the first HTTP request.
CPU-based HPA is nearly useless for browser instances. Startup CPU spikes don't mean it's serving. Memory doesn't release after close(). Browsers aren't stateless services.
Tab 1 loads fine. Tabs 2 and 3 both time out. 120 seconds isn't enough. 1,600,000ms isn't enough either. The problem isn't page load speed — it's the connection pool.
Unkillable Chrome processes, accumulating zombies, 24GB virtual memory leaks over 21 hours — scaling isn't just running 1,000 copies of the same instance.
Single-problem, engineering-grade Scrapy tutorial.
Single-problem, engineering-grade Scrapy tutorial.
Single-problem, engineering-grade Scrapy tutorial.
Single-problem, engineering-grade Scrapy tutorial.
Single-problem, engineering-grade Scrapy tutorial.
AI data collection demands far more from proxy stability: high concurrency, extreme success rates, and consistent low latency.
Proactive monitoring vs reactive reporting: how observability systems took proxy stability to the next level in 2024.
API scheduling impact on proxy stability: why P95 response time matters more than averages.
Residential, data center, static, dynamic — different proxy types have different stability characteristics. Choose the type that fits your scenario.
Global node deployment in 2021: how to balance latency and stability in cross-border proxy scenarios.
Intelligent load balancing and auto-failover in 2020: why single points of failure matter and how to design for high availability.
Going from 95% to 99% availability meant more than a 4% improvement. It required architectural redundancy, automated failover, and proactive monitoring.
HTTP and SOCKS5 proxies behave differently under real-world conditions. In 2018 we studied both protocols extensively to understand their stability characteristics.
The early proxy market in 2017: what connectivity rate means, why proxies fail, and why we chose the harder path.