Stop paying for proxies - Learn how to setup your own proxy company

nbsweb

Junior Member
Joined
Jan 5, 2009
Messages
172
Reaction score
78
For those of you who are still paying way too much money on proxies services. This guide is ********* for you.

To start off, setting up a proxy server isn't really that hard if you have:

1. A budget ($100 usd +)

The more you put into it, the more you can get back out. You can also sell back some of your services.



2. A hosting provider that can provide you with the amount of IPS that you need. (You will also need a server)

Get a hosting provider that can give you a Class C Ip Address range. You don't have to, but it is recommended. The more IPS you get, the more it will cost you, BUT you can easily make it back.


3. A server with the right operating system and proxy software.

We would recommend using Centos and Squid. He is a basic setup guide using that:


First you have to install all the basic requirements for Centos and Squid to work.

yum -y groupinstall "Development Tools"

yum -y install rpm-build openjade linuxdoc-tools openldap-devel pam-devel openssl-devel httpd rpm-devel


Then you have to download Squid and install it:

cd /usr/src
wget http://download.fedora.redhat.com/p...ource/SRPMS/squid-3.0.STABLE10-1.fc10.src.rpm
rpm -ivh squid-3.0.STABLE10-1.fc10.src.rpm


You have to now generate and install the rpm file:

cd /usr/src/redhat/SPECS
rpmbuild -bb squid.spec


Now for the next step. You have to install the newly built rpm, which will be found in /usr/src/redhat/RPMS/i386 for i686 and /usr/src/redhat/RPMS/x86_64 for x86_64.

rpm -Uvh /usr/src/redhat/RPMS/i386/squid-3.0.STABLE10-1.i386.rpm


After all of this you now need to do some configuration:

vi /etc/squid/squid.conf

Once you have this file open you need to modify a few things:



1. Configure auth_param (enable ncsa authentication to access the squid server)

FIND:

#auth_param basic program <uncomment and complete this line>
#auth_param basic childred 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours


CHANGE TO:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
auth_param basic childred 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours



2. Create proxy_auth acl (create proxy_auth acl to prompt user/pass to everyone who wants to use the anonymous proxy)

FIND:

#INSERT YOUR OWN RULES(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

CHANGE TO:

#INSERT YOUR OWN RULES(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl ncsaauth proxy_auth REQUIRED
http_access allow ncsaauth



3. Disable Forwarded Client IP (By default squid forwards the client IP to the respective website, but to set up an anonymous proxy we will disable it to hide client IPs and send only IPs which are configured on the squid server.

FIND:

forwarded_for on

CHANGE TO:

forwarded_for off


4. Configure IPs (Now we will generate rules for outgoing IPs, i.e. if anyone connects to any IP of my server, so it will go with the same IP to the destination server. In this way we can connect several clients on different IPs and all IPs act as an anonymous proxy)

FIND:

# TAG: tcp_outgoing_address

CHANGE TO: (add as many IPS as needed and provided by your hosting provider)

# TAG: tcp_outgoing_address
acl ip1 myip 192.168.1.1
tcp_outgoing_address 192.168.1.1 ip1
acl ip2 myip 192.168.1.2
tcp_outgoing_address 192.168.1.2 ip2
acl ip3 myip 192.168.1.3
tcp_outgoing_address 192.168.1.3 ip3
acl ip4 myip 192.168.1.4
tcp_outgoing_address 192.168.1.4 ip4
acl ip5 myip 192.168.1.5
tcp_outgoing_address 192.168.1.5 ip5

Just to let you know, you need to use public ip addresses. 192.168.1.1 is just and example


5. Enable Anonymizer (Anonymous Proxy)

Now you need to put the following at the bottom of your squid.conf file: (when done with that save the file)

request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all


6. Now it's time to create the squid_passwd file, in which you will put your users for authentication using ncsa. To do this, we need the htpasswd command to generate a user/pass. Create the file to hold the usernames and passwords.

RUN THIS COMMAND:

touch /etc/squid/squid_passwd


7. Now we need to Create New User

RUN THIS COMMAND:

htpasswd /etc/squid/squid_passwd proxyadmin

Where /etc/squid/squid_passwd is a file, in which all users go, and proxyadmin is a username which will be added with the password given.


8. Next we need to Update Password

RUN THIS COMMAND:

htpasswd /etc/squid/squid_passwd proxyadmin



9. Run Squid and configure it to run on startup (when you start your server)

RUN THIS:

service squid start
chkconfig squid on


Hope this helps :)

:cool:
 
You can find more help from this site: h0wt0f0rge . c0m/anonymous-proxy-using-squid-3-centos-5.x
 
after this is done you still need a web interface and would somewhat make the process of selling proxies automatic, which i beleive is the tricky part.
 
Not the best instructions nor the most reasonable way to making your own proxies

$100 dollars a month


Their is way cheaper ways to making proxies, let alone easier for newbies

any how good share for people that don't much better

Best of luck
 
really great share, thanks for the technical details you have provided.
 
This is great and very good info however where da F@CK can I get enough proxies on the cheap? Thats the problem I've been having is finding a company with a good block of c class IP's. I want like 200+ to resell...
 
I know of a vendor that charges about $50 for a class c ip address block and you can get a server from them for under $90.

Also one of the famous proxy provider here uses them :)



This is great and very good info however where da F@CK can I get enough proxies on the cheap? Thats the problem I've been having is finding a company with a good block of c class IP's. I want like 200+ to resell...
 
I know of a vendor that charges about $50 for a class c ip address block and you can get a server from them for under $90.

Also one of the famous proxy provider here uses them :)

Is it possible to create a video tutorial for installing squid ?? it would be really a great help.....
 
this looks like an awesome tutorial here. thanks for explaining to us.
 
hey nbsweb pm me with email address I cant pm cuz i dont have 15 posts yet.
 
Does anyone know how to build socks4/5 proxy server for personal use?
What are the Linux packages that we can use to build socks servers?
 
Most of this can ofc be ported directly into other linux systems, e.g. debian based, where you used apt-get to install end e.g. /etc/init.d/squid restart to restart the proxy after new configurations.

Instead of "touch /etc/squid/squid_passwd"

You can just add -c on the first time you run your htpasswd command, e.g.:
"htpasswd -c /etc/squid/squid_passwd proxyadmin"

Also your guide is missing the fact, that each of your ip-users needs to have a password created, so alle your ip1, ip2 etc must go through the same as the proxyadmin user :)
 
Thank you, you saved me some research. This was on my TODO list. :)
 
This doesnt seem to work. Does anyone know why?


Starting squid: [FAILED]
2010/12/10 12:50:58| Processing Configuration File: /etc/squid/squid.conf (depth 0)
2010/12/10 12:50:58| Can't use proxy auth because no authentication schemes are fully configured.
FATAL: ERROR: Invalid ACL: acl ncsaauth proxy_auth REQUIRED

Squid Cache (Version 3.0.STABLE10): Terminated abnormally.
CPU Usage: 0.009 seconds = 0.008 user + 0.001 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
 
Back
Top