A computer-implemented method of checking capabilities and availability of proxy servers comprising: - Accepting, by a supernode, a connection from an exit node for registration at the supernode, wherein the supernode is a computing device within a service provider infrastructure and the exit node is a proxy server external to the service provider infrastructure; - Forming, by the supernode, a benchmark request according to a benchmark test definition described locally at the supernode wherein the benchmark request is a request to reach the benchmark request target and is included in the benchmark test definition, wherein the benchmark request target is a resource submitted to the exit node as an IP address or URL/URI; - Sending by the supernode the benchmark request to the exit node; - Implementing by the exit node the benchmark request, by connecting to the benchmark request target and executing the benchmark request; - Accepting, by the supernode, from the exit node a response to the benchmark request; - Measuring by the supernode an exit node response quality by evaluating if: 1) the response to the benchmark request was received; 2) the exit node is available; 3) the exit node can reach a specific target; and/or 4) the response to the benchmark request was speedy enough to use the exit node as compared to quality threshold defined for the proxy service provider; - Storing by the supernode exit node metadata, together with the exit node response quality measurements to the exit node database; Wherein the benchmark request target is changed dynamically according to results of analyzing a customer's request as monitored, registered, and aggregated by the service provider infrastructure; wherein the measuring of the exit node response quality identifies whether the exit node can be indicated as suitable for proxying or not suitable for proxying. - Accepting, by a supernode, a connection from an exit node for registration at the supernode, wherein the supernode is a computing device within a service provider infrastructure and the exit node is a proxy server external to the service provider infrastructure; - Forming, by the supernode, a benchmark request according to a benchmark test definition described locally at the supernode wherein the benchmark request is a request to reach the benchmark request target and is included in the benchmark test definition, wherein the benchmark request target is a resource submitted to the exit node as an IP address or URL/URI; - Sending by the supernode the benchmark request to the exit node; - Implementing by the exit node the benchmark request, by connecting to the benchmark request target and executing the benchmark request; - Accepting, by the supernode, from the exit node a response to the benchmark request; - Measuring by the supernode an exit node response quality by evaluating if: 1) the response to the benchmark request was received; 2) the exit node is available; 3) the exit node can reach a specific target; and/or 4) the response to the benchmark request was speedy enough to use the exit node as compared to quality threshold defined for the proxy service provider; 1) the response to the benchmark request was received; 2) the exit node is available; 3) the exit node can reach a specific target; and/or 4) the response to the benchmark request was speedy enough to use the exit node as compared to quality threshold defined for the proxy service provider; - Storing by the supernode exit node metadata, together with the exit node response quality measurements to the exit node database; Wherein the benchmark request target is changed dynamically according to results of analyzing a customer's request as monitored, registered, and aggregated by the service provider infrastructure; wherein the measuring of the exit node response quality identifies whether the exit node can be indicated as suitable for proxying or not suitable for proxying. Wherein the benchmark request target is changed dynamically according to results of analyzing a customer's request as monitored, registered, and aggregated by the service provider infrastructure; wherein the measuring of the exit node response quality identifies whether the exit node can be indicated as suitable for proxying or not suitable for proxying.