首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Rust写的无头浏览器,比Chrome轻了85%

Rust写的无头浏览器,比Chrome轻了85%

作者头像
用户11563501
发布2026-06-23 14:04:57
发布2026-06-23 14:04:57
1240
举报

Headless Chrome可能要被替代了。

最近有个叫Obscura的开源项目,用Rust写了个无头浏览器,专为AI代理和大规模爬虫设计。数字很直接:

  • 内存占用:200MB+ → 30MB(降了85%)
  • 二进制大小:300MB+ → 70MB
  • 页面加载:500ms → 85ms
  • 启动时间:2秒 → 即时

单二进制文件,不需要Node.js或Chrome运行时,也没外部依赖。部署就是下载一个70MB的文件。

反检测功能做得挺狠:

  • 每次会话随机生成完整浏览器指纹(GPU、canvas、音频、电池状态)
  • 默认屏蔽3520个追踪域名
  • 隐藏navigator.webdriver属性,伪装成真实Chrome
  • 重写底层JavaScript原生函数,让检测工具失效

兼容Chrome DevTools Protocol,可以直接替换Puppeteer和Playwright里的Headless Chrome。

安装和使用

下载安装

代码语言:javascript
复制
# Linux x86_64
curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-x86_64-linux.tar.gz
tar xzf obscura-x86_64-linux.tar.gz
./obscura fetch https://example.com --eval "document.title"

# macOS Apple Silicon
curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-aarch64-macos.tar.gz
tar xzf obscura-aarch64-macos.tar.gz

# macOS Intel
curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-x86_64-macos.tar.gz
tar xzf obscura-x86_64-macos.tar.gz

基础使用

代码语言:javascript
复制
# 获取页面标题
obscura fetch https://example.com --eval "document.title"

# 提取所有链接
obscura fetch https://example.com --dump links

# 渲染JavaScript并输出HTML
obscura fetch https://news.ycombinator.com --dump html

# 等待动态内容
obscura fetch https://example.com --wait-until networkidle0

# 并行爬取
obscura scrape url1 url2 url3 ... \
  --concurrency 25 \
  --eval "document.querySelector('h1').textContent" \
  --format json

启动CDP服务器

代码语言:javascript
复制
obscura serve --port 9222

# 启用隧道模式
obscura serve --port 9222 --stealth

与Playwright集成

代码语言:javascript
复制
import { chromium } from 'playwright-core';

const browser = await chromium.connectOverCDP({
  endpointURL: 'ws://127.0.0.1:9222',
});

const page = await browser.newContext().then(ctx => ctx.newPage());
await page.goto('https://en.wikipedia.org/wiki/Web_scraping');
console.log(await page.title());

await browser.close();

对需要大量浏览器实例的AI代理来说,这意味着在相同硬件上能跑更多实例。32GB内存的服务器,原来最多跑160个Chrome实例,现在能跑1000多个。

项目用Apache-2.0许可证,支持Linux x86_64、macOS Apple Silicon和Intel平台。Rust在系统级工具上的优势开始显现了。

地址:https://github.com/h4ckf0r0day/obscura

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI工程化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装和使用
    • 下载安装
    • 基础使用
    • 启动CDP服务器
    • 与Playwright集成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档