Skip to content

lr2bmail/proxy11-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proxy11

npm Node License: MIT

Official Node.js client for the Proxy11 proxy API.

Use it to fetch fresh proxy lists, filter by country or anonymity type, rotate through proxies, and export simple ip:port files.

Install

npm install proxy11

Quick Start

const { ProxyClient } = require("proxy11");

const client = new ProxyClient("YOUR_API_KEY");

const proxies = await client.get({ limit: 50, country: "us" });
const proxy = await client.random({ proxyType: "anonymous" });
const proxyList = await client.asList({ limit: 100 });

Examples

Get Proxies

const proxies = await client.get({
  limit: 50,
  country: "us",
  proxyType: "anonymous",
  speed: 1.0,
});

Get ip:port List

const proxies = await client.asList({ limit: 50 });
// ["103.152.112.166:8080", "45.77.56.114:4145"]

Random Proxy

const proxy = await client.random({ country: "us" });
const proxyDetails = await client.randomProxy();

Save to File

const count = await client.save("proxies.txt", { country: "us" });
console.log(`saved ${count} proxies`);

Rotator

const rotator = await client.rotator({
  country: "us",
  proxyType: "anonymous",
  autoRefresh: true,
  refreshAfter: 50,
});

for (let i = 0; i < 100; i += 1) {
  const proxy = await rotator.next();
  console.log(proxy);
  // if proxy fails:
  // rotator.markDead(proxy);
}

Error Handling

const { APIError, NoProxiesError, ProxyClient } = require("proxy11");

const client = new ProxyClient("YOUR_API_KEY");

try {
  const proxy = await client.random({ country: "us" });
  console.log(proxy);
} catch (error) {
  if (error instanceof NoProxiesError) {
    console.log("No proxies matched the filters");
  } else if (error instanceof APIError) {
    console.log(`Proxy11 API error: ${error.message}`);
  } else {
    throw error;
  }
}

API

Method Description
get(filters) Return proxy rows as objects
asList(filters) Return proxies as ip:port strings
random(filters) Return one random ip:port proxy
randomProxy(filters) Return one random proxy object
save(path, filters) Save ip:port proxies to a file
rotator(filters) Create an async proxy rotator

Filters

Parameter Type Description
limit number Max proxies to return, capped by your plan
country string Country name or two-letter country code
port number Proxy port
speed number Max response time in seconds
proxyType string anonymous or transparent

Links

License

MIT

About

Node.js client for the Proxy11 proxy API

Topics

Resources

License

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors