Vibeleaderboard
Index / tool
Visit proxyline.dev
Category
Developer Tools
Rank
No. 1482Tools index

Previous survey · No. 1474 ·

Pricing
Open Source
Type
TOOL
Builder
openclaw
GitHub
32 stars
Latest release
v0.3.12
Date

About

Process-global proxy routing for Node.js — declarative rules for forwarding requests through different proxies based on host, header, or process.

What it does

Proxyline puts one reversible networking policy around a Node process. Managed mode requires a chosen HTTP or HTTPS proxy, while ambient mode reads standard proxy environment variables once. It covers built-in HTTP clients, global fetch, Undici, compatible WebSocket clients, and explicit CONNECT tunnels.

Why it's ranked here

The appeal is unusually clear policy behavior across several common Node networking stacks. Managed mode refuses missing or unsupported proxy configuration, reports routing reasons, and restores captured globals during shutdown. That makes it credible for controlled application egress, within its documented process boundary.

What's good

Routing decisions distinguish proxied, direct, and blocked outcomes, with reasons and credential-redacted proxy URLs. Direct exceptions can be process-wide or limited to one asynchronous context. Proxy CA trust stays separate from destination TLS validation. The documented test suite covers tunneling, authentication, bypasses, TLS, WebSockets, fetch, and environment behavior.

Tradeoffs

This is not a sandbox. Raw sockets, DNS, native transports, private transport stacks, and networking references captured before installation can escape its policy. Install order therefore matters. Only one runtime may be active per process, ambient configuration is snapshotted at installation, and the package requires a recent Node release plus a compatible Undici peer dependency.

How to use it well

Use it in Node applications or command-line tools that need consistent proxy behavior across mixed networking clients. Install it before application and plugin imports, keep managed bypasses narrow, inspect reported decisions, and always restore the runtime during tests. Pair it with operating-system egress controls when handling untrusted code. It does not cover raw sockets, DNS policy, or every private transport implementation.

Technical notes+

package.json defines an ESM-only public npm package with TypeScript declarations, Node >=22.19.0, and an Undici >=8.5.0 <9 peer range. src/index.ts exposes the public library surface. src/runtime.ts patches Node HTTP(S), fetch globals, and the Undici dispatcher, while using AsyncLocalStorage for scoped bypasses. src/env.ts snapshots upper- and lowercase proxy variables and implements exact, suffix, wildcard, port, and IPv6 NO_PROXY matching. src/connect.ts validates CONNECT authorities, supports HTTP and HTTPS proxy endpoints, applies abort and timeout handling, caps response headers at 16 KiB, and preserves bytes received after the CONNECT header. src/shared.ts scopes proxy CA loading and strips credentials, query strings, and fragments from reported proxy URLs. docs/testing.md describes unit, integration, package-entrypoint, and coverage-gated testing across Ubuntu, macOS, and Windows.

Observed

License
MIT
Primary language
TypeScript
Packaging
Public ESM-only npm package named @openclaw/proxyline, with TypeScript declarations
Install surface
npm or pnpm, with Undici >=8.5.0 <9 as a peer dependency
Interface
Node.js library API
Platform support
Node.js 22.19.0 or newer
Network surfaces
Node HTTP and HTTPS, global fetch, Undici, compatible WebSocket clients, and explicit HTTP CONNECT tunnels
Test structure
Documented unit, integration, package-entrypoint, end-to-end proxy lab, and coverage-gated tests

Read from README.md, package.json, src/index.ts, src/env.ts, src/types.ts, src/shared.ts, src/connect.ts, src/runtime.ts, src/node-http.ts, src/dispatcher-brand.ts, docs/index.md, docs/modes.md, docs/README.md, docs/testing.md, docs/security.md.

What it can do

  • Route requests through different proxies based on hostname

    HTTP requests and hostname-based routing rulesRequests forwarded through specified proxies

  • Route requests through different proxies based on headers

    HTTP requests and header-based routing rulesRequests forwarded through appropriate proxies

  • Route requests through different proxies based on process context

    HTTP requests and process-based routing rulesRequests forwarded through designated proxies

  • Configure declarative proxy routing rules

    Routing configuration with host, header, or process conditionsActive proxy routing rules for the Node.js process

  • Apply process-global proxy settings

    Node.js application and proxy configurationAll HTTP requests routed through configured proxy system

Tags

proxynodejsroutingopenclawnetworking

Tech Stack

Node.jsTypeScript

Media

proxyline

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.