implement socks5 proxy measurement
This commit is contained in:
31
helpers.js
31
helpers.js
@@ -1,8 +1,24 @@
|
||||
const sortProxyServers = (proxyList) => {
|
||||
return proxyList.sort((proxyServer1, proxyServer2) => {
|
||||
if (proxyServer1 && proxyServer1.timeToFetch && proxyServer2 && proxyServer2.timeToFetch) {
|
||||
return proxyServer1.timeToFetch > proxyServer2.timeToFetch ? 1 : -1;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const selectBestProxies = (proxyList) => {
|
||||
return proxyList;
|
||||
}
|
||||
|
||||
const cleanProxyServers = (proxyList) => {
|
||||
return proxyList.filter(proxyServer => proxyServer && proxyServer.timeToFetch);
|
||||
}
|
||||
|
||||
const convertProxyListToString = (proxyList) => {
|
||||
if (Array.isArray(proxyList)){
|
||||
let result = '';
|
||||
proxyList.forEach(proxyServer => {
|
||||
result += `[${proxyServer.timeToFetch}]` + proxyServer.address + '\r\n';
|
||||
result += `${proxyServer.address}\r\n`;
|
||||
});
|
||||
return result;
|
||||
}
|
||||
@@ -11,4 +27,15 @@ const convertProxyListToString = (proxyList) => {
|
||||
return '';
|
||||
}
|
||||
|
||||
exports.convertProxyListToString = convertProxyListToString;
|
||||
const timeoutPromise = (timeout) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => { reject('Timeout') }, timeout);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
exports.sortProxyServers = sortProxyServers;
|
||||
exports.selectBestProxies = selectBestProxies;
|
||||
exports.cleanProxyServers = cleanProxyServers;
|
||||
exports.convertProxyListToString = convertProxyListToString;
|
||||
exports.timeoutPromise = timeoutPromise;
|
||||
|
||||
Reference in New Issue
Block a user