HeadlinesBriefing favicon HeadlinesBriefing.com

Rama 0.4 Adds System Proxy and PAC Support

Hacker News •
×

Six weeks after 0.3 — nicely within the promised two-to-eight-week release train window — we are proud to have shipped rama 0.4, a release with tons of improvements plus long-backlog items.

Rama has long supported HTTP, HTTPS and SOCKS5 proxies, configurable via Proxy Routes or env variables like HTTP_PROXY, ALL_PROXY, HTTPS_PROXY and NO_PROXY. With rama 0.4, system-wide proxy settings are supported out of the box via the System Proxy Layer. System configuration also allows dynamic proxy selection using a JavaScript file — Proxy Auto Configuration, or PAC. This required a JavaScript runtime, now shipped via rama-js, running inside a WASM runtime (wasmtime) for isolation. The rama-pac crate lets you evaluate PAC scripts and easily generate scripts routing domains to proxy rules, while the CLI gained rama pac subcommands, including a REPL.

Protocol-wise, rama now supports tRPC via the new rama-ttrpc crate, a lightweight alternative to gRPC running on top of TCP with protobuf contracts. The new rama-grpc-macros crate generates client- and server-side gRPC code without writing proto.

Finally, HAR WebSocket data is now supported, using Chrome as our oracle, and HAR export can stream all HTTP and WS data to disk without buffering the entire stream into memory.