Skip to content

wwwzbwcom/node-global-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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+

This package is develop by typescript and fully support typescript, you can use it as follow:

import proxy from "node-global-rpoxy";

proxy.setConfig("http://localhost:1080");
proxy.start();

API

  • proxy.start() Start using global proxy
  • proxy.stop() Stop using global proxy
  • proxy.setConfig(config : string | NodeGlobalProxyConfig) Set config global proxy by url string or config object
  • proxy.getConfig() Get current config object
  • proxy.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();

About

Friendly Global Proxy for Node.JS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •