feat: add /fetch endpoint for browser-backed HTTP requests#205
Closed
masnwilliams wants to merge 1 commit into
Closed
feat: add /fetch endpoint for browser-backed HTTP requests#205masnwilliams wants to merge 1 commit into
masnwilliams wants to merge 1 commit into
Conversation
Adds POST /fetch to the VM server that proxies HTTP requests through Chromium's built-in forward proxy, inheriting TLS fingerprint, cookies, proxy config, and default headers without rendering a page. - Configure chromium-launcher to pass --forward-proxy-port flag - Add FORWARD_PROXY_PORT config (default 8888) - Add /fetch endpoint to OpenAPI spec with request/response schemas - Implement BrowserFetch handler proxying to localhost forward proxy - Regenerate oapi-codegen output Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
POST /fetchendpoint to the VM Go server that proxies HTTP requests through Chromium's built-in forward proxy (from kernel-browser PR Nukecontainers/#20)chromium-launcherto pass--forward-proxy-port=8888flag to Chromium at startupFORWARD_PROXY_PORTenv config (default 8888)How it works
Client sends
POST /fetch { url, method, headers, body, timeout_ms }→ VM server builds request tohttp://localhost:8888/proxy?url=<target>→ Chromium's forward proxy routes through Chrome's full network stack → response flows back with status, headers, body, duration_ms.Inherits TLS fingerprint, cookies, proxy config, and default headers automatically.
Companion PR
POST /browsers/{id}/fetch)Test plan
🤖 Generated with Claude Code