node-global-proxy
v1.0.1
Published
A global proxy for Node.JS with friendly API
Downloads
16,252
Readme
Node Global Proxy
Global Proxy for Node.JS with Friendly APIs.
Work with Axios, Request, Got, Superagent etc.
Install
npm install node-global-proxy --save
Introduction
Basic use with Javascript:
const proxy = require("node-global-proxy").default;
proxy.setConfig("localhost:1080");
proxy.start();
/** Proxy working now! */
proxy.stop();
/** Proxy stop working now! */
Also, you can use a config object
const proxy = require("node-global-proxy").default;
proxy.setConfig({
http: "http://localhost:1080",
https: "https://localhost:1080",
});
proxy.start();
/** Proxy working now! */
proxy.stop();
/** Proxy stop working now! */
Use with typescript or es6+
import proxy from "node-global-rpoxy";
proxy.setConfig("http://localhost:1080");
proxy.start();
API
proxy.start()
Start using global proxyproxy.stop()
Stop using global proxyproxy.setConfig(config : string | NodeGlobalProxyConfig)
Set config global proxy by url string or config objectproxy.getConfig()
Get current config objectproxy.system()
Get system config and set as node global proxy
Examples
This is an example with a proxy server run on localhost:10809
, and get ip information from system proxy, no proxy and user config proxy.
const axios = require('axios');
const proxy = require('node-global-proxy').default;
let PROXY_URL = "localhost:10809"
const test = async () => {
console.log(proxy);
proxy.system();
console.log(proxy.getConfig());
res = await axios.get("http://ip-api.com/json", {
timeout: 3000
});
console.log(res.data);
proxy.setConfig(PROXY_URL);
console.log(proxy.getConfig());
proxy.start();
res = await axios.get("http://ip-api.com/json", {
timeout: 3000
});
console.log(res.data);
proxy.stop();
res = await axios.get("http://ip-api.com/json", {
timeout: 3000
});
console.log(res.data);
proxy.setConfig({
http: "http://" + PROXY_URL,
https: "https://" + PROXY_URL
});
console.log(proxy.getConfig());
proxy.start();
res = await axios.get("http://ip-api.com/json", {
timeout: 3000
});
console.log(res.data);
}
test();