os-proxy-config
v1.1.1
Published
Access the operating system proxy configuration from Node.js, for all platforms
Downloads
3,549
Maintainers
Readme
OS-Proxy-Config
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.