In this tutorial, we are going to show you how to create your own private database of proxy servers, how to keep that database updated with working, fast proxies, and how to use another piece of software like ProxyChains in conjunction with your database. At the end of this tutorial, you will have built a system that allows you to use any application behind as many proxies as you choose, that you know will all work. In the next few sections, we’ll explain what a proxy is, and why you should use more that one. Feel free to skip it if you already know.

What is a proxy, really?

In it’s simplest form, a proxy is a server that sits between two other servers, and connects them without allowing them to see each other. Let’s say Alice and Bob are enemies, and Alice wants to access Bob’s website without him knowing. By using a proxy, all of Alice’s requests to Bob’s site appear to Bob to be coming from another source: the proxy. But maybe instead of not wanting Bob to see its her, maybe Alice doesn’t want her parents seeing that she goes on Bob’s site. Again, she can use a proxy. If Alice’s parents look at her web traffic, they’ll see the traffic that is actually going to Bob, going to another IP address: the proxy. In this way, proxies serve as an intermediary between two parties on the internet.

Why should I use more than one proxy?

The majority of the time, using only one proxy is enough. Sometimes however, you might be doing something so secret, that you think your proxy might be compromised. This is where multiple proxies come in. Say you use three proxies, A, B, and C, in that order. A knows who you are, but only sees that you’re accessing IP address B. C sees where you’re going, but only sees that you’re coming from IP address B. B is the most secure in this example, because it knows neither who you are, or where you’re going. By adding more proxies, we have more and more chances for the chain to be broken and untraceable back to us.

Where are these proxies coming from?

One of the biggest and most well known sources for proxy servers is HideMyAss.com. They not only host their own proxy servers, but keep a database of thousands of other proxy servers. The only problem is, to get access to that database, they want you to pay! They also however, offer an auto-updated list of working proxies that can be sorted by speed, country, port, anonymity, and much more. Now that’s all well and good if we want one proxy, or maybe two, but can get annoying for any more than that. Also, anytime we want to use new proxy servers, we have to go back to their site and find them. That can be quite a pain, and part of the program we’re going to write will automatically get those servers for us.

What are we going to do with these proxies?

The easiest way to store large amounts of data easily is a database. As part of our program, we are going to store each proxy, as well as information about it, in our database. This not only allows us to keep a nice neat order to our list, but also means that the other program that we’re going to write can easily read our list and use that information.

How are we going to do all of this?

As you can see, we have a lot of work ahead of us. We’re going to break this down into eight parts. You’re reading part one, the introduction, right now. Part two will be on how we get the information from HideMyAss.com, and put it in a database. Part three will be showing how to code that. Part four will be about how we can keep our list updated, and use it with other applications. Part five will code that. Finally, part six will be a recap, and further ideas of what you can do with what you’ve created.

Where are the other parts?

Part 1 – Introduction

Part 2 – Scraping IP Addresses

Part 3 – TBA

Part 4 – TBA

Part 5 – TBA

Part 6 – TBA