proxy-agent
Maps proxy protocols to `http.Agent` implementations
Last updated 6 years ago by tootallnate .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install proxy-agent 
SYNC missed versions from official npm registry.

proxy-agent

Maps proxy protocols to http.Agent implementations

This module provides an http.Agent implementation which automatically uses proxy servers based off of the various proxy-related environment variables (HTTP_PROXY, HTTPS_PROXY and NO_PROXY among others).

Which proxy is used for each HTTP request is determined by the proxy-from-env module, so check its documentation for instructions on configuring your environment variables.

An LRU cache is used so that http.Agent instances are transparently re-used for subsequent HTTP requests to the same proxy server.

The currently implemented protocol mappings are listed in the table below:

Protocol Proxy Agent for http requests Proxy Agent for https requests Example
http http-proxy-agent https-proxy-agent http://proxy-server-over-tcp.com:3128
https http-proxy-agent https-proxy-agent https://proxy-server-over-tls.com:3129
socks(v5) socks-proxy-agent socks-proxy-agent socks://username:password@some-socks-proxy.com:9050 (username & password are optional)
socks5 socks-proxy-agent socks-proxy-agent socks5://username:password@some-socks-proxy.com:9050 (username & password are optional)
socks4 socks-proxy-agent socks-proxy-agent socks4://some-socks-proxy.com:9050
pac-* pac-proxy-agent pac-proxy-agent pac+http://www.example.com/proxy.pac

Example

import * as https from 'https';
import { ProxyAgent } from 'proxy-agent';

// The correct proxy `Agent` implementation to use will be determined
// via the `http_proxy` / `https_proxy` / `no_proxy` / etc. env vars
const agent = new ProxyAgent();

// The rest works just like any other normal HTTP request
https.get('https://jsonip.com', { agent }, (res) => {
  console.log(res.statusCode, res.headers);
  res.pipe(process.stdout);
});

API

new ProxyAgent(options?: ProxyAgentOptions)

Creates an http.Agent instance which relies on the various proxy-related environment variables. An LRU cache is used, so the same http.Agent instance will be returned if identical args are passed in.

Current Tags

  • 6.5.0                                ...           latest (19 days ago)

29 Versions

  • 6.5.0                                ...           19 days ago
  • 6.4.0                                ...           10 months ago
  • 6.3.1                                ...           a year ago
  • 6.3.0                                ...           a year ago
  • 6.2.2                                ...           a year ago
  • 6.2.1                                ...           2 years ago
  • 6.2.0                                ...           2 years ago
  • 6.1.2                                ...           2 years ago
  • 6.1.1                                ...           2 years ago
  • 6.1.0                                ...           2 years ago
  • 6.0.0                                ...           2 years ago
  • 5.0.0                                ...           3 years ago
  • 4.0.1                                ...           4 years ago
  • 4.0.0                                ...           4 years ago
  • 3.1.1                                ...           5 years ago
  • 3.1.0                                ...           6 years ago
  • 3.0.3                                ...           6 years ago
  • 3.0.1                                ...           6 years ago
  • 3.0.0                                ...           7 years ago
  • 2.3.1                                ...           7 years ago
  • 2.3.0                                ...           7 years ago
  • 2.2.0                                ...           7 years ago
  • 2.1.0                                ...           7 years ago
  • 2.0.0                                ...           9 years ago
  • 1.1.1                                ...           9 years ago
  • 1.1.0                                ...           11 years ago
  • 1.0.0                                ...           11 years ago
  • 0.0.2                                ...           11 years ago
  • 0.0.1                                ...           11 years ago
Maintainers (1)
Downloads
Total 14
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (8)
Dev Dependencies (5)

© 2010 - cnpmjs.org x YWFE | Home | YWFE