Commit Graph

52 Commits

Author SHA1 Message Date
SGavrl
458d0681d8 Update README.md 2026-08-10 09:35:54 +00:00
SGavrl
730fe7ff25 Update README.md 2026-08-07 22:26:11 +02:00
SGavrl
4bd8aa6930 docs: announce native rendering 2026-08-07 20:23:04 +00:00
SGavrl
cd661982df fix(build): preserve non-render compatibility 2026-08-07 20:15:28 +00:00
SGavrl
af93379ba0 build: publish no-render release variants 2026-08-07 19:35:59 +00:00
SGavrl
5868416424 docs: trim readme introduction 2026-08-07 19:21:11 +00:00
SGavrl
69cdf19a52 docs: remove duplicate rendering guides 2026-08-07 19:19:36 +00:00
SGavrl
e66a33f893 docs: restore stealth and performance positioning 2026-08-07 19:16:27 +00:00
SGavrl
806cee4bac fix(cli): simplify screenshot capture
Add a short screenshot flag, reject batch conflicts during argument parsing, and remove unsupported performance and parity language from the public documentation.
2026-08-07 18:38:24 +00:00
SGavrl
3295143025 docs(render): publish automation guide
Document screenshots, scrolling, screencasting, PDF, MCP media output, release builds, and evidence-based render verification across the public guides and agent skill.
2026-08-07 18:33:51 +00:00
SGavrl
70062e0870 Update README.md 2026-08-05 16:57:21 +02:00
h4ckf0r0day
5634386488 Update README.md 2026-08-01 01:06:22 +02:00
h4ckf0r0day
487deac25f Repository of the day README update 2026-07-29 23:18:23 +02:00
SGavrl
f153487030 Update README.md 2026-07-29 01:31:08 +02:00
SGavrl
78a3e997e7 ci(release): publish explicit stealth artifacts 2026-07-26 11:05:13 +00:00
SGavrl
45aba21165 Update README.md 2026-07-22 19:11:35 +02:00
SGavrl
113b492ed5 Update README.md 2026-07-16 12:07:50 +02:00
SGavrl
1ca6047351 feat(cdp): stream large response bodies via takeResponseBodyAsStream + IO (#381)
Network.getResponseBody returns the whole body in one base64 blob and the
cache drops anything over 2 MiB, so large downloads (images, PDFs,
archives) either failed or forced the long-running server to hold the
full body in memory (issue #360).

Add Fetch.takeResponseBodyAsStream + IO.read + IO.close. The body is moved
out of the page cache into a stream handle and delivered in bounded chunks
via IO.read, then freed on IO.close, so it is held once and released after
the download. Binary bodies are byte-exact (stored base64). To stream a
large body, raise OBSCURA_NETWORK_BODY_BUFFER_BYTES so it is cached.

This is entirely opt-in: nothing runs unless a client calls the new
methods, so the default fetch/render/scrape path is unchanged (verified:
obstacle course 33/33, obscura-vs-Chrome head-to-head within noise of the
pre-change baseline).

Fixes #360.
2026-07-10 20:38:28 +00:00
SGavrl
4bc69c5209 Update README.md 2026-07-10 19:44:18 +00:00
SGavrl
fa9ba7f13d fix(browser): raise script-execution budget so heavy SPAs boot (#371)
The script-execution phase had a 10s soft deadline. On a heavy SPA the
remaining scripts were skipped before the app finished booting, so it
never fired its XHR/fetch calls and page.on('response') captured zero API
responses (issue #361). The knob to extend it, OBSCURA_SCRIPT_DEADLINE_MS,
existed but was undocumented, so it was undiscoverable.

Raise the default to 30s and document the env var. Only pages that keep
running past the deadline are affected; fast pages finish and return well
before it, so the larger budget costs them nothing, and the per-phase
watchdog (armed at deadline + 1s) still bounds a real synchronous hang.
Very heavy SPAs on slow networks can raise it further with
OBSCURA_SCRIPT_DEADLINE_MS, paired with a matching client nav timeout.

Fixes #361.
2026-07-09 11:07:34 +02:00
SGavrl
14286e7ad6 Update README.md 2026-07-06 23:25:37 +02:00
SGavrl
ca71ce3c2d docs: add Integrations section linking the Hermes agent plugin (#354)
Point users at hermes-plugin-obscura, which runs Hermes agent browser
tasks on Obscura over CDP as a local backend.
2026-07-03 14:20:54 +02:00
SGavrl
99d95fcdb4 Update README.md 2026-07-03 10:47:53 +02:00
h4ckf0r0day
505738450a Update README.md 2026-06-26 17:18:24 +02:00
Gabriel
28f1a7fd48 Update README.md 2026-06-18 21:18:25 +02:00
Gabriel
bee4bc5b93 Update README.md 2026-06-18 10:23:34 +02:00
Gabriel
b8fa722870 Update README.md 2026-06-17 21:11:46 +02:00
h4ckf0r0day
f20626bdbd Update README.md 2026-06-08 21:51:39 +02:00
SGavrl
260e138318 Update README.md 2026-06-08 07:41:49 +00:00
h4ckf0r0day
bd2b025c7f Update README.md 2026-06-06 18:57:36 +02:00
h4ckf0r0day
94bd2cce42 Update README.md 2026-06-06 15:07:51 +02:00
SGavrl
6dea35bd0c docs: link the benchmark repo (#240)
Add a
pointer to the benchmark repo (h4ckf0r0day/obscura-benchmark) in the benchmark
section.
2026-06-05 07:55:30 +00:00
Ben Younes
3d12f76d8e feat(cli): add --dump assets to inventory page sub-resources (124) (#174)
feat: add `--dump assets` to enumerate page sub-resources

Adds a `--dump assets` flag to output all page-referenced sub-resources 
(scripts, stylesheets, images, iframes, media, embeds, objects) as NDJSON, 
allowing users to easily replay the asset graph.

- Output format: `{"url":"https://example.test/app.js","type":"script"}`
- URLs are resolved against the page origin (matching `--dump links`).
- The `type` tag is derived from the source element. `<link>` elements map 
  their `rel` attribute to specific types (stylesheet, icon, manifest, preload, 
  prefetch, modulepreload, dns-prefetch, preconnect, alternate), falling back 
  to "link" if missing or unknown.
- Adds 7 tests covering URL resolution, rel-mapping, supported selectors, 
  and empty-attribute skipping.
- Updates README dump-format table and examples.
2026-05-24 17:39:30 +00:00
SGavrl
b2b41529c4 ci: add aarch64-linux release binary (#127)
Uses GitHub's native ubuntu-22.04-arm runner so it's a native build
matching the same glibc 2.35 floor as the x86_64 target. README gets
the matching install snippet.
2026-05-15 21:10:29 +00:00
SGavrl
3a6f3e6c22 Update README.md
cleaning up
2026-05-15 19:51:59 +00:00
Adam Ma
597fe5ef8d docs(readme): document --v8-flags and add Tuning V8 section (#152) (#153)
Adds a Global flags subsection to CLI Reference (covering --verbose,
--proxy, --user-agent, --obey-robots, --v8-flags) and a Tuning V8
section with the OOM-on-large-pages motivating example, so users
hitting JavaScript heap out of memory can find --v8-flags from the
use-case side rather than only from --help.

Closes #152. Depends on #131.
2026-05-15 19:51:09 +00:00
Ben Younes
09df3050f7 feat(cli): add --dump original for binary-safe raw response output (#117) (#148)
Fixes #117. Adds an `Original` variant to `--dump` that streams the raw
HTTP response body verbatim to stdout (or `--output`), bypassing the
browser/JS/DOM stack entirely. Useful for binary payloads (jpg, png,
fonts) and any non-HTML resource where parsing through the DOM layer
would corrupt or discard data.

The new path uses ObscuraHttpClient directly, honours --proxy and
--user-agent, and writes bytes through tokio::io::stdout so binary
payloads (including embedded NUL bytes) round-trip cleanly.
2026-05-14 10:00:07 +00:00
SGavrl
aeb1784c32 docs: add Docker install section to README 2026-05-13 22:31:44 +00:00
Jordi Llonch
bce055fd2a MCP support (#65)
* add mcp support

* add MCP docs to README

* wire up mcp subcommand in cli

* fix(stealth): propagate stealth feature to obscura-mcp
2026-05-13 21:38:10 +00:00
F0Rextasy
9fbd0c73a3 Plumb proxy into fetch and scrape (#88) 2026-05-13 22:34:02 +02:00
SGavrl
5596c79490 docs: add Arch Linux AUR install instructions (#134)
Adds install instructions for Arch Linux via the AUR package obscura-browser.

AUR: https://aur.archlinux.org/packages/obscura-browser
2026-05-10 23:43:15 +02:00
F0Rextasy
81b9cf0f42 Add fetch output file option (#95) 2026-05-09 17:30:24 +02:00
F0Rextasy
e00729e7c6 Add quiet mode for scrape (#91) 2026-05-09 17:28:52 +02:00
h4ckf0r0day
e60da1af39 docs: announce Obscura Cloud waitlist 2026-05-05 00:01:34 +02:00
F0Rextasy
9d8d3a02a9 Add fetch navigation timeout (#92) 2026-05-03 17:30:46 +02:00
F0Rextasy
34205e50d1 Build Linux release on Ubuntu 22.04 (#87)
The current ubuntu-latest Linux release can require a newer glibc than common LTS servers provide. Pinning the x86_64 Linux release job to Ubuntu 22.04 keeps the prebuilt binary compatible with glibc 2.35+ environments while leaving macOS and Windows release jobs unchanged.

Also document the Linux LTS compatibility target in the install section so users understand why the release runner is pinned.
2026-05-03 17:14:54 +02:00
F0Rextasy
9e1f1aa044 Package scrape worker in releases (#94) 2026-05-03 17:13:54 +02:00
F0Rextasy
9fc94b6d7b Fix license metadata and README heading (#89) 2026-05-03 16:43:58 +02:00
Abdul Qabiz
a458738e5a Add macOS Intel installation instructions
Added installation instructions for macOS Intel users.
2026-04-25 16:57:33 +05:30
Abdul Qabiz
4666d34adb Update README to remove macOS Intel instructions
Removed installation instructions for macOS Intel because there is no macOS Intel build.
2026-04-25 16:03:35 +05:30