os-proxy-config
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

OS-Proxy-Config Build Status Available on NPM

Part of HTTP Toolkit: powerful tools for building, testing & debugging HTTP(S)

Access the operating system proxy configuration from Node.js, for all platforms. Use it like so:

import { getSystemProxy } from 'os-proxy-config';

const proxy = await getSystemProxy();

The promise from getSystemProxy resolves to something like:

{
    "proxyUrl": "https://proxy-server:123/",
    "noProxy": ["localhost", "example.com"]
}

The proxyUrl is returned in a format suitable for use with proxy-agent: it might be an HTTP or HTTPS URL (for an HTTP proxy), a socks:// or socks5:// URL for SOCKS proxies, or a pac+http:// URL (or similar) with the address of a PAC file for PAC-configured proxies.

If there's no proxy configured, it will resolve to undefined instead. If something major goes wrong and the settings can't be detected, the promise will be rejected.

This works slightly differently on each platform:

  • On Windows it uses windows-system-proxy, which reads proxy configuration from the registry using registry-js.
  • On Mac it uses mac-system-proxy, which reads proxy configuration using the scutil command-line tool.
  • On Linux it parses the various *_PROXY environment variables.

If you only need one platform, it's probably better to just use one of these approaches directly - this package is designed for use in cross-platform tools.

Package Sidebar

Install

npm i os-proxy-config

Weekly Downloads

139

Version

1.1.1

License

Apache-2.0

Unpacked Size

21.6 kB

Total Files

7

Last publish

Collaborators

  • pimterry