implement socks5 proxy measurement

This commit is contained in:
Bilal
2020-08-20 15:54:39 +03:00
parent ad42e25a25
commit 7adcbe3102
4 changed files with 57 additions and 27 deletions

View File

@@ -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;