You need a working proxy for your project? Look no further.
This library provides you with a simple way to get tested and working proxy.
Under the hood it uses the proxy-lists and proxy-verify library and adds some own magic.
Options are directly passed to the proxy-lists library thus all those settings are available, extended by the following options:
const options = {
timeout: 30000,
maxResponse: 3000,
check: {
anonymityLevel: false,
protocols: false,
tunneling: false,
speed: false,
},
};
Sometimes it takes a long time for proxy-lists to finish gathering proxies - if you know you only need a couple of proxies set this timeout to abort proxy gathering early.
By default it will stop after 30 seconds.
The amount of microsecods to wait for test results to return. This can also be used to filter out slow proxies.
This makes only sense in combination with the speed check.
Be careful about setting it too low or a lot of proxies might not pass
This property controls which checks are being applied. Some of the checks require you to pass according parameters to proxy-lists
Check that the proxy matches at least one of the supplied anonymity levels.
Check that the proxy matches at least one of the requested protocols.
Make sure that the proxy supports tunneling. In practical use, this option check if https request can be made through this proxy.
In combination with the maxResponse option this checks that the proxy responds in a certain amount of time.
import { ProxySource } from 'proxy-source';
const options = {
timeout: 60000,
maxResponse: 3000,
check: {
anonymityLevel: false,
protocols: true,
tunneling: true,
},
/* proxy-lists config follows*/
series: false,
protocols: ['http', 'https'],
};
const proxySource = new ProxySource(options);
await proxySource.initialize();
const proxy = await proxySource.get();
Even if no checks are active, the get method will return a proxy that you can at least connect to.
Clone the repository and install the dependencies via yarn:
yarn install
PR requests are very welcome. If you add functionality, make sure that test cases are in place and that they pass locally. Travis might sometimes fail, especially when it comes to calling external API's like it is the case when gathering the proxies.
yarn test