Commit Graph
6 Commits
Author SHA1 Message Date
Gregory Schier 47d25f7479 Trim unused axum/tower-http features; 'deploying', not 'self-hosting' 2026-08-17 11:03:58 -07:00
Gregory Schier 679e49d1eb Refuse private ranges unconditionally; the proxy's network is never the user's 2026-08-17 11:00:39 -07:00
Gregory Schier 58d625cc39 Drop the token, host lists and NAT64 prefixes; nothing uses them yet 2026-08-17 10:59:26 -07:00
Gregory Schier 212389cdf8 Apply send cookies as a delta; judge NAT64/6to4 addresses by the IPv4 they carry 2026-08-17 09:39:57 -07:00
Gregory Schier d4007d3499 Generate the proxy wire types with ts-rs (@yaakapp-internal/send-proxy) 2026-08-17 08:43:59 -07:00
Gregory Schier 253b939b34 Add the browser send proxy and web sender
crates-server/yaak-send-proxy: a stateless executor over yaak-http's
HttpTransaction. It takes a rendered request, streams timeline events,
the response head, body chunks and the resulting cookies back as NDJSON,
and keeps nothing. Private/loopback/link-local/metadata ranges are refused
after DNS on every hop (an AddressFilter on the resolver plus a per-hop URL
check), with size caps, a timeout ceiling, a rate limit, host allow/deny
lists and an optional token.

The web host now sends through it: the wasm worker resolves and renders
the request (render_http_request moved into yaak-models so it builds for
wasm; re-exported from its old paths), the tab posts it, and stores what
comes back where the desktop stores it. Requests needing auth plugins or
template functions are refused with the reason until plugins run in the
browser.
2026-08-17 06:51:48 -07:00